MU Library
std::numeric_limits< half_float::half > Class Reference

#include <half.hpp>

Static Public Member Functions

static HALF_CONSTEXPR half_float::half min () HALF_NOTHROW
 Smallest positive normal value. More...
 
static HALF_CONSTEXPR half_float::half lowest () HALF_NOTHROW
 Smallest finite value. More...
 
static HALF_CONSTEXPR half_float::half max () HALF_NOTHROW
 Largest finite value. More...
 
static HALF_CONSTEXPR half_float::half epsilon () HALF_NOTHROW
 Difference between 1 and next representable value. More...
 
static HALF_CONSTEXPR half_float::half round_error () HALF_NOTHROW
 Maximum rounding error in ULP (units in the last place). More...
 
static HALF_CONSTEXPR half_float::half infinity () HALF_NOTHROW
 Positive infinity. More...
 
static HALF_CONSTEXPR half_float::half quiet_NaN () HALF_NOTHROW
 Quiet NaN. More...
 
static HALF_CONSTEXPR half_float::half signaling_NaN () HALF_NOTHROW
 Signaling NaN. More...
 
static HALF_CONSTEXPR half_float::half denorm_min () HALF_NOTHROW
 Smallest positive subnormal value. More...
 

Static Public Attributes

static HALF_CONSTEXPR_CONST bool is_specialized = true
 Is template specialization. More...
 
static HALF_CONSTEXPR_CONST bool is_signed = true
 Supports signed values. More...
 
static HALF_CONSTEXPR_CONST bool is_integer = false
 Is not an integer type. More...
 
static HALF_CONSTEXPR_CONST bool is_exact = false
 Is not exact. More...
 
static HALF_CONSTEXPR_CONST bool is_modulo = false
 Doesn't provide modulo arithmetic. More...
 
static HALF_CONSTEXPR_CONST bool is_bounded = true
 Has a finite set of values. More...
 
static HALF_CONSTEXPR_CONST bool is_iec559 = true
 IEEE conformant. More...
 
static HALF_CONSTEXPR_CONST bool has_infinity = true
 Supports infinity. More...
 
static HALF_CONSTEXPR_CONST bool has_quiet_NaN = true
 Supports quiet NaNs. More...
 
static HALF_CONSTEXPR_CONST bool has_signaling_NaN = true
 Supports signaling NaNs. More...
 
static HALF_CONSTEXPR_CONST float_denorm_style has_denorm = denorm_present
 Supports subnormal values. More...
 
static HALF_CONSTEXPR_CONST bool has_denorm_loss = false
 Supports no denormalization detection. More...
 
static HALF_CONSTEXPR_CONST bool traps = false
 Traps only if HALF_ERRHANDLING_THROW_... is acitvated. More...
 
static HALF_CONSTEXPR_CONST bool tinyness_before = false
 Does not support no pre-rounding underflow detection. More...
 
static HALF_CONSTEXPR_CONST float_round_style round_style = half_float::half::round_style
 Rounding mode. More...
 
static HALF_CONSTEXPR_CONST int digits = 11
 Significant digits. More...
 
static HALF_CONSTEXPR_CONST int digits10 = 3
 Significant decimal digits. More...
 
static HALF_CONSTEXPR_CONST int max_digits10 = 5
 Required decimal digits to represent all possible values. More...
 
static HALF_CONSTEXPR_CONST int radix = 2
 Number base. More...
 
static HALF_CONSTEXPR_CONST int min_exponent = -13
 One more than smallest exponent. More...
 
static HALF_CONSTEXPR_CONST int min_exponent10 = -4
 Smallest normalized representable power of 10. More...
 
static HALF_CONSTEXPR_CONST int max_exponent = 16
 One more than largest exponent. More...
 
static HALF_CONSTEXPR_CONST int max_exponent10 = 4
 Largest finitely representable power of 10. More...
 

Detailed Description

Numeric limits for half-precision floats. See also: Documentation for std::numeric_limits

Definition at line 5451 of file half.hpp.

Member Function Documentation

◆ denorm_min()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::denorm_min ( )
inlinestatic

Smallest positive subnormal value.

Definition at line 5576 of file half.hpp.

5577  {
5579  }
HALF_CONSTEXPR_CONST binary_t binary
Tag for binary construction.
Definition: half.hpp:635

◆ epsilon()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::epsilon ( )
inlinestatic

Difference between 1 and next representable value.

Definition at line 5546 of file half.hpp.

5547  {
5549  }

◆ infinity()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::infinity ( )
inlinestatic

Positive infinity.

Definition at line 5558 of file half.hpp.

5559  {
5561  }

