ieee(3)


NAME
     ieee,  copysign,  remainder,  finite,  logb,  ilogb,  scalb  -  copysign,
     remainder, exponent manipulations

SYNOPSIS
     #include <math.h>

     double copysign(double x, double y)
     double remainder(double x, double y)
     int finite(double x)
     double logb(double x)
     double ilogb(double x)
     double scalb(double x, double y)
     double scalbn(double x, int y)

DESCRIPTION
     These functions are required for, or recommended by the IEEE standard 754
     for floating-point arithmetic.

     Copysign(x, y) returns x with its sign changed to y's.

     Remainder(x, y) returns the remainder r := x - n*y where n is the integer
     nearest the exact value of x/y; moreover if |n-x/y| = 1/2 then n is even.
     Consequently the remainder is computed exactly and |r| < |y|/2.

     Finite(x) = 1 just when -Inf < x < +Inf,
               = 0 otherwise (when |x| = Inf or x is NaN)

     Logb(x)  returns  x's  exponent  n,  a  signed   integer   converted   to
     double-precision  floating-point  and  so  chosen  that  1 < |x|/2**n < 2
     unless x = 0 or |x|  =  Inf  or  x  lies  between  0  and  the  Underflow
     Threshold; see below under "BUGS".

     Ilogb(x) is like logb(x), but better.

     Scalb(x, n) = x*(2**n) computed, for integer n, without  first  computing
     2**n.

     Scalbn(x, n) is like scalb(x, n), but better.

     Logb and scalb are provided in the Sun FDLIBM to pass IEEE  test  suites.
     They are not recommended.  Use ilogb and scalbn instead.

SEE ALSO
     floor(3), math(3).





AUTHOR
     Kwok-Choi Ng