INFINITY man page

INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL — floating-point constants

Synopsis

#define _ISOC99_SOURCE /* See feature_test_macros(7) */

#include <math.h>

INFINITY

NAN

HUGE_VAL

HUGE_VALF

HUGE_VALL

Description

The macro INFINITY expands to a float constant representing positive infinity.

The macro NAN expands to a float constant representing a quiet NaN (when supported). A quiet NaN is a NaN ("not-a-number") that does not raise exceptions when it is used in arithmetic. The opposite is a signaling NaN. See IEC 60559:1989.

The macros HUGE_VAL, HUGE_VALF, HUGE_VALL expand to constants of types double, float and long double, respectively, that represent a large positive value, possibly positive infinity.

Conforming to

C99.

Availability

On a glibc system, the macro HUGE_VAL is always available. Availability of the NAN macro can be tested using #ifdef NAN, and similarly for INFINITY, HUGE_VALF, HUGE_VALL. They will be defined by <math.h> if _ISOC99_SOURCE or _GNU_SOURCE is defined, or __STDC_VERSION__ is defined and has a value not less than 199901L.

See Also

fpclassify(3), math_error(7)

Colophon

This page is part of release 4.08 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

fpclassify(3), math_error(7).

HUGE_VAL(3), HUGE_VALF(3), HUGE_VALL(3) and NAN(3) are aliases of INFINITY(3).

2007-07-26 Linux Programmer's Manual