mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-20 13:23:59 +00:00
perf: Use u64 perfect shuffle version for bit merge/split
Signed-off-by: kinkard <stsiapan.kizim@gmail.com>
This commit is contained in:
committed by
Konstantin Pastbin
parent
f0d813d676
commit
25af0b1ebb
@@ -14,8 +14,16 @@ UNIT_TEST(PerfectShuffle)
|
||||
{
|
||||
// 0010 0001 0100 0000
|
||||
// 0010 0001 1000 1110
|
||||
TEST_EQUAL(bits::PerfectShuffle(557851022), 201547860, ());
|
||||
TEST_EQUAL(bits::PerfectUnshuffle(201547860), 557851022, ());
|
||||
TEST_EQUAL(bits::PerfectShuffle(557851022), 288529443381657684ULL, ());
|
||||
TEST_EQUAL(bits::PerfectUnshuffle(288529443381657684ULL), 557851022, ());
|
||||
|
||||
TEST_EQUAL(bits::PerfectShuffle(0b0), 0b0, ());
|
||||
TEST_EQUAL(bits::PerfectShuffle(0b1), 0b1, ());
|
||||
|
||||
TEST_EQUAL(bits::PerfectShuffle(0b1111111111111111ULL), 0b01010101010101010101010101010101ULL, ());
|
||||
TEST_EQUAL(bits::PerfectUnshuffle(0b01010101010101010101010101010101ULL), 0b1111111111111111ULL, ());
|
||||
TEST_EQUAL(bits::PerfectShuffle(0b00000000000000001111111100000000ULL), 0b01010101010101010000000000000000ULL, ());
|
||||
TEST_EQUAL(bits::PerfectUnshuffle(0b01010101010101010000000000000000ULL), 0b00000000000000001111111100000000ULL, ());
|
||||
}
|
||||
|
||||
UNIT_TEST(BitwiseMerge)
|
||||
|
||||
Reference in New Issue
Block a user