Commit 7e63b600 authored by Victor Zverovich's avatar Victor Zverovich

Make to_string work with __float128

parent b2ea212c
...@@ -128,12 +128,6 @@ FMT_FUNC std::system_error vsystem_error(int error_code, string_view format_str, ...@@ -128,12 +128,6 @@ FMT_FUNC std::system_error vsystem_error(int error_code, string_view format_str,
namespace detail { namespace detail {
#if __cplusplus < 201703L
template <typename T> constexpr uint64_t basic_data<T>::pow10_significands[];
template <typename T> constexpr int16_t basic_data<T>::pow10_exponents[];
template <typename T> constexpr uint64_t basic_data<T>::power_of_10_64[];
#endif
template <typename F> inline bool operator==(basic_fp<F> x, basic_fp<F> y) { template <typename F> inline bool operator==(basic_fp<F> x, basic_fp<F> y) {
return x.f == y.f && x.e == y.e; return x.f == y.f && x.e == y.e;
} }
......
...@@ -1511,6 +1511,12 @@ template <typename T = void> struct basic_data { ...@@ -1511,6 +1511,12 @@ template <typename T = void> struct basic_data {
10000000000000000000ULL}; 10000000000000000000ULL};
}; };
#if __cplusplus < 201703L
template <typename T> constexpr uint64_t basic_data<T>::pow10_significands[];
template <typename T> constexpr int16_t basic_data<T>::pow10_exponents[];
template <typename T> constexpr uint64_t basic_data<T>::power_of_10_64[];
#endif
// This is a struct rather than an alias to avoid shadowing warnings in gcc. // This is a struct rather than an alias to avoid shadowing warnings in gcc.
struct data : basic_data<> {}; struct data : basic_data<> {};
......
...@@ -1982,6 +1982,10 @@ TEST(format_test, to_string) { ...@@ -1982,6 +1982,10 @@ TEST(format_test, to_string) {
enum foo : unsigned char { zero }; enum foo : unsigned char { zero };
EXPECT_EQ(fmt::to_string(zero), "0"); EXPECT_EQ(fmt::to_string(zero), "0");
#if FMT_USE_FLOAT128
EXPECT_EQ(fmt::to_string(__float128(0.42)), "0.42");
#endif
} }
TEST(format_test, output_iterators) { TEST(format_test, output_iterators) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment