libstdc++
std::numeric_limits< _Tp > Struct Template Reference
Inheritance diagram for std::numeric_limits< _Tp >:

List of all members.

Static Public Member Functions

static constexpr _Tp denorm_min () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp epsilon () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp infinity () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp lowest () noexcept
static constexpr _Tp max () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp min () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp quiet_NaN () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp round_error () _GLIBCXX_USE_NOEXCEPT
static constexpr _Tp signaling_NaN () _GLIBCXX_USE_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.

_GLIBCXX_RESOLVE_LIB_DEFECTS: DRs 201 and 184 (hi Gaby!) are noted, but not incorporated in this documented (yet).

Definition at line 304 of file limits.


Member Function Documentation

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::denorm_min ( )
inlinestatic
The minimum positive denormalized value.  For types where

has_denorm is false, this is the minimum positive normalized value.

Definition at line 349 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::epsilon ( )
inlinestatic
The @e machine @e epsilon:  the difference between 1 and the least

value greater than 1 that is representable.

Definition at line 325 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::infinity ( )
inlinestatic

The representation of positive infinity, if has_infinity.

Definition at line 333 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::lowest ( )
inlinestatic

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

Definition at line 319 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::max ( )
inlinestatic

The maximum finite value.

Definition at line 313 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::min ( )
inlinestatic
The minimum finite value, or for floating types with

denormalization, the minimum positive normalized value.

Definition at line 309 of file limits.

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

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::quiet_NaN ( )
inlinestatic
The representation of a quiet <em>Not a Number</em>,

if has_quiet_NaN.

Definition at line 338 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::round_error ( )
inlinestatic

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

Definition at line 329 of file limits.

template<typename _Tp >
static constexpr _Tp std::numeric_limits< _Tp >::signaling_NaN ( )
inlinestatic
The representation of a signaling <em>Not a Number</em>, if

has_signaling_NaN.

Definition at line 343 of file limits.


Member Data Documentation

constexpr int std::__numeric_limits_base::digits
staticinherited
The number of @c 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 201 of file limits.

constexpr int std::__numeric_limits_base::digits10
staticinherited

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

Definition at line 204 of file limits.

constexpr float_denorm_style std::__numeric_limits_base::has_denorm
staticinherited

See std::float_denorm_style for more information.

Definition at line 258 of file limits.

constexpr bool std::__numeric_limits_base::has_denorm_loss
staticinherited
<em>True if loss of accuracy is detected as a denormalization loss,

rather than as an inexact result. [18.2.1.2]/42

Definition at line 262 of file limits.

constexpr bool std::__numeric_limits_base::has_infinity
staticinherited

True if the type has a representation for positive infinity.

Definition at line 247 of file limits.

constexpr bool std::__numeric_limits_base::has_quiet_NaN
staticinherited
True if the type has a representation for a quiet (non-signaling)

Not a Number.

Definition at line 251 of file limits.

constexpr bool std::__numeric_limits_base::has_signaling_NaN
staticinherited
True if the type has a representation for a signaling

Not a Number.

Definition at line 255 of file limits.

constexpr bool std::__numeric_limits_base::is_bounded
staticinherited
<em>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. [18.2.1.2]/54

Definition at line 271 of file limits.

constexpr bool std::__numeric_limits_base::is_exact
staticinherited
True if the type uses an exact representation. <em>All integer types are

exact, but not all exact types are integer. For example, rational and fixed-exponent representations are exact but not integer. [18.2.1.2]/15

Definition at line 223 of file limits.

constexpr bool std::__numeric_limits_base::is_iec559
staticinherited
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 266 of file limits.

constexpr bool std::__numeric_limits_base::is_integer
staticinherited

True if the type is integer. Is this supposed to be if the type is integral?

Definition at line 217 of file limits.

constexpr bool std::__numeric_limits_base::is_modulo
staticinherited
True if the type is @e modulo, that is, if it is possible to add two

positive numbers and have a result that wraps around to a third number that is less. Typically false for floating types, true for unsigned integers, and true for signed integers.

Definition at line 277 of file limits.

constexpr bool std::__numeric_limits_base::is_signed
staticinherited

True if the type is signed.

Definition at line 213 of file limits.

constexpr bool std::__numeric_limits_base::is_specialized
staticinherited
This will be true for all fundamental types (which have

specializations), and false for everything else.

Definition at line 196 of file limits.

constexpr int std::__numeric_limits_base::max_digits10
staticinherited
The number of base 10 digits required to ensure that values which

differ are always differentiated.

Definition at line 209 of file limits.

constexpr int std::__numeric_limits_base::max_exponent
staticinherited
The maximum positive integer such that @c radix raised to the power of

(one less than that integer) is a representable finite floating point number.

Definition at line 240 of file limits.

constexpr int std::__numeric_limits_base::max_exponent10
staticinherited
The maximum positive integer such that 10 raised to that power is in

the range of representable finite floating point numbers.

Definition at line 244 of file limits.

constexpr int std::__numeric_limits_base::min_exponent
staticinherited
The minimum negative integer such that @c radix raised to the power of

(one less than that integer) is a normalized floating point number.

Definition at line 231 of file limits.

constexpr int std::__numeric_limits_base::min_exponent10
staticinherited
The minimum negative integer such that 10 raised to that power is in

the range of normalized floating point numbers.

Definition at line 235 of file limits.

constexpr int std::__numeric_limits_base::radix
staticinherited
For integer types, specifies the base of the representation.  For

floating types, specifies the base of the exponent representation.

Definition at line 227 of file limits.

constexpr float_round_style std::__numeric_limits_base::round_style
staticinherited
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 288 of file limits.

constexpr bool std::__numeric_limits_base::tinyness_before
staticinherited

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

Definition at line 283 of file limits.

constexpr bool std::__numeric_limits_base::traps
staticinherited

True if trapping is implemented for this type.

Definition at line 280 of file limits.


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