summaryrefslogtreecommitdiffstats
path: root/sys/sys/bitset.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sys/bitset.h')
-rw-r--r--sys/sys/bitset.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/sys/bitset.h b/sys/sys/bitset.h
index 8bc9e3d..566d944 100644
--- a/sys/sys/bitset.h
+++ b/sys/sys/bitset.h
@@ -213,6 +213,21 @@
__bit; \
})
+#define BIT_FLS(_s, p) __extension__ ({ \
+ __size_t __i; \
+ int __bit; \
+ \
+ __bit = 0; \
+ for (__i = __bitset_words((_s)); __i > 0; __i--) { \
+ if ((p)->__bits[__i - 1] != 0) { \
+ __bit = flsl((p)->__bits[__i - 1]); \
+ __bit += (__i - 1) * _BITSET_BITS; \
+ break; \
+ } \
+ } \
+ __bit; \
+})
+
#define BIT_COUNT(_s, p) __extension__ ({ \
__size_t __i; \
int __count; \
OpenPOWER on IntegriCloud