From 8bd6feaca5ac15e3375b5631f68013a5a9b336aa Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2022 10:21:21 -0600 Subject: [PATCH] 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 Reviewed-by: Roland Scheidegger cc: mesa-stable Part-of: --- src/util/bitset.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/util/bitset.h b/src/util/bitset.h index c1a3848..55cb5d1 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; -- 2.7.4