summaryrefslogtreecommitdiffstats
path: root/src/common/bit_util.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-03-10 00:34:42 +0100
committerGitHub <noreply@github.com>2022-03-10 00:34:42 +0100
commit9a97ef46478c999fc1220f0963847667dae795ce (patch)
tree8367047d071fae6c273faf0e6a61120e6c087f05 /src/common/bit_util.h
parentMerge pull request #7975 from bunnei/ldr-fix (diff)
parentcpu_detect: Add missing `lzcnt` detection (diff)
downloadyuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar.gz
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar.bz2
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar.lz
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar.xz
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.tar.zst
yuzu-9a97ef46478c999fc1220f0963847667dae795ce.zip
Diffstat (limited to 'src/common/bit_util.h')
-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>
return static_cast<T>(1ULL << ((8U * sizeof(T)) - std::countl_zero(value - 1U)));
}
+template <size_t bit_index, typename T>
+requires std::is_integral_v<T>
+[[nodiscard]] constexpr bool Bit(const T value) {
+ static_assert(bit_index < BitSize<T>(), "bit_index must be smaller than size of T");
+ return ((value >> bit_index) & T(1)) == T(1);
+}
+
} // namespace Common