[Mesa-dev] [PATCH 02/13] gallium/util: add util_bit_last - finds the last bit set in a word
Marek Olšák
maraeo at gmail.com
Sat Jul 14 19:35:33 PDT 2012
---
src/gallium/auxiliary/util/u_math.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index f35c35f..90b421e 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -477,6 +477,20 @@ unsigned ffs( unsigned u )
#endif /* FFS_DEFINED */
+/**
+ * Find last bit set in a word. The least significant bit is 1.
+ * Return 0 if no bits are set.
+ */
+static INLINE unsigned util_last_bit(unsigned u)
+{
+ unsigned r = 0;
+ while (u) {
+ r++;
+ u >>= 1;
+ }
+ return r;
+}
+
/* Destructively loop over all of the bits in a mask as in:
*
--
1.7.9.5
More information about the mesa-dev
mailing list