This is an automated email from the ASF dual-hosted git repository.
kszucs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 10e8942 ARROW-4529: [C++] Add test for BitUtil::RoundDown
10e8942 is described below
commit 10e8942990a48fe96ce87ac2faff12648cf2a307
Author: François Saint-Jacques <[email protected]>
AuthorDate: Fri Feb 15 13:02:16 2019 +0100
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:
8f3116b8 <François Saint-Jacques> reformat.
271d3fdb <François Saint-Jacques> ARROW-4529: Add test for
BitUtil::RoundDown
---
cpp/src/arrow/util/bit-util-test.cc | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/cpp/src/arrow/util/bit-util-test.cc
b/cpp/src/arrow/util/bit-util-test.cc
index 71585cd..e8f32d2 100644
--- a/cpp/src/arrow/util/bit-util-test.cc
+++ b/cpp/src/arrow/util/bit-util-test.cc
@@ -730,6 +730,26 @@ TEST(BitUtil, RoundUp) {
EXPECT_EQ(BitUtil::RoundUp(100000000000, 10000000000), 100000000000);
}
+TEST(BitUtil, RoundDown) {
+ EXPECT_EQ(BitUtil::RoundDown(0, 1), 0);
+ EXPECT_EQ(BitUtil::RoundDown(1, 1), 1);
+ EXPECT_EQ(BitUtil::RoundDown(1, 2), 0);
+ EXPECT_EQ(BitUtil::RoundDown(6, 2), 6);
+ EXPECT_EQ(BitUtil::RoundDown(5, 7), 0);
+ EXPECT_EQ(BitUtil::RoundDown(10, 7), 7);
+ EXPECT_EQ(BitUtil::RoundDown(7, 3), 6);
+ EXPECT_EQ(BitUtil::RoundDown(9, 9), 9);
+ EXPECT_EQ(BitUtil::RoundDown(10000000001, 10), 10000000000);
+ EXPECT_EQ(BitUtil::RoundDown(10, 10000000000), 0);
+ EXPECT_EQ(BitUtil::RoundDown(100000000000, 10000000000), 100000000000);
+
+ for (int i = 0; i < 100; i++) {
+ for (int j = 1; j < 100; j++) {
+ EXPECT_EQ(BitUtil::RoundDown(i, j), i - (i % j));
+ }
+ }
+}
+
TEST(BitUtil, TrailingBits) {
EXPECT_EQ(BitUtil::TrailingBits(BOOST_BINARY(1 1 1 1 1 1 1 1), 0), 0);
EXPECT_EQ(BitUtil::TrailingBits(BOOST_BINARY(1 1 1 1 1 1 1 1), 1), 1);