Change bit_width(T) to return int rather than T.

This matches std::bit_width().

Bug: chromium:1292951
PiperOrigin-RevId: 468495319
Change-Id: I0e428addb6a7353abbf2063c5c2f5820c3bae789
pull/1254/head
Abseil Team 2 years ago committed by Copybara-Service
parent d06b89b25d
commit 188138facb
  1. 5
      absl/numeric/bits.h

@ -131,10 +131,9 @@ has_single_bit(T x) noexcept {
// fractional part discarded.
template <class T>
ABSL_INTERNAL_CONSTEXPR_CLZ inline
typename std::enable_if<std::is_unsigned<T>::value, T>::type
typename std::enable_if<std::is_unsigned<T>::value, int>::type
bit_width(T x) noexcept {
return std::numeric_limits<T>::digits -
static_cast<unsigned int>(countl_zero(x));
return std::numeric_limits<T>::digits - countl_zero(x);
}
// Returns: If x == 0, 0; otherwise the maximal value y such that

Loading…
Cancel
Save