diff options
Diffstat (limited to 'src/support/bits.cpp')
-rw-r--r-- | src/support/bits.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/support/bits.cpp b/src/support/bits.cpp index 992b97955..e60f2365b 100644 --- a/src/support/bits.cpp +++ b/src/support/bits.cpp @@ -152,6 +152,14 @@ template<> int CountLeadingZeroes<uint64_t>(uint64_t v) { #endif } +template<> int CeilLog2<uint32_t>(uint32_t v) { + return 32 - CountLeadingZeroes(v - 1); +} + +template<> int CeilLog2<uint64_t>(uint64_t v) { + return 64 - CountLeadingZeroes(v - 1); +} + uint32_t Log2(uint32_t v) { switch (v) { default: |