bitset: add next_clear_bit() to find the next clear bit

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 69557fa814
commit a5f92e1326
  1. 1
      include/bitset.h
  2. 12
      source/bitset.c

@ -7,3 +7,4 @@ int is_bit_set(uint8_t *set, size_t n);
void set_bit(uint8_t *set, size_t n);
void clear_bit(uint8_t *set, size_t n);
size_t next_set_bit(uint8_t *set, size_t len);
size_t next_clear_bit(uint8_t *set, size_t len);

@ -42,3 +42,15 @@ size_t next_set_bit(uint8_t *set, size_t len)
return SIZE_MAX;
}
size_t next_clear_bit(uint8_t *set, size_t len)
{
size_t n;
for (n = 0; n < len; ++n) {
if (!is_bit_set(set, n))
return n;
}
return SIZE_MAX;
}

Loading…
Cancel
Save