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

floor(3), math(3).

AUTHOR
Kwok-Choi Ng

```