Workaround a double-double hexfloat format (#3366)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
This commit is contained in:
committed by
GitHub
parent
bce8d4ed08
commit
97aedeab48
@@ -3344,7 +3344,7 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp<uint128_t> value,
|
||||
}
|
||||
|
||||
// Formats a floating-point number using the hexfloat format.
|
||||
template <typename Float>
|
||||
template <typename Float, FMT_ENABLE_IF(!is_double_double<Float>::value)>
|
||||
FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision,
|
||||
float_specs specs, buffer<char>& buf) {
|
||||
// float is passed as double to reduce the number of instantiations and to
|
||||
@@ -3425,6 +3425,12 @@ FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision,
|
||||
format_decimal<char>(appender(buf), abs_e, detail::count_digits(abs_e));
|
||||
}
|
||||
|
||||
template <typename Float, FMT_ENABLE_IF(is_double_double<Float>::value)>
|
||||
FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision,
|
||||
float_specs specs, buffer<char>& buf) {
|
||||
format_hexfloat(static_cast<double>(value), precision, specs, buf);
|
||||
}
|
||||
|
||||
template <typename Float>
|
||||
FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs,
|
||||
buffer<char>& buf) -> int {
|
||||
|
||||
Reference in New Issue
Block a user