The bitset structure uses word-aligned run-length encoding to compress sets of unsigned integers. 64-bit offsets are supported for very sparse sets. Unlike most succinct data structures which are immutable and append-only, the included bitset structure is mutable after construction.
The library includes a vector abstraction (vector of bitsets) which can be used to represent another dimension such as time. Bitsets are packed together contiguously to improve cache locality.
See the headers for usage details.
$ ./configure
$ make
$ sudo make install
Tests and benchmarks can be run with
$ make check
There's also a stress test available:
$ cd test
$ make stress && ./stress
The symbol in the logo is from the helveticons library
LGPL - Copyright (c) 2013 Chris O'Hara [email protected]