| 157 | |
| 158 | template <typename INT_T> |
| 159 | std::vector<uint8_t> DeltaEncodeAll(const std::vector<INT_T>& plain, |
| 160 | const std::size_t block_size, const std::size_t miniblock_size) { |
| 161 | const std::size_t miniblocks_in_block = block_size / miniblock_size; |
| 162 | DCHECK(block_size % miniblock_size == 0); |
| 163 | |
| 164 | ParquetDeltaEncoder<INT_T> encoder; |
| 165 | Status init_success = encoder.Init(block_size, miniblocks_in_block); |
| 166 | DCHECK(init_success.ok()); |
| 167 | |
| 168 | std::vector<uint8_t> buffer(encoder.WorstCaseOutputSize(plain.size()), 0); |
| 169 | encoder.NewPage(buffer.data(), buffer.size()); |
| 170 | |
| 171 | for (INT_T value : plain) { |
| 172 | bool success = encoder.Put(value); |
| 173 | DCHECK(success); |
| 174 | } |
| 175 | |
| 176 | int written_bytes = encoder.FinalizePage(); |
| 177 | |
| 178 | buffer.resize(written_bytes); |
| 179 | |
| 180 | return buffer; |
| 181 | } |
| 182 | |
| 183 | template <typename INT_T> |
| 184 | std::pair<std::vector<uint8_t>, int> DictEncodeAll(const std::vector<INT_T>& plain) { |
nothing calls this directly
no test coverage detected