Explorar o código

Merge pull request #7695 from Morph1984/is-pow2

common: bit_util: Add IsPow2 helper function
bunnei %!s(int64=4) %!d(string=hai) anos
pai
achega
ef7c50b276
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      src/common/bit_util.h

+ 6 - 0
src/common/bit_util.h

@@ -45,6 +45,12 @@ template <typename T>
     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>
 requires std::is_integral_v<T>
 [[nodiscard]] T NextPow2(T value) {