cauldron icon indicating copy to clipboard operation
cauldron copied to clipboard

A collection of single-file C libraries. (generic containers, random number generation, argument parsing and other functionalities)

cauldron

A collection of single-file C libraries and tools with the goal to be portable and modifiable.

Tests

Libraries

library description language
arena-allocator.h drop in arena allocator C
arg.h POSIX compliant argument parser based on plan9's arg(3) C/C++
bench.h micro benchmarking framework C/C++
random.h literate random number library and tutorial (related talk) C/C++
stretchy-buffer.h generic dynamic array C
test.h minimal unit testing C/C++

Tools

Bithacks

  • unsigned division by constants

Random

  • RNG benchmark
  • RNG cli tools: rng, dist
  • generate ziggurat constants
  • Improving Andrew Kensler's permute(): A function for stateless, constant-time pseudorandom-order array iteration

Similar projects

Licensing

For all files without a integrated license LICENSE applies.