diff --git a/include/fast_float/float_common.h b/include/fast_float/float_common.h index 5bc8c90..172591d 100644 --- a/include/fast_float/float_common.h +++ b/include/fast_float/float_common.h @@ -573,9 +573,9 @@ template fastfloat_really_inline FASTFLOAT_CONSTEXPR20 void to_float(bool negative, adjusted_mantissa am, T &value) { using fastfloat_uint = typename binary_format::equiv_uint; - uint word = (uint)am.mantissa; - word |= uint(am.power2) << binary_format::mantissa_explicit_bits(); - word |= uint(negative) << binary_format::sign_index(); + fastfloat_uint word = (uint)am.mantissa; + word |= fastfloat_uint(am.power2) << binary_format::mantissa_explicit_bits(); + word |= fastfloat_uint(negative) << binary_format::sign_index(); #if FASTFLOAT_HAS_BIT_CAST value = std::bit_cast(word); #else