| 72 | compression_strategy_(CompressionStrategy::UNCOMPRESSED) {} |
| 73 | |
| 74 | void BlockSplitBloomFilter::Init(uint32_t num_bytes) { |
| 75 | if (num_bytes < kMinimumBloomFilterBytes) { |
| 76 | num_bytes = kMinimumBloomFilterBytes; |
| 77 | } |
| 78 | |
| 79 | // Get next power of 2 if it is not power of 2. |
| 80 | if ((num_bytes & (num_bytes - 1)) != 0) { |
| 81 | num_bytes = static_cast<uint32_t>(::arrow::bit_util::NextPower2(num_bytes)); |
| 82 | } |
| 83 | |
| 84 | if (num_bytes > kMaximumBloomFilterBytes) { |
| 85 | num_bytes = kMaximumBloomFilterBytes; |
| 86 | } |
| 87 | |
| 88 | num_bytes_ = num_bytes; |
| 89 | PARQUET_ASSIGN_OR_THROW(data_, ::arrow::AllocateBuffer(num_bytes_, pool_)); |
| 90 | memset(data_->mutable_data(), 0, num_bytes_); |
| 91 | |
| 92 | this->hasher_ = std::make_unique<XxHasher>(); |
| 93 | } |
| 94 | |
| 95 | void BlockSplitBloomFilter::Init(const uint8_t* bitset, uint32_t num_bytes) { |
| 96 | DCHECK(bitset != nullptr); |
no test coverage detected