cyb70289 commented on a change in pull request #10651:
URL: https://github.com/apache/arrow/pull/10651#discussion_r674651981



##########
File path: cpp/src/arrow/util/basic_decimal.cc
##########
@@ -121,217 +121,238 @@ static const BasicDecimal128 ScaleMultipliersHalf[] = {
     BasicDecimal128(271050543121376108LL, 9257742014424809472ULL),
     BasicDecimal128(2710505431213761085LL, 343699775700336640ULL)};
 
+#define BasicDecimal256FromLE(v1, v2, v3, v4) \
+  BasicDecimal256(BitUtil::FromLittleEndian<uint64_t, 4>(v1, v2, v3, v4))

Review comment:
       Done

##########
File path: cpp/src/arrow/util/basic_decimal.cc
##########
@@ -572,20 +593,23 @@ struct uint128_t {
 
 // Multiplies two N * 64 bit unsigned integer types, represented by a uint64_t
 // array into a same sized output. Elements in the array should be in
-// little endian order, and output will be the same. Overflow in multiplication
+// native endian order, and output will be the same. Overflow in multiplication
 // will result in the lower N * 64 bits of the result being set.
 template <int N>
 inline void MultiplyUnsignedArray(const std::array<uint64_t, N>& lh,
                                   const std::array<uint64_t, N>& rh,
                                   std::array<uint64_t, N>* result) {
+  BitUtil::LittleEndianArrayReader<uint64_t, N> lh_le(lh), rh_le(rh);

Review comment:
       Done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to