FreeBSD Manual Pages
std::numeri...round_style(3) C++ Standard Libary std::numeri...round_style(3) NAME std::numeric_limits::round_style - std::numeric_limits::round_style Synopsis static const std::float_round_style round_style; (until C++11) static constexpr std::float_round_style round_style; (since C++11) The value of std::numeric_limits<T>::round_style identifies the rounding style used by the floating-point type T whenever a value that is not one of the exactly repesentable values of T is stored in an object of that type. Standard specializations T value of std::numeric_lim- its<T>::round_style /* non-specialized */ std::round_toward_zero bool std::round_toward_zero char std::round_toward_zero signed char std::round_toward_zero unsigned char std::round_toward_zero wchar_t std::round_toward_zero char8_t (C++20) std::round_toward_zero char16_t (C++11) std::round_toward_zero char32_t (C++11) std::round_toward_zero short std::round_toward_zero unsigned short std::round_toward_zero int std::round_toward_zero unsigned int std::round_toward_zero long std::round_toward_zero unsigned long std::round_toward_zero long long (C++11) std::round_toward_zero unsigned long long (C++11) std::round_toward_zero float usually std::round_to_nearest double usually std::round_to_nearest long double usually std::round_to_nearest Notes These values are constants, and do not reflect the changes to the rounding made by std::fesetround. The changed values may be obtained from FLT_ROUNDS or std::fegetround. Example The decimal value 0.1 cannot be represented by a binary floating- point type. When stored in an IEEE-754 double, it falls between 0x1.9999999999999*2-4 and 0x1.999999999999a*2-4 . Rounding to nearest representable value results in 0x1.999999999999a*2-4 . Similarly, the decimal value 0.3, which is between 0x1.3333333333333*2-2 and 0x1.3333333333334*2-2 is rounded to nearest and is stored as 0x1.3333333333333*2-2 . // Run this code #include <iostream> #include <limits> int main() { std::cout << std::hexfloat << "The decimal 0.1 is stored in a dou- ble as " << 0.1 << '\n' << "The decimal 0.3 is stored in a double as " << 0.3 << '\n' << "The rounding style is " << std::numeric_limits<dou- ble>::round_style << '\n'; } Output: The decimal 0.1 is stored in a double as 0x1.999999999999ap-4 The decimal 0.3 is stored in a double as 0x1.3333333333333p-2 The rounding style is 1 See also float_round_style indicates floating-point rounding modes (enum) http://cppreference.com 2022.07.31 std::numeri...round_style(3)
NAME | Synopsis | Standard specializations | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::numeric_limits::round_style&sektion=3&manpath=FreeBSD+Ports+15.0>
