cpp/src/arrow/util/basic_decimal.cc
/// Shift the number in the array right by bits positions.
/// \param array the number to shift, must have length elements
/// \param length the number of entries in the array
/// \param bits the number of bits to shift (0 <= bits < 32)
Shift the number in the array right by bits positions.
\param array the number to shift, must have length elements
\param length the number of entries in the array
\param bits the number of bits to shift (0 <= bits < 32)
Shift the number in the array right by bits positions . \ param array the number to shift must have length elements \ param length the number of entries in the array \ param bits the number of bits to shift ( 0 < = bits < 32 )
static inline void ShiftArrayRight(uint32_t* array, int64_t length, int64_t bits) {
  if (length > 0 && bits != 0) {
    for (int64_t i = length - 1; i > 0; --i) {
      array[i] = (array[i] >> bits) | (array[i - 1] << (32 - bits));
    }
    array[0] >>= bits;
  }
}
static inline void ShiftArrayRight ( uint32_t * array , int64_t length , int64_t bits ) { if ( length > 0 && bits != 0 ) { for ( int64_t i = length - 1 ; i > 0 ; -- i ) { array [ i ] = ( array [ i ] >> bits ) | ( array [ i - 1 ] << ( 32 - bits ) ) ; } array [ 0 ] >>= bits ; } }
Shift the number in the array right by bits positions.
Shift the number in the array right by bits positions .