Commit 9e6e1a81 authored by Jeff Johnson's avatar Jeff Johnson Committed by GitHub

Merge pull request #109 from BorisMansencal/nextHighestPowerOf2bug

correct utils::nextHighestPowerOf2
parents 80314d9f 5b92eeb2
...@@ -61,7 +61,7 @@ static_assert(!isPowerOf2(3333), "isPowerOf2"); ...@@ -61,7 +61,7 @@ static_assert(!isPowerOf2(3333), "isPowerOf2");
template <typename T> template <typename T>
constexpr __host__ __device__ T nextHighestPowerOf2(T v) { constexpr __host__ __device__ T nextHighestPowerOf2(T v) {
return (isPowerOf2(v) ? (T) 2 * v : (1 << (log2(v) + 1))); return (isPowerOf2(v) ? (T) 2 * v : ((T)1 << (log2(v) + 1)));
} }
static_assert(nextHighestPowerOf2(1) == 2, "nextHighestPowerOf2"); static_assert(nextHighestPowerOf2(1) == 2, "nextHighestPowerOf2");
...@@ -73,4 +73,7 @@ static_assert(nextHighestPowerOf2(15) == 16, "nextHighestPowerOf2"); ...@@ -73,4 +73,7 @@ static_assert(nextHighestPowerOf2(15) == 16, "nextHighestPowerOf2");
static_assert(nextHighestPowerOf2(16) == 32, "nextHighestPowerOf2"); static_assert(nextHighestPowerOf2(16) == 32, "nextHighestPowerOf2");
static_assert(nextHighestPowerOf2(17) == 32, "nextHighestPowerOf2"); static_assert(nextHighestPowerOf2(17) == 32, "nextHighestPowerOf2");
static_assert(nextHighestPowerOf2(1536000000u) == 2147483648u, "nextHighestPowerOf2");
static_assert(nextHighestPowerOf2<size_t>(2147483648) == (size_t)4294967296, "nextHighestPowerOf2");
} } } // namespace } } } // namespace
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment