An infinite bit-array implementation in JavaScript with high performance and unique features like remembering leading ones on inversion.
BitSet.js is a JavaScript library that implements an infinite bit-array (bit vector) data structure. It allows developers to perform efficient bitwise operations on arbitrarily large bit sequences, with unique features like remembering leading ones when inverted. It solves the problem of handling bit-level data in JavaScript with high performance and flexibility.
JavaScript developers working with binary data, bitwise operations, permissions systems, or low-level data structures that require efficient bit manipulation.
Developers choose BitSet.js because it is the only JavaScript library offering infinite bit-array capabilities with leading-one retention, is heavily benchmarked for top performance, and provides a comprehensive set of bitwise operations in a minimal, compressible package.
The RAW arbitrary size Bit-Vector implementation in JavaScript
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uniquely remembers leading ones after inversion, enabling true infinite bit vectors as stated in the README, which no other JavaScript library offers.
Heavily benchmarked and optimized to be the most performant bit-array implementation, with a focus on speed and efficiency for bitwise operations.
Includes a full suite of bitwise functions like AND, OR, XOR, NOT, flip, set, clear, and range operations, detailed in the functions section of the README.
Accepts multiple input types including strings, arrays, numbers, Uint8Array, and other BitSet objects, making data loading versatile and easy.
When a bitset is inverted with leading ones, the iterator must be manually stopped by the user, which can lead to infinite loops if not carefully managed, as noted in the README.
The README is concise and primarily an API reference, lacking in-depth tutorials, real-world examples, or guidance for complex use cases beyond basic snippets.
Designed as a standalone library without built-in support for popular frameworks or ecosystems, requiring additional setup and customization for modern web development stacks.