numeric_limits Struct Template Reference

Inheritance diagram for numeric_limits:

Inheritance graph
List of all members.

Detailed Description

template<typename _Tp>
struct std::numeric_limits< _Tp >

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

Static Public Member Functions

Static Public Attributes


Member Function Documentation

static _Tp denorm_min (  )  throw () [inline, static]

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

Definition at line 307 of file limits.

static _Tp epsilon (  )  throw () [inline, static]

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

Definition at line 294 of file limits.

static _Tp infinity (  )  throw () [inline, static]

The representation of positive infinity, if has_infinity.

Definition at line 298 of file limits.

static _Tp max (  )  throw () [inline, static]

The maximum finite value.

Definition at line 291 of file limits.

Referenced by hash< long double >::operator()().

static _Tp min (  )  throw () [inline, static]

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

Definition at line 289 of file limits.

static _Tp quiet_NaN (  )  throw () [inline, static]

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

Definition at line 300 of file limits.

static _Tp round_error (  )  throw () [inline, static]

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

Definition at line 296 of file limits.

static _Tp signaling_NaN (  )  throw () [inline, static]

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

Definition at line 303 of file limits.


Member Data Documentation

const int 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 200 of file limits.

const int digits10 [static, inherited]

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

Definition at line 202 of file limits.

const float_denorm_style has_denorm [static, inherited]

See std::float_denorm_style for more information.

Definition at line 243 of file limits.

const bool has_denorm_loss [static, inherited]

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

const bool has_infinity [static, inherited]

True if the type has a representation for positive infinity.

Definition at line 235 of file limits.

const bool has_quiet_NaN [static, inherited]

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

Definition at line 238 of file limits.

const bool has_signaling_NaN [static, inherited]

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

Definition at line 241 of file limits.

const bool 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." [18.2.1.2]/54

Definition at line 254 of file limits.

const bool 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." [18.2.1.2]/15

Definition at line 215 of file limits.

const bool 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 250 of file limits.

const bool is_integer [static, inherited]

True if the type is integer.

Definition at line 210 of file limits.

const bool is_modulo [static, inherited]

True if the type is 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 259 of file limits.

const bool is_signed [static, inherited]

True if the type is signed.

Definition at line 204 of file limits.

const bool is_specialized [static, inherited]

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

Definition at line 195 of file limits.

const int 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 229 of file limits.

const int 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 232 of file limits.

const int 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 222 of file limits.

const int 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 225 of file limits.

const int 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 218 of file limits.

const float_round_style 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 268 of file limits.

const bool tinyness_before [static, inherited]

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

Definition at line 264 of file limits.

const bool traps [static, inherited]

True if trapping is implemented for this type.

Definition at line 262 of file limits.


The documentation for this struct was generated from the following file:
Generated on Thu Nov 1 17:38:41 2007 for libstdc++ by  doxygen 1.5.1