std::numeric_limits< _Tp >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

std::numeric_limits< _Tp > - Properties of fundamental types.

 

SYNOPSIS


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.

Definition at line 312 of file limits.  

Member Function Documentation

 

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::denorm_min () [inline], [static], [noexcept]

The minimum positive denormalized value. For types where has_denorm is false, this is the minimum positive normalized value.

Definition at line 357 of file limits.  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::epsilon () [inline], [static], [noexcept]

The machine epsilon: the difference between 1 and the least value greater than 1 that is representable.

Definition at line 333 of file limits.

Referenced by std::generate_canonical(), std::binomial_distribution< _IntType >::operator()(), and std::poisson_distribution< _IntType >::operator()().  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::infinity () [inline], [static], [noexcept]

The representation of positive infinity, if has_infinity.

Definition at line 341 of file limits.  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::lowest () [inline], [static], [noexcept]

A finite value x such that there is no other finite value y where y < x.

Definition at line 327 of file limits.

Referenced by std::normal_distribution< result_type >::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], [noexcept]

The maximum finite value.

Definition at line 321 of file limits.

Referenced by std::normal_distribution< result_type >::max(), std::lognormal_distribution< _RealType >::max(), std::gamma_distribution< result_type >::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()(), and std::poisson_distribution< _IntType >::operator()().  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::min () [inline], [static], [noexcept]

The minimum finite value, or for floating types with denormalization, the minimum positive normalized value.

Definition at line 317 of file limits.

Referenced by std::bernoulli_distribution::min(), and std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()().  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN () [inline], [static], [noexcept]

The representation of a quiet Not a Number, if has_quiet_NaN.

Definition at line 346 of file limits.  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::round_error () [inline], [static], [noexcept]

The maximum rounding error measurement (see LIA-1).

Definition at line 337 of file limits.  

template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN () [inline], [static], [noexcept]

The representation of a signaling Not a Number, if has_signaling_NaN.

Definition at line 351 of file limits.  

Member Data Documentation

 

