37static inline void zero_all_bits(
BIT_VECTOR array,
size_t length) {
38 for (
size_t index = 0; index < length; index++) {
43static inline void set_all_bits(
BIT_VECTOR array,
size_t length) {
44 for (
size_t index = 0; index < length; index++) {
50 for (
size_t index = 0; index < length; index++) {
51 dest[index] = source[index];
55#define SET_BIT(array, bit) (array[bit / BITSINLONG] |= 1 << (bit & (BITSINLONG - 1)))
57#define reset_bit(array, bit) (array[bit / BITSINLONG] &= ~(1 << (bit & (BITSINLONG - 1))))
59#define test_bit(array, bit) (array[bit / BITSINLONG] & (1 << (bit & (BITSINLONG - 1))))
61static inline size_t WordsInVectorOfSize(
size_t NumBits) {
71static inline void FreeBitVector(
BIT_VECTOR BitVector) {
84static inline BIT_VECTOR NewBitVector(
size_t NumBits) {
85 return new uint32_t[WordsInVectorOfSize(NumBits)];