About Social Code
aboutsummaryrefslogtreecommitdiff
path: root/src/util/bitset.h
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2022-05-25 10:21:21 -0600
committerBrian Paul <brianp@vmware.com>2022-07-14 19:16:07 +0000
commit8bd6feaca5ac15e3375b5631f68013a5a9b336aa (patch)
tree59d5b5d03bee194abfef1dbe1b52d2a3f9186fc2 /src/util/bitset.h
parent938767e8351c253c474a4a29c3d67dd3d7308156 (diff)
util/bitset: add BITSET_SIZE()
To get the size (in bits) of a bitset. And minor clean-up in __bitset_ffs(). Signed-off-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062>
Diffstat (limited to 'src/util/bitset.h')
-rw-r--r--src/util/bitset.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/util/bitset.h b/src/util/bitset.h
index c1a3848f78d..55cb5d10977 100644
--- a/src/util/bitset.h
+++ b/src/util/bitset.h
@@ -52,6 +52,7 @@
#define BITSET_EQUAL(x, y) (memcmp( (x), (y), sizeof (x) ) == 0)
#define BITSET_ZERO(x) memset( (x), 0, sizeof (x) )
#define BITSET_ONES(x) memset( (x), 0xff, sizeof (x) )
+#define BITSET_SIZE(x) (8 * sizeof(x)) // bitset size in bits
#define BITSET_BITWORD(b) ((b) / BITSET_WORDBITS)
#define BITSET_BIT(b) (1u << ((b) % BITSET_WORDBITS))
@@ -300,11 +301,9 @@ __bitset_count(const BITSET_WORD *x, unsigned n)
static inline int
__bitset_ffs(const BITSET_WORD *x, int n)
{
- int i;
-
- for (i = 0; i < n; i++) {
+ for (int i = 0; i < n; i++) {
if (x[i])
- return ffs(x[i]) + BITSET_WORDBITS * i;
+ return ffs(x[i]) + BITSET_WORDBITS * i;
}
return 0;