| 90 | |
| 91 | template <typename UT> |
| 92 | static uint8_t count_bits(UT x) { |
| 93 | if (x == 0) { return 0; } |
| 94 | if constexpr (std::is_same_v<UT, uint64_t>) { |
| 95 | return 64 - __builtin_clzll(x); |
| 96 | } else { |
| 97 | return 32 - __builtin_clz(x); |
| 98 | } |
| 99 | } |
| 100 | |
| 101 | template <typename ST> |
| 102 | static uint8_t count_bits(ST max, ST min) { |
nothing calls this directly
no test coverage detected