Linux Blog

INFINITY

Section: Linux Programmer's Manual (3)
Updated: 2004-10-31
Index Return to Main Contents
 

NAME

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

SYNOPSIS

#define _ISOC99_SOURCE

#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 signalling 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 plus 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), feature_test_macros(7)


 

Index

NAME
SYNOPSIS
DESCRIPTION
CONFORMING TO
AVAILABILITY
SEE ALSO