summaryrefslogtreecommitdiff
path: root/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'macros.h')
-rw-r--r--macros.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/macros.h b/macros.h
index 4f9fa192d..ff0fe8936 100644
--- a/macros.h
+++ b/macros.h
@@ -117,6 +117,9 @@ static inline int KillFirstBit2x64(int value)
}
}
+/** returns true if value a has only one bit set to 1 */
+#define HAS_SINGLE_BIT(a) ( ((a) & ((a) - 1)) == 0)
+
/* [min,max), strictly less than */
#define IS_BYTE_INSIDE(a,min,max) ((byte)((a)-(min)) < (byte)((max)-(min)))
#define IS_INT_INSIDE(a,min,max) ((uint)((a)-(min)) < (uint)((max)-(min)))