Imath
<navlinks>
<page>

# half Limits

## Constants

`HALF_DENORM_MIN`

  Smallest positive denormalized half.

`HALF_NRM_MIN`

  Smallest positive normalized half.

`HALF_MIN`

  Smallest positive normalized half.

`HALF_MAX`

  Largest positive half.

`HALF_EPSILON`

  Smallest positive e for which half(1.0 + e) != half(1.0)

`HALF_MANT_DIG`

  Number of digits in mantissa (significand + hidden leading 1)

`HALF_DIG`

  Number of base 10 digits that can be represented without change:

  > floor( (`HALF_MANT_DIG` - 1) * log10(2) ) => 3.01… -> 3

`HALF_DECIMAL_DIG`

  Number of base-10 digits that are necessary to uniquely represent all distinct values:

  > ceil(`HALF_MANT_DIG` * log10(2) + 1) => 4.31… -> 5

`HALF_RADIX`

  Base of the exponent.

`HALF_DENORM_MIN_EXP`

  Minimum negative integer such that `HALF_RADIX` raised to the power of one less than that integer is a normalized half.

`HALF_MAX_EXP`

  Maximum positive integer such that `HALF_RADIX` raised to the power of one less than that integer is a normalized half.

`HALF_DENORM_MIN_10_EXP`

  Minimum positive integer such that 10 raised to that power is a normalized half.

`HALF_MAX_10_EXP`

  Maximum positive integer such that 10 raised to that power is a normalized half.

## `std::numeric_limits<half>`

The `half` type provides specializations for `std::numeric_limits<half>`:

std::numeric_limits<half>::min() | `HALF_MIN`
std::numeric_limits<half>::max() | `HALF_MAX`
std::numeric_limits<half>::lowest() | `-HALF_MAX`
std::numeric_limits<half>::digits | `HALF_MANT_DIG`
std::numeric_limits<half>::digits10 | `HALF_DIG`
std::numeric_limits<half>::max_digits10 | `HALF_DECIMAL_DIG`
std::numeric_limits<half>::is_signed | `true`
std::numeric_limits<half>::is_integer | `false`
std::numeric_limits<half>::is_exact | `false`
std::numeric_limits<half>::radix | `HALF_RADIX`
std::numeric_limits<half>::epsilon() | `HALF_EPSILON`
std::numeric_limits<half>::round_error() | `0.5`
std::numeric_limits<half>::min_exponent | `HALF_DENORM_MIN_EXP`
std::numeric_limits<half>::min_exponent10 | `HALF_DENORM_MIN_10_EXP`
std::numeric_limits<half>::max_exponent | `HALF_MAX_EXP`
std::numeric_limits<half>::max_exponent10 | `HALF_MAX_10_EXP`
std::numeric_limits<half>::has_infinity | `true`
std::numeric_limits<half>::has_quiet_NaN | `true`
std::numeric_limits<half>::has_signaling_NaN | `true`
std::numeric_limits<half>::has_denorm | `std::denorm_present`
std::numeric_limits<half>::has_denorm_loss | `false`
std::numeric_limits<half>::infinity() | `half::posInf()`
std::numeric_limits<half>::quiet_NaN() | `half::qNan()`
std::numeric_limits<half>::signaling_NaN() | `half::sNan()`
std::numeric_limits<half>::denorm_min() | `HALF_DENORM_MIN`

</page>