ISNAN(3)
Name
IsdNaN, IsdqNaN, IsdsNaN, IsfNaN, IsfqNaN, IsfsNaN,
IsdNaNorINF - NaN recognition macros
Library
(ROOT)/usr/local/lib/libM.a
Syntax
#include ~soi/src/include/NaN.h
int IsdNaN (dx)
int IsdqNaN (dx)
int IsdsNaN (dx)
int IsdNaNorINF (dx)
double dx;
int IsfNaN (fx)
int IsfqNaN (fx)
int IsfsNaN (fx)
float fx;
Description
These macros classify single-precision and double-precision
floating-point values according to whether they represent
NaN's (Not a Number),signaling NaN's, quiet NaN's, or Infin-
ity. All macros return non-zero for true and zero for
false.
If the machine uses IEEE representation for floating-point
numbers, then the argument is tested according to the defin-
itions of NaN and Infinity in the IEEE Standard for Binary
Floating-Point Arithmetic, ANSI/IEEE Std 754-1985. If the
machine uses VAX representation for floating point numbers,
the argument is tested according to the definitions for
NaN's and Infinity in SOI-DRAC Document #1990-04-01.
dx is a double-precision NaN
dx is a double-precision quiet (non-signaling)
NaN
dx is a double-precision signaling NaN
fx is a single-precision NaN
fx is a single-precision quiet (non-signaling)
NaN
fx is a single-precision signaling NaN
dx is a double-precision NaN or Infinity
Author
Rick Bogart
Bugs
No general-purpose macro IsNaN () is provided because the
IEEE definitions do not permit unambiguous recognition when
the type of the argument is unknown.
See Also
NaN(3L)
HISTORY
1993-09-17
1994-02-08 SOI Version 0.8