
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
fast-bitset
Advanced tools
A fast bitset with some nice methods.
##Features
##Installation
npm install fast-bitset --save
##License MIT
##API
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
BitSet
string
BitSet
BitSet
BitSet
number
Array
Boolean
boolean
boolean
string
number
number
number
number
number
number
number
number
Create a new bitset. Accepts either the maximum number of bits, or a dehydrated bitset
Param | Type | Description |
---|---|---|
nBitsOrKey | number | string | Number of bits in the set or dehydrated bitset. For speed and space concerns, the initial number of bits cannot be increased. |
boolean
Check whether a bit at a specific index is set
Kind: instance method of BitSet
Returns: boolean
- true if bit is set, else false
Param | Type | Description |
---|---|---|
idx | number | the position of a single bit to check |
boolean
Set a single bit
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
idx | number | the position of a single bit to set |
boolean
Set a range of bits
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
from | number | the starting index of the range to set |
to | number | the ending index of the range to set |
boolean
Unset a single bit
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
idx | number | the position of a single bit to unset |
boolean
Unset a range of bits
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
from | number | the starting index of the range to unset |
to | number | the ending index of the range to unset |
boolean
Toggle a single bit
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
idx | number | the position of a single bit to toggle |
boolean
Toggle a range of bits
Kind: instance method of BitSet
Returns: boolean
- true if set was successful, else false
Param | Type | Description |
---|---|---|
from | number | the starting index of the range to toggle |
to | number | the ending index of the range to toggle |
boolean
Clear an entire bitset
Kind: instance method of BitSet
Returns: boolean
- true
BitSet
Clone a bitset
Kind: instance method of BitSet
Returns: BitSet
- an copy (by value) of the calling bitset
string
Turn the bitset into a comma separated string that skips leading & trailing 0 words. Ends with the number of leading 0s and MAX_BIT. Useful if you need the bitset to be an object key (eg dynamic programming). Can rehydrate by passing the result into the constructor
Kind: instance method of BitSet
Returns: string
- representation of the bitset
BitSet
Perform a bitwise AND on 2 bitsets or 1 bitset and 1 index. Both bitsets must have the same number of words, no length check is performed to prevent and overflow.
Kind: instance method of BitSet
Returns: BitSet
- a new bitset that is the bitwise AND of the two
Param | Type | Description |
---|---|---|
bsOrIdx | BitSet | Number | a bitset or single index to check (useful for LP, DP problems) |
BitSet
Perform a bitwise OR on 2 bitsets or 1 bitset and 1 index. Both bitsets must have the same number of words, no length check is performed to prevent and overflow.
Kind: instance method of BitSet
Returns: BitSet
- a new bitset that is the bitwise OR of the two
Param | Type | Description |
---|---|---|
bsOrIdx | BitSet | Number | a bitset or single index to check (useful for LP, DP problems) |
BitSet
Perform a bitwise XOR on 2 bitsets or 1 bitset and 1 index. Both bitsets must have the same number of words, no length check is performed to prevent and overflow.
Kind: instance method of BitSet
Returns: BitSet
- a new bitset that is the bitwise XOR of the two
Param | Type | Description |
---|---|---|
bsOrIdx | BitSet | Number | a bitset or single index to check (useful for LP, DP problems) |
Run a custom function on every set bit. Faster than iterating over the entire bitset with a get()
Source code includes a nice pattern to follow if you need to break the for-loop early
Kind: instance method of BitSet
Param | Type | Description |
---|---|---|
func | function | the function to pass the next set bit to |
number
Get the cardinality (count of set bits) for the entire bitset
Kind: instance method of BitSet
Returns: number
- cardinality
Array
Get the indices of all set bits. Useful for debugging, uses forEach
internally
Kind: instance method of BitSet
Returns: Array
- Indices of all set bits
Boolean
Checks if one bitset is subset of another. Same thing can be done using and operation and equality check, but then new BitSet would be created, and if one is only interested in yes/no information it would be a waste of memory and additional GC strain.
Kind: instance method of BitSet
Returns: Boolean
- true
if provided bitset is a subset of this bitset, false
otherwise
Param | Type | Description |
---|---|---|
bs | BitSet | a bitset to check |
boolean
Quickly determine if a bitset is empty
Kind: instance method of BitSet
Returns: boolean
- true if the entire bitset is empty, else false
boolean
Quickly determine if both bitsets are equal (faster than checking if the XOR of the two is === 0). Both bitsets must have the same number of words, no length check is performed to prevent and overflow.
Kind: instance method of BitSet
Returns: boolean
- true if the entire bitset is empty, else false
Param | Type |
---|---|
bs | BitSet |
string
Get a string representation of the entire bitset, including leading 0s (useful for debugging)
Kind: instance method of BitSet
Returns: string
- a base 2 representation of the entire bitset
number
Find first set bit (useful for processing queues, breadth-first tree searches, etc.)
Kind: instance method of BitSet
Returns: number
- the index of the first set bit in the bitset, or -1 if not found
Param | Type | Description |
---|---|---|
_startWord | number | the word to start with (only used internally by nextSetBit) |
number
Find first zero (unset bit)
Kind: instance method of BitSet
Returns: number
- the index of the first unset bit in the bitset, or -1 if not found
Param | Type | Description |
---|---|---|
_startWord | number | the word to start with (only used internally by nextUnsetBit) |
number
Find last set bit
Kind: instance method of BitSet
Returns: number
- the index of the last set bit in the bitset, or -1 if not found
Param | Type | Description |
---|---|---|
_startWord | number | the word to start with (only used internally by previousSetBit) |
number
Find last zero (unset bit)
Kind: instance method of BitSet
Returns: number
- the index of the last unset bit in the bitset, or -1 if not found
Param | Type | Description |
---|---|---|
_startWord | number | the word to start with (only used internally by previousUnsetBit) |
number
Find first set bit, starting at a given index
Kind: instance method of BitSet
Returns: number
- the index of the next set bit >= idx, or -1 if not found
Param | Type | Description |
---|---|---|
idx | number | the starting index for the next set bit |
number
Find first unset bit, starting at a given index
Kind: instance method of BitSet
Returns: number
- the index of the next unset bit >= idx, or -1 if not found
Param | Type | Description |
---|---|---|
idx | number | the starting index for the next unset bit |
number
Find last set bit, up to a given index
Kind: instance method of BitSet
Returns: number
- the index of the next unset bit <= idx, or -1 if not found
Param | Type | Description |
---|---|---|
idx | number | the starting index for the next unset bit (going in reverse) |
number
Find last unset bit, up to a given index
Kind: instance method of BitSet
Returns: number
- the index of the next unset bit <= idx, or -1 if not found
Param | Type | Description |
---|---|---|
idx | number | the starting index for the next unset bit (going in reverse) |
FAQs
a fast bitset with some neat methods
The npm package fast-bitset receives a total of 115 weekly downloads. As such, fast-bitset popularity was classified as not popular.
We found that fast-bitset demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.