◆ lowest()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::lowest ( )
inlinestatic

Smallest finite value.

Definition at line 5534 of file half.hpp.

5535  {
5537  }

◆ max()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::max ( )
inlinestatic

Largest finite value.

Definition at line 5540 of file half.hpp.

5541  {
5543  }

◆ min()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::min ( )
inlinestatic

Smallest positive normal value.

Definition at line 5528 of file half.hpp.

5529  {
5531  }

◆ quiet_NaN()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::quiet_NaN ( )
inlinestatic

Quiet NaN.

Definition at line 5564 of file half.hpp.

5565  {
5567  }

◆ round_error()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::round_error ( )
inlinestatic

Maximum rounding error in ULP (units in the last place).

Definition at line 5552 of file half.hpp.

5553  {
5554  return half_float::half(half_float::detail::binary, (round_style == std::round_to_nearest) ? 0x3800 : 0x3C00);
5555  }
static HALF_CONSTEXPR_CONST float_round_style round_style
Rounding mode.
Definition: half.hpp:5501

◆ signaling_NaN()

static HALF_CONSTEXPR half_float::half std::numeric_limits< half_float::half >::signaling_NaN ( )
inlinestatic

Signaling NaN.

Definition at line 5570 of file half.hpp.

5571  {
5573  }

Member Data Documentation

◆ digits

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::digits = 11
static

Significant digits.

Definition at line 5504 of file half.hpp.

◆ digits10

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::digits10 = 3
static

Significant decimal digits.

Definition at line 5507 of file half.hpp.

◆ has_denorm

HALF_CONSTEXPR_CONST float_denorm_style std::numeric_limits< half_float::half >::has_denorm = denorm_present
static

Supports subnormal values.

Definition at line 5485 of file half.hpp.

◆ has_denorm_loss

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::has_denorm_loss = false
static

Supports no denormalization detection.

Definition at line 5488 of file half.hpp.

◆ has_infinity

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::has_infinity = true
static

Supports infinity.

Definition at line 5476 of file half.hpp.

◆ has_quiet_NaN

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::has_quiet_NaN = true
static

Supports quiet NaNs.

Definition at line 5479 of file half.hpp.

◆ has_signaling_NaN

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::has_signaling_NaN = true
static

Supports signaling NaNs.

Definition at line 5482 of file half.hpp.

◆ is_bounded

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_bounded = true
static

Has a finite set of values.

Definition at line 5470 of file half.hpp.

◆ is_exact

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_exact = false
static

Is not exact.

Definition at line 5464 of file half.hpp.

◆ is_iec559

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_iec559 = true
static

IEEE conformant.

Definition at line 5473 of file half.hpp.

◆ is_integer

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_integer = false
static

Is not an integer type.

Definition at line 5461 of file half.hpp.

◆ is_modulo

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_modulo = false
static

Doesn't provide modulo arithmetic.

Definition at line 5467 of file half.hpp.

◆ is_signed

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_signed = true
static

Supports signed values.

Definition at line 5458 of file half.hpp.

◆ is_specialized

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::is_specialized = true
static

Is template specialization.

Definition at line 5455 of file half.hpp.

◆ max_digits10

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::max_digits10 = 5
static

Required decimal digits to represent all possible values.

Definition at line 5510 of file half.hpp.

◆ max_exponent

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::max_exponent = 16
static

One more than largest exponent.

Definition at line 5522 of file half.hpp.

◆ max_exponent10

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::max_exponent10 = 4
static

Largest finitely representable power of 10.

Definition at line 5525 of file half.hpp.

◆ min_exponent

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::min_exponent = -13
static

One more than smallest exponent.

Definition at line 5516 of file half.hpp.

◆ min_exponent10

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::min_exponent10 = -4
static

Smallest normalized representable power of 10.

Definition at line 5519 of file half.hpp.

◆ radix

HALF_CONSTEXPR_CONST int std::numeric_limits< half_float::half >::radix = 2
static

Number base.

Definition at line 5513 of file half.hpp.

◆ round_style

HALF_CONSTEXPR_CONST float_round_style std::numeric_limits< half_float::half >::round_style = half_float::half::round_style
static

Rounding mode.

Definition at line 5501 of file half.hpp.

◆ tinyness_before

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::tinyness_before = false
static

Does not support no pre-rounding underflow detection.

Definition at line 5498 of file half.hpp.

◆ traps

HALF_CONSTEXPR_CONST bool std::numeric_limits< half_float::half >::traps = false
static

Traps only if HALF_ERRHANDLING_THROW_... is acitvated.

Definition at line 5494 of file half.hpp.


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