static const bool tinyness_before;
(until C++11)static constexpr bool tinyness_before;
(since C++11)The value of std::numeric_limits<T>::tinyness_before is true for all floating-point types T
that test results of floating-point expressions for underflow before rounding.
T
value of std::numeric_limits<T>::tinyness_before /* non-specialized */ false bool false char false signed char false unsigned char false wchar_t false char8_t (since C++20) false char16_t (since C++11) false char32_t (since C++11) false short false unsigned short false int false unsigned int false long false unsigned long false long long (since C++11) false unsigned long long (since C++11) false float implementation-defined double implementation-defined long double implementation-defined [edit] Notes
Standard-compliant IEEE 754 floating-point implementations are required to detect the floating-point underflow, and have two alternative situations where this can be done
Multiplication of the largest subnormal number by the number one machine epsilon greater than 1.0 gives the tiny value 0x0.fffffffffffff8p-1022 before rounding, but normal value 1p-1022 after rounding. The implementation used to execute this test (IBM Power7) detects tinyness before rounding.
Possible output:
Tinyness before: true Underflow detected 0xf.ffffffffffffp-1030 x 0x1.0000000000001p+0 = 0x1p-1022[edit] See also identifies the floating-point types that detect loss of precision as denormalization loss rather than inexact result
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