fpclassify
Section: Linux Programmer's Manual (3)
Updated: 2004-10-31
Index
Return to Main Contents
NAME
fpclassify, isfinite, isnormal, isnan - floating-point classification macros
SYNOPSIS
#include <math.h>
int fpclassify(x);
int isfinite(x);
int isnormal(x);
int isnan(x);
int isinf(x);
Compile with -std=c99; link with -lm.
DESCRIPTION
Floating point numbers can have special values, such as
infinite or NaN. With the macro
fpclassify(x)
you can find out what type
x
is. The macro takes any floating-point expression as argument.
The result takes one of the following values:
- FP_NAN
-
x
is "Not a Number".
- FP_INFINITE
-
x
is either plus or minus infinity.
- FP_ZERO
-
x
is zero.
- FP_SUBNORMAL
-
x
is too small to be represented in normalized format.
- FP_NORMAL
-
if nothing of the above is correct that it must be a
normal floating-point number.
The other macros provide a short answer to some standard questions.
- isfinite(x)
-
returns a nonzero value if
(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
- isnormal(x)
-
returns a nonzero value if
(fpclassify(x) == FP_NORMAL)
- isnan(x)
-
returns a nonzero value if
(fpclassify(x) == FP_NAN)
- isinf(x)
-
returns a nonzero value if
(fpclassify(x) == FP_INFINITE)
NOTE
On systems conforming to BSD 4.3,
isinf()
will return 1 for positive, and -1 for negative infinity.
CONFORMING TO
C99
SEE ALSO
finite(3),
INFINITY(3),
isgreater(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- NOTE
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 00:12:36 GMT, May 13, 2005
www.fiveanddime.net