Browse Source

Revert "tests: kernel: adopt new count_bits util function"

This reverts commit e34270519e.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
pull/87303/head
Emil Gydesen 4 months ago committed by Benjamin Cabé
parent
commit
fadaae42f0
  1. 18
      tests/kernel/common/src/bitarray.c

18
tests/kernel/common/src/bitarray.c

@ -355,13 +355,29 @@ void alloc_and_free_predefined(void) @@ -355,13 +355,29 @@ void alloc_and_free_predefined(void)
"sys_bitarray_alloc() failed bits comparison");
}
static inline size_t count_bits(uint32_t val)
{
/* Implements Brian Kernighan’s Algorithm
* to count bits.
*/
size_t cnt = 0;
while (val != 0) {
val = val & (val - 1);
cnt++;
}
return cnt;
}
size_t get_bitarray_popcnt(sys_bitarray_t *ba)
{
size_t popcnt = 0;
unsigned int idx;
for (idx = 0; idx < ba->num_bundles; idx++) {
popcnt += count_bits(&ba->bundles[idx], sizeof(uint32_t));
popcnt += count_bits(ba->bundles[idx]);
}
return popcnt;

Loading…
Cancel
Save