Skip to content

Commit 6e5c7a2

Browse files
committed
Mandatory BitPackedDecoder num_values
1 parent 7dc5354 commit 6e5c7a2

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

cpp/src/arrow/util/rle_encoding_internal.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -599,21 +599,17 @@ class BitPackedDecoder : private BitPackedRunDecoder<T> {
599599
/// @param value_bit_width is the size in bits of each encoded value.
600600
/// @param value_count is an optional number of values in the run.
601601
BitPackedDecoder(const uint8_t* data, rle_size_t data_size, rle_size_t value_bit_width,
602-
rle_size_t value_count = -1) noexcept {
602+
rle_size_t value_count) noexcept {
603603
Reset(data, data_size, value_bit_width, value_count);
604604
}
605605

606606
void Reset(const uint8_t* data, rle_size_t data_size, rle_size_t value_bit_width,
607-
rle_size_t value_count = -1) noexcept {
607+
rle_size_t value_count) noexcept {
608+
ARROW_DCHECK_GE(value_count, 0);
608609
ARROW_DCHECK_GE(value_bit_width, 0);
609610
ARROW_DCHECK_LE(value_bit_width, 64);
610611

611612
value_bit_width_ = value_bit_width;
612-
if (value_count < 0) {
613-
ARROW_DCHECK_GT(value_bit_width, 0);
614-
const int64_t data_bit_size = static_cast<int64_t>(data_size) * 8;
615-
value_count = static_cast<rle_size_t>(data_bit_size / value_bit_width);
616-
}
617613

618614
ARROW_DCHECK_LE(value_count, std::numeric_limits<rle_size_t>::max());
619615
const auto run = BitPackedRun{

0 commit comments

Comments
 (0)