diff --git a/include/fmt/format.h b/include/fmt/format.h index 9f1178bd..b74d247c 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -1226,8 +1226,8 @@ template FMT_API decimal_fp to_decimal(T x) FMT_NOEXCEPT; template constexpr typename dragonbox::float_info::carrier_uint exponent_mask() { - using uint = typename dragonbox::float_info::carrier_uint; - return ((uint(1) << dragonbox::float_info::exponent_bits) - 1) + using uinty = typename dragonbox::float_info::carrier_uint; + return ((uinty(1) << dragonbox::float_info::exponent_bits) - 1) << dragonbox::float_info::significand_bits; } @@ -1818,18 +1818,18 @@ OutputIt write(OutputIt out, T value) { if (const_check(!is_supported_floating_point(value))) return out; using floaty = conditional_t::value, double, T>; - using uint = typename dragonbox::float_info::carrier_uint; - auto bits = bit_cast(value); + using uinty = typename dragonbox::float_info::carrier_uint; + auto bits = bit_cast(value); auto fspecs = float_specs(); - auto sign_bit = bits & (uint(1) << (num_bits() - 1)); + auto sign_bit = bits & (uinty(1) << (num_bits() - 1)); if (sign_bit != 0) { fspecs.sign = sign::minus; value = -value; } static const auto specs = basic_format_specs(); - uint mask = exponent_mask(); + uinty mask = exponent_mask(); if ((bits & mask) == mask) return write_nonfinite(out, std::isinf(value), specs, fspecs);