mirror of
https://github.com/fmtlib/fmt.git
synced 2025-01-10 06:20:09 +00:00
Make to_string work with __float128
This commit is contained in:
parent
b2ea212cd1
commit
7e63b600b6
@ -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 {
|
|||||||
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) {
|
|||||||
|
|
||||||
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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user