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

     #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)

     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

     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.

     floor(3), math(3).

     Kwok-Choi Ng