Lines Matching refs:set
16 #define BITSET_WORD(set, pos) \ argument
17 ( (set)->bits[(pos) / BITSET_BITS] )
23 bitset *set; in bitset_init() local
25 set = malloc(sizeof(*set)); in bitset_init()
26 assert(set); in bitset_init()
28 set->bits = calloc(BITSET_USED(nbits), sizeof(*set->bits)); in bitset_init()
29 set->nbits = nbits; in bitset_init()
31 assert(set->bits); in bitset_init()
33 return set; in bitset_init()
36 void bitset_reset(bitset *set) { in bitset_reset() argument
37 memset(set->bits, 0, BITSET_USED(set->nbits) * sizeof(*set->bits)); in bitset_reset()
40 void bitset_free(bitset *set) { in bitset_free() argument
41 free(set->bits); in bitset_free()
42 free(set); in bitset_free()
45 void bitset_clear_bit(bitset *set, size_t pos) { in bitset_clear_bit() argument
46 if (pos >= set->nbits) { in bitset_clear_bit()
50 BITSET_WORD(set, pos) &= ~BITSET_MASK(pos); in bitset_clear_bit()
53 void bitset_set_bit(bitset *set, size_t pos) { in bitset_set_bit() argument
54 if (pos >= set->nbits) { in bitset_set_bit()
58 BITSET_WORD(set, pos) |= BITSET_MASK(pos); in bitset_set_bit()
61 int bitset_test_bit(bitset *set, size_t pos) { in bitset_test_bit() argument
62 if (pos >= set->nbits) { in bitset_test_bit()
66 return (BITSET_WORD(set, pos) & BITSET_MASK(pos)) != 0; in bitset_test_bit()