Skip to content

Commit 10e8942

Browse files
fsaintjacqueskszucs
authored andcommitted
ARROW-4529: [C++] Add test for BitUtil::RoundDown
Author: François Saint-Jacques <[email protected]> Closes #3646 from fsaintjacques/ARROW-4529-rounddown-test and squashes the following commits: 8f3116b <François Saint-Jacques> reformat. 271d3fd <François Saint-Jacques> ARROW-4529: Add test for BitUtil::RoundDown
1 parent 40b0c88 commit 10e8942

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

cpp/src/arrow/util/bit-util-test.cc

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,26 @@ TEST(BitUtil, RoundUp) {
730730
EXPECT_EQ(BitUtil::RoundUp(100000000000, 10000000000), 100000000000);
731731
}
732732

733+
TEST(BitUtil, RoundDown) {
734+
EXPECT_EQ(BitUtil::RoundDown(0, 1), 0);
735+
EXPECT_EQ(BitUtil::RoundDown(1, 1), 1);
736+
EXPECT_EQ(BitUtil::RoundDown(1, 2), 0);
737+
EXPECT_EQ(BitUtil::RoundDown(6, 2), 6);
738+
EXPECT_EQ(BitUtil::RoundDown(5, 7), 0);
739+
EXPECT_EQ(BitUtil::RoundDown(10, 7), 7);
740+
EXPECT_EQ(BitUtil::RoundDown(7, 3), 6);
741+
EXPECT_EQ(BitUtil::RoundDown(9, 9), 9);
742+
EXPECT_EQ(BitUtil::RoundDown(10000000001, 10), 10000000000);
743+
EXPECT_EQ(BitUtil::RoundDown(10, 10000000000), 0);
744+
EXPECT_EQ(BitUtil::RoundDown(100000000000, 10000000000), 100000000000);
745+
746+
for (int i = 0; i < 100; i++) {
747+
for (int j = 1; j < 100; j++) {
748+
EXPECT_EQ(BitUtil::RoundDown(i, j), i - (i % j));
749+
}
750+
}
751+
}
752+
733753
TEST(BitUtil, TrailingBits) {
734754
EXPECT_EQ(BitUtil::TrailingBits(BOOST_BINARY(1 1 1 1 1 1 1 1), 0), 0);
735755
EXPECT_EQ(BitUtil::TrailingBits(BOOST_BINARY(1 1 1 1 1 1 1 1), 1), 1);

0 commit comments

Comments
 (0)