mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-27 04:20:06 +00:00
Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms
This commit is contained in:
parent
716d69f27e
commit
027fcaf05e
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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};
|
||||
|
Loading…
Reference in New Issue
Block a user