table of contents
std::numeric_limits< _Tp >(3cxx) | std::numeric_limits< _Tp >(3cxx) |
NAME¶
std::numeric_limits< _Tp > - 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
static constexpr _Tp epsilon () noexcept
static constexpr _Tp infinity () noexcept
static constexpr _Tp lowest () noexcept
static constexpr _Tp max () noexcept
static constexpr _Tp min () noexcept
static constexpr _Tp quiet_NaN () noexcept
static constexpr _Tp round_error () noexcept
static constexpr _Tp signaling_NaN () noexcept
Static Public Attributes¶
static constexpr int digits
static constexpr int digits10
static constexpr float_denorm_style has_denorm
static constexpr bool has_denorm_loss
static constexpr bool has_infinity
static constexpr bool has_quiet_NaN
static constexpr bool has_signaling_NaN
static constexpr bool is_bounded
static constexpr bool is_exact
static constexpr bool is_iec559
static constexpr bool is_integer
static constexpr bool is_modulo
static constexpr bool is_signed
static constexpr bool is_specialized
static constexpr int max_digits10
static constexpr int max_exponent
static constexpr int max_exponent10
static constexpr int min_exponent
static constexpr int min_exponent10
static constexpr int radix
static constexpr float_round_style round_style
static constexpr bool tinyness_before
static constexpr bool traps
Detailed Description¶
template<typename _Tp>¶
struct std::numeric_limits< _Tp >"Properties of fundamental types.
This class allows a program to 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.
Member Function Documentation¶
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::denorm_min () [inline], [static], [constexpr], [noexcept]¶
The minimum positive denormalized value. For types where has_denorm is false, this is the minimum positive normalized value.
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::epsilon () [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<<().
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::infinity () [inline], [static], [constexpr], [noexcept]¶
The representation of positive infinity, if has_infinity.
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::lowest () [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().
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::max () [inline], [static], [constexpr], [noexcept]¶
The maximum finite value.
Referenced by 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::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()(), std::binomial_distribution< _IntType >::operator()(), std::poisson_distribution< _IntType >::operator()(), and std::operator<<().
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::min () [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().
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN () [inline], [static], [constexpr], [noexcept]¶
The representation of a quiet Not a Number, if has_quiet_NaN.
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::round_error () [inline], [static], [constexpr], [noexcept]¶
The maximum rounding error measurement (see LIA-1).
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN () [inline], [static], [constexpr], [noexcept]¶
The representation of a signaling Not a Number, if has_signaling_NaN.
Member Data Documentation¶
constexpr int std::__numeric_limits_base::digits [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.
constexpr int std::__numeric_limits_base::digits10 [static], [constexpr], [inherited]¶
The number of base 10 digits that can be represented without change.
constexpr float_denorm_style std::__numeric_limits_base::has_denorm [static], [constexpr], [inherited]¶
See std::float_denorm_style for more information.
constexpr bool std::__numeric_limits_base::has_denorm_loss [static], [constexpr], [inherited]¶
True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result.
constexpr bool std::__numeric_limits_base::has_infinity [static], [constexpr], [inherited]¶
True if the type has a representation for positive infinity.
constexpr bool std::__numeric_limits_base::has_quiet_NaN [static], [constexpr], [inherited]¶
True if the type has a representation for a quiet (non-signaling) Not a Number.
constexpr bool std::__numeric_limits_base::has_signaling_NaN [static], [constexpr], [inherited]¶
True if the type has a representation for a signaling Not a Number.
constexpr bool std::__numeric_limits_base::is_bounded [static], [constexpr], [inherited]¶
True if the set of values representable by the type is finite. All built-in types are bounded, this member would be false for arbitrary precision types.
constexpr bool std::__numeric_limits_base::is_exact [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.
constexpr bool std::__numeric_limits_base::is_iec559 [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.)
constexpr bool std::__numeric_limits_base::is_integer [static], [constexpr], [inherited]¶
True if the type is integer.
constexpr bool std::__numeric_limits_base::is_modulo [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 of max() - min() + 1. On most machines, this is false for floating types, true for unsigned integers, and true for signed integers. See PR22200 about signed integers.
constexpr bool std::__numeric_limits_base::is_signed [static], [constexpr], [inherited]¶
True if the type is signed.
constexpr bool std::__numeric_limits_base::is_specialized [static], [constexpr], [inherited]¶
This will be true for all fundamental types (which have specializations), and false for everything else.
constexpr int std::__numeric_limits_base::max_digits10 [static], [constexpr], [inherited]¶
The number of base 10 digits required to ensure that values which differ are always differentiated.
constexpr int std::__numeric_limits_base::max_exponent [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.
constexpr int std::__numeric_limits_base::max_exponent10 [static], [constexpr], [inherited]¶
The maximum positive integer such that 10 raised to that power is in the range of representable finite floating point numbers.
constexpr int std::__numeric_limits_base::min_exponent [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.
constexpr int std::__numeric_limits_base::min_exponent10 [static], [constexpr], [inherited]¶
The minimum negative integer such that 10 raised to that power is in the range of normalized floating point numbers.
constexpr int std::__numeric_limits_base::radix [static], [constexpr], [inherited]¶
For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation.
constexpr float_round_style std::__numeric_limits_base::round_style [static], [constexpr], [inherited]¶
See std::float_round_style for more information. This is only meaningful for floating types; integer types will all be round_toward_zero.
constexpr bool std::__numeric_limits_base::tinyness_before [static], [constexpr], [inherited]¶
True if tininess is detected before rounding. (see IEC 559)
constexpr bool std::__numeric_limits_base::traps [static], [constexpr], [inherited]¶
True if trapping is implemented for this type.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |