]> Savannah Git Hosting - gnulib.git/commit
bitset: use ffsl to accelerate iterations over set bits
authorAkim Demaille <akim.demaille@gmail.com>
Sat, 14 Nov 2020 15:58:23 +0000 (16:58 +0100)
committerAkim Demaille <akim.demaille@gmail.com>
Sun, 15 Nov 2020 17:00:21 +0000 (18:00 +0100)
commitda9e9d02b83525428340097bc25592b6d23b1dfc
treea7bdb7d01d8b76aa25b4c5080aa67c93d5b3311e
parentac6f2e658614d80ce87a95cd3691dd2856bc821f
bitset: use ffsl to accelerate iterations over set bits

Currently we iterate over words bit by bit.  Instead, we should jump
from set bit to set bit.
Suggested by Bruno Haible.

* modules/bitset: Depend upon ffsl.
* lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
* lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
ChangeLog
lib/bitset/array.c
lib/bitset/base.h
modules/bitset