Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms

This commit is contained in:
Victor Zverovich 2021-09-26 08:44:05 -07:00
parent 716d69f27e
commit 027fcaf05e
3 changed files with 3 additions and 3 deletions

View File

@ -2676,7 +2676,7 @@ struct float_specs {
bool upper : 1;
bool locale : 1;
bool binary32 : 1;
bool use_grisu : 1;
bool fallback : 1;
bool showpoint : 1;
};

View File

@ -2375,7 +2375,7 @@ FMT_HEADER_ONLY_CONSTEXPR20 int format_float(Float value, int precision,
return -precision;
}
if (!specs.use_grisu) return snprintf_float(value, precision, specs, buf);
if (specs.fallback) return snprintf_float(value, precision, specs, buf);
if (!is_constant_evaluated() && precision < 0) {
// Use Dragonbox for the shortest format.

View File

@ -1995,7 +1995,7 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value,
++precision;
}
if (const_check(std::is_same<T, float>())) fspecs.binary32 = true;
fspecs.use_grisu = is_fast_float<T>();
if (!is_fast_float<T>()) fspecs.fallback = true;
int exp = format_float(promote_float(value), precision, fspecs, buffer);
fspecs.precision = precision;
auto fp = big_decimal_fp{buffer.data(), static_cast<int>(buffer.size()), exp};