diff --git a/src/libraries/util/include/util/util.h b/src/libraries/util/include/util/util.h index f46c91a..41ed91b 100644 --- a/src/libraries/util/include/util/util.h +++ b/src/libraries/util/include/util/util.h @@ -6,6 +6,14 @@ namespace util { +constexpr size_t const_log2(size_t n) { + return n < 2 ? 1 : 1 + const_log2(n/2); +} + +constexpr bool is_pow2(size_t n) { + return (n & (n-1)) == 0; +} + // Get the base-2 logarithm of i inline unsigned log2(uint64_t i) { if (i < 2) return 0;