Floating-point Classification Macros

FP_INFINITE

Floating-point classification type used by fp_classify, for example, indicating the value is infinity.

Include

<math.h>

FP_NAN

Floating-point classification type used by fp_classify, for example, indicating the value is not a number.

Include

<math.h>

FP_NORMAL

Floating-point classification type used by fp_classify, for example, indicating the value is normal, i.e., it is not zero, NaN, infinite, nor subnormal.

Include

<math.h>

FP_SUBNORMAL

Floating-point classification type used by fp_classify, for example, indicating the value is subnormal. Subnormal values are non-zero values, with magnitude smaller than the smallest normal value. The normalisation process shifts leading zeros out of the significand and decreases the exponent, but where this process would cause the exponent to become smaller than its smallest representable value, the leading zeros are permitted and the value becomes subnormal, or denormalised.

Include

<math.h>

FP_ZERO

Floating-point classification type used by fp_classify, for example, indicating the value is zero.

Include

<math.h>

FP_FAST_FMA

The definition of this macro indicates that the fma function executes at least as fast as the discrete multiplication and addition of double values.

Include

<math.h>

FP_FAST_FMAF

The definition of this macro indicates that the fma function executes at least as fast as the discrete multiplication and addition of float values.

Include

<math.h>

FP_FAST_FMAL

The definition of this macro indicates that the fma function executes at least as fast as the discrete multiplication and addition of long double values.

Include

<math.h>

FP_ILOGB0

This macro expands to the value returned by the ilogb function when passed an argument of zero.

Include

<math.h>

Value

Expands to the value of INT_MIN, as defined by <limits.h>

FP_ILOGBNAN

This macro expands to the value returned by the ilogb function when passed an argument of NaN.

Include

<math.h>

Value

Expands to the value of INT_MIN, as defined by <limits.h>

MATH_ERRNO

This macro has the value 1 and is usable with math_errhandling to determine the implementation response to a domain error.

Include

<math.h>

Value

The value 1.

MATH_ERREXCEPT

This macro has the value 2 and is usable with math_errhandling to determine the implementation response to a domain error.

Include

<math.h>

Value

The value 2.

math_errhandling

This is a value that can be used to determine if errno will be set or an exception will be raised on a domain error. If the value of math_errhandling & MATH_ERRNO is true, then errno will be updated with the appropriate error number. If the value of math_errhandling & MATH_ERREXCEPT is true, then an invalid floating-point exception will be raised when a domain error is encountered.

Include

<math.h>

Value

The value 1.

HUGE_VAL

This macro expands to a large positive double value.

Include

<math.h>

Value

The value INFINITY.

HUGE_VALF

This macro expands to a large positive float value.

Include

<math.h>

Value

The value INFINITY.

HUGE_VALL

This macro expands to a large positive long double value.

Include

<math.h>

Value

The value INFINITY.

INFINITY

This macro expands to a positive float constant that will overflow at compile time.

Include

<math.h>

NAN

This macro expands to a float constant that represents a NaN.

Include

<math.h>