summaryrefslogtreecommitdiff
path: root/src/support/bits.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/support/bits.cpp')
-rw-r--r--src/support/bits.cpp8
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: