chriso / bitset

A compressed bitset with supporting data structures and algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bitset

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.

Installation

$ ./configure
$ make
$ sudo make install

Tests

Tests and benchmarks can be run with

$ make check

There's also a stress test available:

$ cd test
$ make stress && ./stress

Credits

The symbol in the logo is from the helveticons library

License

LGPL - Copyright (c) 2013 Chris O'Hara cohara87@gmail.com

About

A compressed bitset with supporting data structures and algorithms


Languages

Language:C 99.5%Language:C++ 0.5%Language:Shell 0.1%