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);

Reply via email to