constexpr int std::__numeric_limits_base::digits [static], [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.

Definition at line 211 of file limits.  

constexpr int std::__numeric_limits_base::digits10 [static], [inherited]

The number of base 10 digits that can be represented without change.

Definition at line 214 of file limits.  

constexpr float_denorm_style std::__numeric_limits_base::has_denorm [static], [inherited]

See std::float_denorm_style for more information.

Definition at line 266 of file limits.  

constexpr bool std::__numeric_limits_base::has_denorm_loss [static], [inherited]

True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result.

Definition at line 270 of file limits.  

constexpr bool std::__numeric_limits_base::has_infinity [static], [inherited]

True if the type has a representation for positive infinity.

Definition at line 255 of file limits.  

constexpr bool std::__numeric_limits_base::has_quiet_NaN [static], [inherited]

True if the type has a representation for a quiet (non-signaling) Not a Number.

Definition at line 259 of file limits.  

constexpr bool std::__numeric_limits_base::has_signaling_NaN [static], [inherited]

True if the type has a representation for a signaling Not a Number.

Definition at line 263 of file limits.  

constexpr bool std::__numeric_limits_base::is_bounded [static], [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.

Definition at line 279 of file limits.  

constexpr bool std::__numeric_limits_base::is_exact [static], [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.

Definition at line 231 of file limits.  

constexpr bool std::__numeric_limits_base::is_iec559 [static], [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.)

Definition at line 274 of file limits.  

constexpr bool std::__numeric_limits_base::is_integer [static], [inherited]

True if the type is integer.

Definition at line 226 of file limits.  

constexpr bool std::__numeric_limits_base::is_modulo [static], [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.

Definition at line 288 of file limits.  

constexpr bool std::__numeric_limits_base::is_signed [static], [inherited]

True if the type is signed.

Definition at line 223 of file limits.  

constexpr bool std::__numeric_limits_base::is_specialized [static], [inherited]

This will be true for all fundamental types (which have specializations), and false for everything else.

Definition at line 206 of file limits.  

constexpr int std::__numeric_limits_base::max_digits10 [static], [inherited]

The number of base 10 digits required to ensure that values which differ are always differentiated.

Definition at line 219 of file limits.  

constexpr int std::__numeric_limits_base::max_exponent [static], [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.

Definition at line 248 of file limits.  

constexpr int std::__numeric_limits_base::max_exponent10 [static], [inherited]

The maximum positive integer such that 10 raised to that power is in the range of representable finite floating point numbers.

Definition at line 252 of file limits.  

constexpr int std::__numeric_limits_base::min_exponent [static], [inherited]

The minimum negative integer such that radix raised to the power of (one less than that integer) is a normalized floating point number.

Definition at line 239 of file limits.  

constexpr int std::__numeric_limits_base::min_exponent10 [static], [inherited]

The minimum negative integer such that 10 raised to that power is in the range of normalized floating point numbers.

Definition at line 243 of file limits.  

constexpr int std::__numeric_limits_base::radix [static], [inherited]

For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation.

Definition at line 235 of file limits.  

constexpr float_round_style std::__numeric_limits_base::round_style [static], [inherited]

See std::float_round_style for more information. This is only meaningful for floating types; integer types will all be round_toward_zero.

Definition at line 299 of file limits.  

constexpr bool std::__numeric_limits_base::tinyness_before [static], [inherited]

True if tininess is detected before rounding. (see IEC 559)

Definition at line 294 of file limits.  

constexpr bool std::__numeric_limits_base::traps [static], [inherited]

True if trapping is implemented for this type.

Definition at line 291 of file limits.

 

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Static Public Member Functions
Static Public Attributes
Detailed Description
template<typename _Tp>
Member Function Documentation
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::denorm_min () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::epsilon () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::infinity () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::lowest () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::max () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::min () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::round_error () [inline], [static], [noexcept]
template<typename _Tp > static constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN () [inline], [static], [noexcept]
Member Data Documentation
constexpr int std::__numeric_limits_base::digits [static], [inherited]
constexpr int std::__numeric_limits_base::digits10 [static], [inherited]
constexpr float_denorm_style std::__numeric_limits_base::has_denorm [static], [inherited]
constexpr bool std::__numeric_limits_base::has_denorm_loss [static], [inherited]
constexpr bool std::__numeric_limits_base::has_infinity [static], [inherited]
constexpr bool std::__numeric_limits_base::has_quiet_NaN [static], [inherited]
constexpr bool std::__numeric_limits_base::has_signaling_NaN [static], [inherited]
constexpr bool std::__numeric_limits_base::is_bounded [static], [inherited]
constexpr bool std::__numeric_limits_base::is_exact [static], [inherited]
constexpr bool std::__numeric_limits_base::is_iec559 [static], [inherited]
constexpr bool std::__numeric_limits_base::is_integer [static], [inherited]
constexpr bool std::__numeric_limits_base::is_modulo [static], [inherited]
constexpr bool std::__numeric_limits_base::is_signed [static], [inherited]
constexpr bool std::__numeric_limits_base::is_specialized [static], [inherited]
constexpr int std::__numeric_limits_base::max_digits10 [static], [inherited]
constexpr int std::__numeric_limits_base::max_exponent [static], [inherited]
constexpr int std::__numeric_limits_base::max_exponent10 [static], [inherited]
constexpr int std::__numeric_limits_base::min_exponent [static], [inherited]
constexpr int std::__numeric_limits_base::min_exponent10 [static], [inherited]
constexpr int std::__numeric_limits_base::radix [static], [inherited]
constexpr float_round_style std::__numeric_limits_base::round_style [static], [inherited]
constexpr bool std::__numeric_limits_base::tinyness_before [static], [inherited]
constexpr bool std::__numeric_limits_base::traps [static], [inherited]
Author