An endless and fast bitset with some nice methods.
This is a wrapper around mattkrick's fast-bitset that allows for unlimited sizes.
It uses big-integer to access the higher indexes (but should work with plain old JS numbers for smaller indexes).
With yarn:
yarn add endless-bitset
Or with npm:
npm install endless-bitset --save
It's supposed to re-implement all methods from fast-bitset (they are a good selection), but I did just the ones I needed so far.
Technically, I guess it's limited by your RAM, your spare processing time and your call stack. But should be sufficient for most purposes.
Currently implemented are these methods from the original API:
- BitSet
- new BitSet(nBitsOrKey) : only for integer or bitInt parameters
- .get(idx) ⇒
boolean
- .set(idx) ⇒
boolean
- .unset(idx) ⇒
boolean
- .setRange(from, to) ⇒
boolean
- .nextUnsetBit(idx) ⇒
number
I also added this property:
- BitSet
- length ⇒
integer
: returns the max length, exactly as specified in the constructor
- length ⇒
For the complete documentation, visit fast-bitset's readme.