early-access version 2227

This commit is contained in:
pineappleEA
2021-11-21 02:53:04 +01:00
parent 8a26d6cb85
commit 00b81fba84
18 changed files with 129 additions and 310 deletions

View File

@@ -7,6 +7,7 @@
#include <bit>
#include <climits>
#include <cstddef>
#include <type_traits>
#include "common/common_types.h"
@@ -44,4 +45,10 @@ template <typename T>
return static_cast<u32>(log2_f + static_cast<u64>((value ^ (1ULL << log2_f)) != 0ULL));
}
template <typename T>
requires std::is_integral_v<T>
[[nodiscard]] T NextPow2(T value) {
return static_cast<T>(1ULL << ((8U * sizeof(T)) - std::countl_zero(value - 1U)));
}
} // namespace Common