bitset: add next_set_bit() to find the next set bit

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

@ -6,3 +6,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);

@ -30,3 +30,15 @@ void clear_bit(uint8_t *set, size_t n)
*word &= ~mask;
}
size_t next_set_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