summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Wunkolo2022-02-23 10:08:32 -0800
committerGravatar Wunkolo2022-03-09 13:57:47 -0800
commitadd2cfcb96d75cd16f7b0bf554bb30d97e720111 (patch)
treeb22ac59aba9c26fae3e4dfbd0aa031efbeb3e493 /src
parentMerge pull request #7975 from bunnei/ldr-fix (diff)
downloadyuzu-add2cfcb96d75cd16f7b0bf554bb30d97e720111.tar.gz
yuzu-add2cfcb96d75cd16f7b0bf554bb30d97e720111.tar.xz
yuzu-add2cfcb96d75cd16f7b0bf554bb30d97e720111.zip
bit_util: Add `bit` utility function
Extracts a singular bit, as a bool, from the specified compile-time index.
Diffstat (limited to '')
-rw-r--r--src/common/bit_util.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/bit_util.h b/src/common/bit_util.h
index f50d3308a..f37538e06 100644
--- a/src/common/bit_util.h
+++ b/src/common/bit_util.h
@@ -57,4 +57,11 @@ requires std::is_integral_v<T>
57 return static_cast<T>(1ULL << ((8U * sizeof(T)) - std::countl_zero(value - 1U))); 57 return static_cast<T>(1ULL << ((8U * sizeof(T)) - std::countl_zero(value - 1U)));
58} 58}
59 59
60template <size_t bit_index, typename T>
61requires std::is_integral_v<T>
62[[nodiscard]] constexpr bool Bit(const T value) {
63 static_assert(bit_index < BitSize<T>(), "bit_index must be smaller than size of T");
64 return ((value >> bit_index) & T(1)) == T(1);
65}
66
60} // namespace Common 67} // namespace Common