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