| 146 | counter_t<6> counter_2[2][256][17]; |
| 147 | |
| 148 | explicit bcm_decoder(std::span<const uint8_t> input_) : input(input_) { |
| 149 | bcm_init_counter_2(counter_2); |
| 150 | #pragma unroll |
| 151 | for (uint32_t i = 0; i < 4; ++i) { |
| 152 | code = (code << 8u) + input[i]; |
| 153 | } |
| 154 | input = input.subspan(4); |
| 155 | } |
| 156 | |
| 157 | template <uint32_t P_LOG> uint32_t decode_bit(const uint32_t p, uint32_t& in_idx) { |
| 158 | const auto mid = uint32_t(low + ((uint64_t(high - low) * p) >> P_LOG)); |
nothing calls this directly
no test coverage detected