Esempio n. 1
0
File: bitset.c Progetto: o11c/nicate
bool bitset_test(BitSet *b, size_t i)
{
    size_t index = bitset_index(i);
    size_t mask = bitset_mask(i);
    size_t *w = &b[index].word;
    return (*w & mask) != 0;
}
Esempio n. 2
0
File: bitset.c Progetto: o11c/nicate
void bitset_unset(BitSet *b, size_t i)
{
    size_t index = bitset_index(i);
    size_t mask = bitset_mask(i);
    size_t *w = &b[index].word;
    *w &= ~mask;
}
Esempio n. 3
0
int bitset_set(void *ptr, int bit){
    unsigned char *b = (unsigned char *)ptr + (bit / CHAR_BIT);
    unsigned char m = bitset_mask(bit);
    if ((*b & m)) return 0;
    *b |= m;
    return 1;
}
Esempio n. 4
0
int bitset_isset(void *ptr, int bit){
    return (bitset_elem(ptr,bit) & bitset_mask(bit)) != 0;
}
Esempio n. 5
0
void bitset_set(bitset *bits, uint64_t bit) {
    *bitset_elem(bits, bit) |= bitset_mask(bits, bit);
}
Esempio n. 6
0
int bitset_isset(bitset *bits, uint64_t bit) {
    return (*bitset_elem(bits, bit) & bitset_mask(bits, bit)) != 0;
}