mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
util/tests: add bitset SHL tests
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321>
This commit is contained in:
parent
6171bc2243
commit
3d3a4b9b01
1 changed files with 76 additions and 0 deletions
|
|
@ -246,6 +246,22 @@ TEST(bitset, test_shr_zero)
|
|||
EXPECT_EQ(BITSET_TEST_RANGE(r, 96, 127), true);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shl_zero)
|
||||
{
|
||||
BITSET_DECLARE(r, 128);
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
|
||||
BITSET_SHL(r, 0);
|
||||
|
||||
EXPECT_EQ(BITSET_TEST(r, 0), true);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 0, 31), true);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 32, 63), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 64, 95), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 96, 127), false);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shr_walking_bit)
|
||||
{
|
||||
BITSET_DECLARE(r, 128);
|
||||
|
|
@ -264,6 +280,24 @@ TEST(bitset, test_shr_walking_bit)
|
|||
EXPECT_EQ(BITSET_TEST_RANGE(r, 96, 127), false);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shl_walking_bit)
|
||||
{
|
||||
BITSET_DECLARE(r, 128);
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
|
||||
for (unsigned int i = 0; i < 128; i++) {
|
||||
EXPECT_EQ(BITSET_TEST(r, i), true);
|
||||
BITSET_SHL(r, 1);
|
||||
}
|
||||
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 0, 31), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 32, 63), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 64, 95), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 96, 127), false);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shr_multiple_words)
|
||||
{
|
||||
BITSET_DECLARE(r, 128);
|
||||
|
|
@ -292,6 +326,34 @@ TEST(bitset, test_shr_multiple_words)
|
|||
EXPECT_EQ(BITSET_TEST(r, 1), true);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shl_multiple_words)
|
||||
{
|
||||
BITSET_DECLARE(r, 128);
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
BITSET_SHL(r, 50);
|
||||
|
||||
EXPECT_EQ(BITSET_TEST(r, 0), false);
|
||||
EXPECT_EQ(BITSET_TEST(r, 50), true);
|
||||
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
BITSET_SHL(r, 80);
|
||||
|
||||
EXPECT_EQ(BITSET_TEST(r, 0), false);
|
||||
EXPECT_EQ(BITSET_TEST(r, 80), true);
|
||||
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
BITSET_SHL(r, 126);
|
||||
|
||||
EXPECT_EQ(BITSET_TEST(r, 0), false);
|
||||
EXPECT_EQ(BITSET_TEST(r, 126), true);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shr_two_words)
|
||||
{
|
||||
BITSET_DECLARE(r, 64);
|
||||
|
|
@ -305,3 +367,17 @@ TEST(bitset, test_shr_two_words)
|
|||
EXPECT_EQ(BITSET_TEST_RANGE(r, 0, 31), true);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 32, 63), false);
|
||||
}
|
||||
|
||||
TEST(bitset, test_shl_two_words)
|
||||
{
|
||||
BITSET_DECLARE(r, 64);
|
||||
|
||||
BITSET_ZERO(r);
|
||||
BITSET_SET(r, 0);
|
||||
BITSET_SHL(r, 50);
|
||||
|
||||
EXPECT_EQ(BITSET_TEST(r, 0), false);
|
||||
EXPECT_EQ(BITSET_TEST(r, 50), true);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 0, 31), false);
|
||||
EXPECT_EQ(BITSET_TEST_RANGE(r, 32, 63), true);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue