inline constexpr T integral_reverse()

in fatal/math/impl/numerics.h [66:80]


inline constexpr T integral_reverse(
  T value,
  std::size_t end_phase,
  std::size_t phase,
  T mask
) noexcept {
  return phase == end_phase
    ? value
    : integral_reverse<T>(
      ((value >> phase) & mask) | ((value << phase) & ~mask),
      end_phase,
      phase >> 1,
      mask ^ (T(mask << (phase >> 1)))
    );
}