diff options
Diffstat (limited to 'src/util/bitscan.h')
-rw-r--r-- | src/util/bitscan.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/util/bitscan.h b/src/util/bitscan.h index 2d4e46ec0f1..a3f2d414bd6 100644 --- a/src/util/bitscan.h +++ b/src/util/bitscan.h @@ -119,6 +119,17 @@ util_is_power_of_two_or_zero(unsigned v) return (v & (v - 1)) == 0; } +/* Determine if an unsigned value is a power of two. + * + * \note + * Zero is \b not treated as a power of two. + */ +static inline bool +util_is_power_of_two_nonzero(unsigned v) +{ + return v != 0 && (v & (v - 1)) == 0; +} + /* For looping over a bitmask when you want to loop over consecutive bits * manually, for example: * |