Bitset
A compressed bitset with supporting data structures and algorithms
Install / Use
/learn @chriso/BitsetREADME

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
Related Skills
openhue
352.5kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
352.5kElevenLabs text-to-speech with mac-style say UX.
weather
352.5kGet current weather and forecasts via wttr.in or Open-Meteo
casdoor
13.3kAn open-source AI-first Identity and Access Management (IAM) /AI MCP & agent gateway and auth server with web UI supporting OpenClaw, MCP, OAuth, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, Google Workspace, Azure AD
