This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 0558387  Update dist/ for commit 
fb43002edecfeeb5cd536f64ec35d310d6715ee7
0558387 is described below

commit 0558387eea207b2e0cbbc08438795d59092b155c
Author: GitHub Actions <[email protected]>
AuthorDate: Thu Sep 29 15:42:17 2022 +0000

    Update dist/ for commit fb43002edecfeeb5cd536f64ec35d310d6715ee7
---
 dist/nanoarrow.h | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/dist/nanoarrow.h b/dist/nanoarrow.h
index 32fe9dc..dcd9487 100644
--- a/dist/nanoarrow.h
+++ b/dist/nanoarrow.h
@@ -20,7 +20,7 @@
 
 // #define NANOARROW_NAMESPACE YourNamespaceHere
 
-#define NANOARROW_BUILD_ID "gha714e250e36455bb8d22b088681d337404bf22b11"
+#define NANOARROW_BUILD_ID "ghafb43002edecfeeb5cd536f64ec35d310d6715ee7"
 
 #endif
 // Licensed to the Apache Software Foundation (ASF) under one
@@ -1481,17 +1481,20 @@ static inline int64_t ArrowBitCountSet(const uint8_t* 
bits, int64_t start_offset
   const int64_t bytes_begin = i_begin / 8;
   const int64_t bytes_end = i_end / 8 + 1;
 
-  const uint8_t first_byte_mask = _ArrowkPrecedingBitmask[i_begin % 8];
-  const uint8_t last_byte_mask = _ArrowkTrailingBitmask[i_end % 8];
-
   if (bytes_end == bytes_begin + 1) {
     // count bits within a single byte
+    const uint8_t first_byte_mask = _ArrowkPrecedingBitmask[i_end % 8];
+    const uint8_t last_byte_mask = _ArrowkTrailingBitmask[i_begin % 8];
+
     const uint8_t only_byte_mask =
-        i_end % 8 == 0 ? first_byte_mask : (uint8_t)(first_byte_mask | 
last_byte_mask);
+        i_end % 8 == 0 ? first_byte_mask : (uint8_t)(first_byte_mask & 
last_byte_mask);
+
     const uint8_t byte_masked = bits[bytes_begin] & only_byte_mask;
     return _ArrowkBytePopcount[byte_masked];
   }
 
+  const uint8_t first_byte_mask = _ArrowkPrecedingBitmask[i_begin % 8];
+  const uint8_t last_byte_mask = _ArrowkTrailingBitmask[i_end % 8];
   int64_t count = 0;
 
   // first byte

Reply via email to