diff --git a/src/bitlog.hpp b/src/bitlog.hpp index 5d2e398b02f2d774a247f2f3b774b38a6d6a7f3f..c002fc39111927da8f12e5666bb966e2fbddf89b 100644 --- a/src/bitlog.hpp +++ b/src/bitlog.hpp @@ -55,6 +55,15 @@ namespace pyopencl return bitlog2_16(v); } +#if defined(UINT64_MAX) + inline unsigned bitlog2(uint64_t v) + { + if (uint32_t t = v >> 32) + return 32+bitlog2_32(t); + else + return bitlog2_32(v); + } +#else inline unsigned bitlog2(unsigned long v) { #if (ULONG_MAX != 4294967295) @@ -64,6 +73,7 @@ namespace pyopencl #endif return bitlog2_32(v); } +#endif }