Merge pull request #109 from BorisMansencal/nextHighestPowerOf2bug
correct utils::nextHighestPowerOf2pull/123/head
commit
9e6e1a81c4
|
@ -61,7 +61,7 @@ static_assert(!isPowerOf2(3333), "isPowerOf2");
|
|||
|
||||
template <typename T>
|
||||
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");
|
||||
|
@ -73,4 +73,7 @@ static_assert(nextHighestPowerOf2(15) == 16, "nextHighestPowerOf2");
|
|||
static_assert(nextHighestPowerOf2(16) == 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
|
||||
|
|
Loading…
Reference in New Issue