| 436 | |
| 437 | template <typename UInt> |
| 438 | FMT_CONSTEXPR20 inline auto countl_zero_fallback(UInt n) -> int { |
| 439 | int lz = 0; |
| 440 | constexpr UInt msb_mask = static_cast<UInt>(1) << (num_bits<UInt>() - 1); |
| 441 | for (; (n & msb_mask) == 0; n <<= 1) lz++; |
| 442 | return lz; |
| 443 | } |
| 444 | |
| 445 | FMT_CONSTEXPR20 inline auto countl_zero(uint32_t n) -> int { |
| 446 | #ifdef FMT_BUILTIN_CLZ |