C-Utils is a collection of low level speed improved functions for ANSI C
easy but low speed argument parsing
Low level implementation of the BMP file format
Low level implementation of an true false array (bit array)
Low level implementation of an Bool Matrix (preprocessor macro based) (each Bit can be accessed)
some help full debugging stuff
Low level implementation of an Dynamic Array (preprocessor macro based)
Low level implementation of a macro based hash map with double hashing and multiplication method as hash functions
Currently only inserting is supported
Low level implementation of an Array based Heap, macro based for the speed
Low level implementation of an Long Array (preprocessor macro based) Long Array is useful when memory is fragmented and it failed to malloc an long block of free memory, Long Array uses many small memory blocks and let they access you like one long Array.
some memory related functions (get total memory, print bytes)
A simple two dimensional point implementation as a struct and an uint64 which uses the higher 32 bits as y and the lower as x coordinates
Low level 32 bit rand implementation
Implementation of an Red Black Tree, with uint64 keys and void pointer values
Implementation of an improved version of Quicksort, using Inserionsort at a specific min Array length.
Several versions are provided:
- Void-pointer based
- Macro based (25% faster than void-pointer)
- Parallel-void-pointer based (only tested with two cores little bit faster than void-pointer but with more corse it will sure be the fastest version)
Just a bunch of string manipulation functions
With thread clients you can create an among of threads once and give them work without recreating the threads (less syscalls)
A fork, shared memory and sigterm based timeout
Just an until to calculate the difference between two times (timval struct)
Low level implementation of the WAVE-RIFF file format