cbits 0.1.1
High-performance BitVector C-API & Python binding
|
Packed array of bits with support for rank/select operations. More...
#include <bitvector.h>
Public Attributes | |
uint64_t * | data |
size_t | n_bits |
size_t | n_words |
size_t * | super_rank |
uint16_t * | block_rank |
bool | rank_dirty |
Packed array of bits with support for rank/select operations.
Stores bits in an aligned array of 64-bit words, and maintains auxiliary superblock and block rank tables for constant-time rank queries.
uint16_t* BitVector::block_rank |
Prefix-sum of popcounts at block granularity.
uint64_t* BitVector::data |
Aligned array of 64-bit words storing bits.
size_t BitVector::n_bits |
Total number of bits.
size_t BitVector::n_words |
Number of 64-bit words allocated in data
.
bool BitVector::rank_dirty |
Flag indicating that rank tables need rebuilding.
size_t* BitVector::super_rank |
Prefix-sum of popcounts at superblock granularity.