+5
-5
lines changedFilter options
+5
-5
lines changed Original file line number Diff line number Diff line change
@@ -2293,21 +2293,21 @@ FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& fp,
2293
2293
}
2294
2294
}
2295
2295
2296
+
template <typename T> constexpr bool isnan(T value) {
2297
+
return !(value >= value); // std::isnan doesn't support __float128.
2298
+
}
2299
+
2296
2300
template <typename T, FMT_ENABLE_IF(std::is_floating_point<T>::value &&
2297
2301
!is_float128<T>::value)>
2298
2302
FMT_CONSTEXPR20 bool isfinite(T value) {
2299
-
if (is_constant_evaluated()) return value - value == 0;
2303
+
if (is_constant_evaluated()) return !isnan(value - value);
2300
2304
return std::isfinite(value);
2301
2305
}
2302
2306
template <typename T, FMT_ENABLE_IF(is_float128<T>::value)>
2303
2307
constexpr bool isfinite(T value) {
2304
2308
return value - value == 0; // std::isfinite doesn't support __float128.
2305
2309
}
2306
2310
2307
-
template <typename T> constexpr bool isnan(T value) {
2308
-
return value != value; // std::isnan doesn't support __float128.
2309
-
}
2310
-
2311
2311
template <typename T, FMT_ENABLE_IF(is_floating_point<T>::value)>
2312
2312
FMT_INLINE FMT_CONSTEXPR bool signbit(T value) {
2313
2313
if (is_constant_evaluated()) {
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4