summaryrefslogtreecommitdiffstats
path: root/src/tests/common/bit_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/common/bit_utils.cpp')
-rw-r--r--src/tests/common/bit_utils.cpp39
1 files changed, 10 insertions, 29 deletions
diff --git a/src/tests/common/bit_utils.cpp b/src/tests/common/bit_utils.cpp
index 77c17c526..479b5995a 100644
--- a/src/tests/common/bit_utils.cpp
+++ b/src/tests/common/bit_utils.cpp
@@ -8,35 +8,16 @@
namespace Common {
-inline u32 CTZ32(u32 value) {
- u32 count = 0;
- while (((value >> count) & 0xf) == 0 && count < 32)
- count += 4;
- while (((value >> count) & 1) == 0 && count < 32)
- count++;
- return count;
-}
-
-inline u64 CTZ64(u64 value) {
- u64 count = 0;
- while (((value >> count) & 0xf) == 0 && count < 64)
- count += 4;
- while (((value >> count) & 1) == 0 && count < 64)
- count++;
- return count;
-}
-
-
-TEST_CASE("BitUtils", "[common]") {
- REQUIRE(Common::CountTrailingZeroes32(0) == CTZ32(0));
- REQUIRE(Common::CountTrailingZeroes64(0) == CTZ64(0));
- REQUIRE(Common::CountTrailingZeroes32(9) == CTZ32(9));
- REQUIRE(Common::CountTrailingZeroes32(8) == CTZ32(8));
- REQUIRE(Common::CountTrailingZeroes32(0x801000) == CTZ32(0x801000));
- REQUIRE(Common::CountTrailingZeroes64(9) == CTZ64(9));
- REQUIRE(Common::CountTrailingZeroes64(8) == CTZ64(8));
- REQUIRE(Common::CountTrailingZeroes64(0x801000) == CTZ64(0x801000));
- REQUIRE(Common::CountTrailingZeroes64(0x801000000000UL) == CTZ64(0x801000000000UL));
+TEST_CASE("BitUtils::CountTrailingZeroes", "[common]") {
+ REQUIRE(Common::CountTrailingZeroes32(0) == 32);
+ REQUIRE(Common::CountTrailingZeroes64(0) == 64);
+ REQUIRE(Common::CountTrailingZeroes32(9) == 0);
+ REQUIRE(Common::CountTrailingZeroes32(8) == 3);
+ REQUIRE(Common::CountTrailingZeroes32(0x801000) == 12);
+ REQUIRE(Common::CountTrailingZeroes64(9) == 0);
+ REQUIRE(Common::CountTrailingZeroes64(8) == 3);
+ REQUIRE(Common::CountTrailingZeroes64(0x801000) == 12);
+ REQUIRE(Common::CountTrailingZeroes64(0x801000000000UL) == 36);
}
} // namespace Common