Skip to content
/ bitset Public

A compressed bitset with supporting data structures and algorithms

Notifications You must be signed in to change notification settings

chriso/bitset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 [email protected]

About

A compressed bitset with supporting data structures and algorithms

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages