Unshadow floaty

This commit is contained in:
Victor Zverovich 2020-10-20 15:05:00 -07:00
parent 297e0bad8c
commit 27fdb4ead2

View File

@ -1946,8 +1946,8 @@ template <typename Char, typename OutputIt, typename T,
OutputIt write(OutputIt out, T value) { OutputIt write(OutputIt out, T value) {
if (const_check(!is_supported_floating_point(value))) return out; if (const_check(!is_supported_floating_point(value))) return out;
using type = conditional_t<std::is_same<T, long double>::value, double, T>; using floaty = conditional_t<std::is_same<T, long double>::value, double, T>;
using uint = typename dragonbox::float_info<type>::carrier_uint; using uint = typename dragonbox::float_info<floaty>::carrier_uint;
auto bits = bit_cast<uint>(value); auto bits = bit_cast<uint>(value);
auto fspecs = float_specs(); auto fspecs = float_specs();
@ -1958,11 +1958,11 @@ OutputIt write(OutputIt out, T value) {
} }
static const auto specs = basic_format_specs<Char>(); static const auto specs = basic_format_specs<Char>();
uint mask = exponent_mask<type>(); uint mask = exponent_mask<floaty>();
if ((bits & mask) == mask) if ((bits & mask) == mask)
return write_nonfinite(out, std::isinf(value), specs, fspecs); return write_nonfinite(out, std::isinf(value), specs, fspecs);
auto dec = dragonbox::to_decimal(static_cast<type>(value)); auto dec = dragonbox::to_decimal(static_cast<floaty>(value));
return write_float(out, dec, specs, fspecs, static_cast<Char>('.')); return write_float(out, dec, specs, fspecs, static_cast<Char>('.'));
} }