Merge pull request #7695 from Morph1984/is-pow2
common: bit_util: Add IsPow2 helper function
This commit is contained in:
commit
ef7c50b276
@ -45,6 +45,12 @@ template <typename T>
|
|||||||
return static_cast<u32>(log2_f + static_cast<u64>((value ^ (1ULL << log2_f)) != 0ULL));
|
return static_cast<u32>(log2_f + static_cast<u64>((value ^ (1ULL << log2_f)) != 0ULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
requires std::is_unsigned_v<T>
|
||||||
|
[[nodiscard]] constexpr bool IsPow2(T value) {
|
||||||
|
return std::has_single_bit(value);
|
||||||
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
requires std::is_integral_v<T>
|
requires std::is_integral_v<T>
|
||||||
[[nodiscard]] T NextPow2(T value) {
|
[[nodiscard]] T NextPow2(T value) {
|
||||||
|
Loading…
Reference in New Issue
Block a user