fix naive implementation for clzll()

This commit is contained in:
escherstair 2020-08-06 15:55:26 +02:00
parent 58e2964856
commit 7f559ec80a

View File

@ -53,10 +53,10 @@ inline uint32_t clzll(uint64_t x) {
return static_cast<uint32_t>(__builtin_clzll(x)); return static_cast<uint32_t>(__builtin_clzll(x));
#else #else
// naive version // naive version
uint32_t r = 63; uint32_t r = 0;
while (!(x & (static_cast<uint64_t>(1) << 63))) { while (!(x & (static_cast<uint64_t>(1) << 63))) {
x <<= 1; x <<= 1;
--r; ++r;
} }
return r; return r;