#include #include #define BITSET_WORD_BITS (sizeof(bitset_word_t) * 8U) #define BITSET_WORD(idx) ((uintptr_t *)(bits))[(idx) / BITSET_WORD_BITS] #define BITSET_MASK(idx) ((uintptr_t)1 << ((idx) % BITSET_WORD_BITS)) #define BITSET_SET(bits, idx) (BITSET_WORD(idx) |= BITSET_MASK(idx)) #define BITSET_CLEAR(bits, idx) (BITSET_WORD(idx) &= ~BITSET_MASK(idx)) #define BITSET_FLIP(bits, idx) (BITSET_WORD(idx) ^= BITSET_MASK(idx)) #define BITSET_TEST(bits, idx) (!!((BITSET_WORD(idx) & BITSET_MASK(idx)))) /* forces 0/1 */ // #define BITSET_PUT(bits, idx, v) do { if (v) BITSET_SET(bits,idx); else BITSET_CLEAR(bits,idx); } while(0) int main(void) { return 0; }