NAN(2)                                                     NAN(2)

     NAME
          NaN, Inf, isNaN, isInf - not-a-number and infinity functions

     SYNOPSIS
          #include <u.h>
          #include <libc.h>

          double NaN(void)

          double Inf(int)

          int    isNaN(double)

          int    isInf(double, int)

     DESCRIPTION
          The IEEE floating point standard defines values called
          `not-a-number' and positive and negative `infinity'.  These
          values can be produced by such things as overflow and divi-
          sion by zero.  Also, the library functions sometimes return
          them when the arguments are not in the domain, or the result
          is out of range.  By default, manipulating these values may
          cause a floating point exception on some processors but
          setfcr (see getfcr(2)) can change that behavior.

          NaN returns a double that is not-a-number.  IsNaN returns
          true if its argument is not-a-number.

          Inf(i) returns positive infinity if i is greater than or
          equal to zero, else negative infinity.  IsInf returns true
          if its first argument is infinity with the same sign as the
          second argument.

     SOURCE
          /sys/src/libc/port/nan.c

     SEE ALSO
          getfcr(2)