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>
|
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");
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue