Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

tinybits

Pascal port of tinybits libraries

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

tinybits

Pascal port of tinybits.

  • [x] Tiny bits and useful snippets.
  • [x] Too simple to become libraries. Just cut & paste.
  • [x] Cross-platform.
  • [x] Public Domain.

status

✓ - done, - - not yet started, x - will not be ported, = - left unchanged

Snippet Status Domain Notes
dtinyarc4.pas ✓ ARC4 stream cypher
dtinyatoi.pas ✓ atoi() replacement
dtinybsearch.pas ✓ Dichotomic binary search
dtinybsearch_generic.pas ✓ Dichotomic binary search
dtinybuild.inc ✓ Build macros
dtinydebug.inc ✓ Debug macros
dtinydir.pas ✓ Recursive directory listing
dtinydixy.pas ✓ Small YAML-subset config file parser
dtinyendian.pas ✓ Endianness conversion FPC already has SwapEndian, NtoLE, NtoBE
dtinyerror.pas ✓ Error handling
dtinygc.pas ✓ Garbage collector Needs faster gc_inuse implementation, now it is ~40x slower than GetMem/FreeMem
dtinyhexbase.pas ✓ Simple binary to ascii encoder
dtinyhexdump.pas ✓ Hexdump viewer
dtinyhuman.pas ✓ De/humanized numbers
dtinyini.pas ✓ Config parser (ini+)
dtinylogger.pas ✓ Session logger
dtinymatch.pas ✓ Wildcard/pattern matching
dtinymime.pas ✓ MIME/file-type detection
dtinypulse.pas ✓ Digital pulses
dtinyroman.pas ✓ Integer to roman literals
dtinystring.pas ✓ String utilities
dtinytga.pas ✓ TGA writer
dtinytime.pas ✓ Timing utilities
dtinytty.pas ✓ Terminal utilities
dtinyuntar.pas ✓ .tar unarchiver
dtinyvariant.pas ✓ Variant class See also FPC's Variant
dtinyvbyte.pas ✓ VLE encoder/decoder (vbyte)
dtinywav.pas ✓ Forked WAV writer
tinydual.sh.bat = Dual bash/batch file
tinyunit.m4 ✓ Unit-testing Need m4 preprocessing, e.g. m4 test_tinyunit.pas4 >t.pas && fpc t.pas
tinyjson5.c - JSON5/SJSON/JSON parser/writer
tinyuniso.cc - .iso/9960 unarchiver
tinyzlib.cpp - zlib inflater
tinybenchmark.hpp x Benchmark code Utilizes non-portable C/C++ syntax
tinydefer.cc x Defer macro, Go style Utilizes non-portable C/C++ syntax
tinyfsm.c x Tight FSM Utilizes non-portable C/C++ syntax
tinylog.h x Logging utilities Utilizes non-portable C/C++ syntax
tinypipe.hpp x Chainable pipes Heavy usage of STL and templates
tinyprint.cc x Comma-based printer Utilizes non-portable C/C++ syntax
tinytodo.cc x TODO() macro Both {$I %DATA%}[1] and string comparison in compile time are not supported in fpc
tinyunzip.cc x .zip unarchiver Depends on stb_image
tinywtf.h x Portable host macros Almost entirely consists of C++-related stuff