STD::NUMERIC_LIMITS(3cxx)
π NAME π
Okay so bestie, welcome to the std::numeric_limits< _Tp >(3cxx) page β thatβs the 3cxx manual name folded right up here so we donβt have to copy the header line like a robot. This one is literally Properties of fundamental types. π
β¨ SYNOPSIS β¨
#include <limits>
Inherits std::__numeric_limits_base.
Inherited by std::numeric_limits< const _Tp >, std::numeric_limits< const volatile _Tp >, and std::numeric_limits< volatile _Tp >.
πΈ Static Public Member Functions πΈ
static constexpr _Tp denorm_min () noexceptβ the teeny-tiny denormalized minimum vibe.static constexpr _Tp epsilon () noexceptβ machine epsilon, coming through.static constexpr _Tp infinity () noexceptβ infinity representation, if the type has one.static constexpr _Tp lowest () noexceptβ lowest finite value energy.static constexpr _Tp max () noexceptβ the maximum finite value, periodt.static constexpr _Tp min () noexceptβ the minimum finite value, or the minimum positive normalized value for floating types with denormalization.static constexpr _Tp quiet_NaN () noexceptβ quiet Not a Number representation, if available.static constexpr _Tp round_error () noexceptβ maximum rounding error measurement, see LIA-1.static constexpr _Tp signaling_NaN () noexceptβ signaling Not a Number representation, if available.
π Static Public Attributes π
static constexpr int digitsβ radix digits that can be represented without change.static constexpr int digits10β base 10 digits that can be represented without change.static constexpr float_denorm_style has_denormβ denormalization style info.static constexpr bool has_denorm_lossβ denormalization loss detection flag.static constexpr bool has_infinityβ infinity representation flag.static constexpr bool has_quiet_NaNβ quiet NaN representation flag.static constexpr bool has_signaling_NaNβ signaling NaN representation flag.static constexpr bool is_boundedβ bounded set of representable values flag.static constexpr bool is_exactβ exact representation flag.static constexpr bool is_iec559β IEC 559 / IEEE 754 adherence flag.static constexpr bool is_integerβ integer type flag.static constexpr bool is_moduloβ modulo type flag.static constexpr bool is_signedβ signed type flag.static constexpr bool is_specializedβ specialization flag.static constexpr int max_digits10β base 10 digits needed to differentiate values.static constexpr int max_exponentβ maximum positive exponent info.static constexpr int max_exponent10β maximum positive base-10 exponent info.static constexpr int min_exponentβ minimum negative exponent info.static constexpr int min_exponent10β minimum negative base-10 exponent info.static constexpr int radixβ base of the representation / exponent representation.static constexpr float_round_style round_styleβ rounding style info.static constexpr bool tinyness_beforeβ tininess-before-rounding flag.static constexpr bool trapsβ trapping implementation flag.
π¦ Detailed Description π¦
template<typename _Tp>
struct std::numeric_limits< _Tp >
This class lets a program obtain information about the representation of a fundamental type on a given platform. For non-fundamental types, the functions will return 0 and the data members will all be false. No cap, thatβs just the rule. π
π Member Function Documentation π
π« denorm_min () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::denorm_min () β tags: [inline], [static], [constexpr], [noexcept].
The minimum positive denormalized value. For types where has_denorm is false, this is the minimum positive normalized value.
π« epsilon () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::epsilon () β tags: [inline], [static], [constexpr], [noexcept].
The machine epsilon: the difference between 1 and the least value greater than 1 that is representable.
Referenced by std::generate_canonical(), std::binomial_distribution< _IntType >::operator()(), std::poisson_distribution< _IntType >::operator()(), and std::operator<<().
π« infinity () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::infinity () β tags: [inline], [static], [constexpr], [noexcept].
The representation of positive infinity, if has_infinity.
π« lowest () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::lowest () β tags: [inline], [static], [constexpr], [noexcept].
A finite value x such that there is no other finite value y where y < x.
Referenced by std::normal_distribution< _RealType >::min(), std::cauchy_distribution< _RealType >::min(), std::student_t_distribution< _RealType >::min(), and std::extreme_value_distribution< _RealType >::min().
π« max () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::max () β tags: [inline], [static], [constexpr], [noexcept].
The maximum finite value.
Referenced by these absolute legends:
std::normal_distribution< _RealType >::max()std::lognormal_distribution< _RealType >::max()std::gamma_distribution< _RealType >::max()std::chi_squared_distribution< _RealType >::max()std::cauchy_distribution< _RealType >::max()std::fisher_f_distribution< _RealType >::max()std::student_t_distribution< _RealType >::max()std::bernoulli_distribution::max()std::geometric_distribution< _IntType >::max()std::negative_binomial_distribution< _IntType >::max()std::poisson_distribution< _IntType >::max()std::exponential_distribution< _RealType >::max()std::weibull_distribution< _RealType >::max()std::extreme_value_distribution< _RealType >::max()std::tr2::dynamic_bitset< _WordT, _Alloc >::max_size()std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()()std::binomial_distribution< _IntType >::operator()()std::poisson_distribution< _IntType >::operator()()std::operator<<()
π« min () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::min () β tags: [inline], [static], [constexpr], [noexcept].
The minimum finite value, or for floating types with denormalization, the minimum positive normalized value.
Referenced by std::bernoulli_distribution::min(), and std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()().
π« quiet_NaN () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN () β tags: [inline], [static], [constexpr], [noexcept].
The representation of a quiet Not a Number, if has_quiet_NaN.
π« round_error () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::round_error () β tags: [inline], [static], [constexpr], [noexcept].
The maximum rounding error measurement (see LIA-1).
π« signaling_NaN () π«
Signature: template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN () β tags: [inline], [static], [constexpr], [noexcept].
The representation of a signaling Not a Number, if has_signaling_NaN.
π Member Data Documentation π
digitsβ signature:constexpr int std::__numeric_limits_base::digitsβ tags:[static],[constexpr],[inherited]. The number of radix digits that be represented without change: for integer types, the number of non-sign bits in the mantissa; for floating types, the number of radix digits in the mantissa.digits10β signature:constexpr int std::__numeric_limits_base::digits10β tags:[static],[constexpr],[inherited]. The number of base 10 digits that can be represented without change.has_denormβ signature:constexpr float_denorm_style std::__numeric_limits_base::has_denormβ tags:[static],[constexpr],[inherited]. Seestd::float_denorm_stylefor more information.has_denorm_lossβ signature:constexpr bool std::__numeric_limits_base::has_denorm_lossβ tags:[static],[constexpr],[inherited]. True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result.has_infinityβ signature:constexpr bool std::__numeric_limits_base::has_infinityβ tags:[static],[constexpr],[inherited]. True if the type has a representation for positive infinity.has_quiet_NaNβ signature:constexpr bool std::__numeric_limits_base::has_quiet_NaNβ tags:[static],[constexpr],[inherited]. True if the type has a representation for a quiet (non-signaling) Not a Number.has_signaling_NaNβ signature:constexpr bool std::__numeric_limits_base::has_signaling_NaNβ tags:[static],[constexpr],[inherited]. True if the type has a representation for a signaling Not a Number.is_boundedβ signature:constexpr bool std::__numeric_limits_base::is_boundedβ tags:[static],[constexpr],[inherited]. True if the set of values representable by the type is finite. All built-in types are bounded, this member would befalsefor arbitrary precision types.is_exactβ signature:constexpr bool std::__numeric_limits_base::is_exactβ tags:[static],[constexpr],[inherited]. True if the type uses an exact representation. All integer types are exact, but not all exact types are integer. For example, rational and fixed-exponent representations are exact but not integer.is_iec559β signature:constexpr bool std::__numeric_limits_base::is_iec559β tags:[static],[constexpr],[inherited]. True if-and-only-if the type adheres to the IEC 559 standard, also known as IEEE 754. (Only makes sense for floating point types.)is_integerβ signature:constexpr bool std::__numeric_limits_base::is_integerβ tags:[static],[constexpr],[inherited]. True if the type is integer.is_moduloβ signature:constexpr bool std::__numeric_limits_base::is_moduloβ tags:[static],[constexpr],[inherited]. True if the type is modulo. A type is modulo if, for any operation involving+,-, or*on values of that type whose result would fall outside the range[min(),max()], the value returned differs from the true value by an integer multiple ofmax() - min() + 1. On most machines, this isfalsefor floating types,truefor unsigned integers, andtruefor signed integers. See PR22200 about signed integers.is_signedβ signature:constexpr bool std::__numeric_limits_base::is_signedβ tags:[static],[constexpr],[inherited]. True if the type is signed.is_specializedβ signature:constexpr bool std::__numeric_limits_base::is_specializedβ tags:[static],[constexpr],[inherited]. This will betruefor all fundamental types (which have specializations), andfalsefor everything else.max_digits10β signature:constexpr int std::__numeric_limits_base::max_digits10β tags:[static],[constexpr],[inherited]. The number of base 10 digits required to ensure that values which differ are always differentiated.max_exponentβ signature:constexpr int std::__numeric_limits_base::max_exponentβ tags:[static],[constexpr],[inherited]. The maximum positive integer such that radix raised to the power of (one less than that integer) is a representable finite floating point number.max_exponent10β signature:constexpr int std::__numeric_limits_base::max_exponent10β tags:[static],[constexpr],[inherited]. The maximum positive integer such that10raised to that power is in the range of representable finite floating point numbers.min_exponentβ signature:constexpr int std::__numeric_limits_base::min_exponentβ tags:[static],[constexpr],[inherited]. The minimum negative integer such that radix raised to the power of (one less than that integer) is a normalized floating point number.min_exponent10β signature:constexpr int std::__numeric_limits_base::min_exponent10β tags:[static],[constexpr],[inherited]. The minimum negative integer such that10raised to that power is in the range of normalized floating point numbers.radixβ signature:constexpr int std::__numeric_limits_base::radixβ tags:[static],[constexpr],[inherited]. For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation.round_styleβ signature:constexpr float_round_style std::__numeric_limits_base::round_styleβ tags:[static],[constexpr],[inherited]. Seestd::float_round_stylefor more information. This is only meaningful for floating types; integer types will all beround_toward_zero.tinyness_beforeβ signature:constexpr bool std::__numeric_limits_base::tinyness_beforeβ tags:[static],[constexpr],[inherited]. True if tininess is detected before rounding. (see IEC 559)trapsβ signature:constexpr bool std::__numeric_limits_base::trapsβ tags:[static],[constexpr],[inherited]. True if trapping is implemented for this type.
π«Ά Author π«Ά
Generated automatically by Doxygen for libstdc++ from the source code.
π Cute little footer sign-off, bestie: source/version vibe is libstdc++, and thereβs no extra date printed on this footer line β so consider this your lovingly timestamped goodbye from the 3cxx page. Mwah! πβ¨
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms