libstdc++: std::numeric_limits< _Tp > Struct Template Reference

libstdc++

std::numeric_limits< _Tp > Struct Template Reference

`#include <limits>`

Inheritance diagram for std::numeric_limits< _Tp >:
[legend]

## 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 324 of file limits.

## Member Function Documentation

## ◆ denorm_min()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::denorm_min | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 369 of file limits.

## ◆ epsilon()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::epsilon | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 345 of file limits.

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

## ◆ infinity()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::infinity | ( |  | ) |
| inlinestaticconstexprnoexcept

The representation of positive infinity, if `has_infinity`.

Definition at line 353 of file limits.

## ◆ lowest()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::lowest | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 339 of file limits.

Referenced by std::cauchy_distribution< _RealType >::min(), std::extreme_value_distribution< _RealType >::min(), std::normal_distribution< _RealType >::min(), and std::student_t_distribution< _RealType >::min().

## ◆ max()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::max | ( |  | ) |
| inlinestaticconstexprnoexcept

The maximum finite value.

Definition at line 333 of file limits.

Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), std::bernoulli_distribution::max(), std::cauchy_distribution< _RealType >::max(), std::chi_squared_distribution< _RealType >::max(), std::exponential_distribution< _RealType >::max(), std::extreme_value_distribution< _RealType >::max(), std::fisher_f_distribution< _RealType >::max(), std::gamma_distribution< _RealType >::max(), std::geometric_distribution< _IntType >::max(), std::lognormal_distribution< _RealType >::max(), std::negative_binomial_distribution< _IntType >::max(), std::normal_distribution< _RealType >::max(), std::poisson_distribution< _IntType >::max(), std::student_t_distribution< _RealType >::max(), std::weibull_distribution< _RealType >::max(), std::tr2::dynamic_bitset< _WordT, _Alloc >::max_size(), std::binomial_distribution< _IntType >::operator()(), std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()(), std::poisson_distribution< _IntType >::operator()(), and std::operator<<().

## ◆ min()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::min | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 329 of file limits.

Referenced by std::bernoulli_distribution::min().

## ◆ quiet_NaN()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 358 of file limits.

## ◆ round_error()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::round_error | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 349 of file limits.

## ◆ signaling_NaN()

template<typename _Tp>

constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN | ( |  | ) |
| inlinestaticconstexprnoexcept

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

Definition at line 363 of file limits.

## Member Data Documentation

## ◆ digits

int std::__numeric_limits_base::digits
| staticconstexprinherited

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 223 of file limits.

Referenced by std::generate_canonical(), std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()(), and std::linear_congruential_engine< _UIntType, __a, __c, __m >::seed().

## ◆ digits10

int std::__numeric_limits_base::digits10
| staticconstexprinherited

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

Definition at line 226 of file limits.

## ◆ has_denorm

float_denorm_style std::__numeric_limits_base::has_denorm
| staticconstexprinherited

See std::float_denorm_style for more information.

Definition at line 278 of file limits.

## ◆ has_denorm_loss

bool std::__numeric_limits_base::has_denorm_loss
| staticconstexprinherited

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

Definition at line 282 of file limits.

## ◆ has_infinity

bool std::__numeric_limits_base::has_infinity
| staticconstexprinherited

True if the type has a representation for positive infinity.

Definition at line 267 of file limits.

## ◆ has_quiet_NaN

bool std::__numeric_limits_base::has_quiet_NaN
| staticconstexprinherited

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

Definition at line 271 of file limits.

## ◆ has_signaling_NaN

bool std::__numeric_limits_base::has_signaling_NaN
| staticconstexprinherited

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

Definition at line 275 of file limits.

## ◆ is_bounded

bool std::__numeric_limits_base::is_bounded
| staticconstexprinherited

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 291 of file limits.

## ◆ is_exact

bool std::__numeric_limits_base::is_exact
| staticconstexprinherited

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 243 of file limits.

## ◆ is_iec559

bool std::__numeric_limits_base::is_iec559
| staticconstexprinherited

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 286 of file limits.

## ◆ is_integer

bool std::__numeric_limits_base::is_integer
| staticconstexprinherited

True if the type is integer.

Definition at line 238 of file limits.

## ◆ is_modulo

bool std::__numeric_limits_base::is_modulo
| staticconstexprinherited

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 300 of file limits.

## ◆ is_signed

bool std::__numeric_limits_base::is_signed
| staticconstexprinherited

True if the type is signed.

Definition at line 235 of file limits.

## ◆ is_specialized

bool std::__numeric_limits_base::is_specialized
| staticconstexprinherited

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

Definition at line 218 of file limits.

## ◆ max_digits10

int std::__numeric_limits_base::max_digits10
| staticconstexprinherited

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

Definition at line 231 of file limits.

## ◆ max_exponent

int std::__numeric_limits_base::max_exponent
| staticconstexprinherited

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 260 of file limits.

## ◆ max_exponent10

int std::__numeric_limits_base::max_exponent10
| staticconstexprinherited

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

Definition at line 264 of file limits.

## ◆ min_exponent

int std::__numeric_limits_base::min_exponent
| staticconstexprinherited

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 251 of file limits.

## ◆ min_exponent10

int std::__numeric_limits_base::min_exponent10
| staticconstexprinherited

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

Definition at line 255 of file limits.

## ◆ radix

int std::__numeric_limits_base::radix
| staticconstexprinherited

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

Definition at line 247 of file limits.

Referenced by std::generate_canonical().

## ◆ round_style

float_round_style std::__numeric_limits_base::round_style
| staticconstexprinherited

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 311 of file limits.

## ◆ tinyness_before

bool std::__numeric_limits_base::tinyness_before
| staticconstexprinherited

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

Definition at line 306 of file limits.

## ◆ traps

bool std::__numeric_limits_base::traps
| staticconstexprinherited

True if trapping is implemented for this type.

Definition at line 303 of file limits.

The documentation for this struct was generated from the following file:

- limits