IEEE(3M) COMMAND REFERENCE IEEE(3M)
NAME
ieee, copysign, drem, finite, logb, scalb - copysign,
remainder, exponent
SYNOPSIS
#include <math.h>
double copysign (x, y)
double x, y;
double drem (x, y)
double x, y;
int finite (x)
double x;
double logb (x)
double x;
double scalb (x, n)
double x;
int n;
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.
Drem (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. But drem (x,0) is exceptional;
see the DIAGNOSTICS section.
Finite (x) = 1 just when -infinity < x < +infinity,
= 0 otherwise (when |x| = infinity 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
Scalb (x, n)
= x*(2**n) computed, for integer n, without first
computing 2**n.
DIAGNOSTICS
Drem (x, 0) and drem (infinity, y) are undefined; errno is
set to EDOM.
Printed 4/6/89 1
IEEE(3M) COMMAND REFERENCE IEEE(3M)
Logb is undefined when x is zero or negative; errno is set
to EDOM.
Scalb is undefined when the correct value would overflow;
errno is set to ERANGE.
SEE ALSO
intro(3m) and frexp(3c).
Printed 4/6/89 2
%%index%%
na:264,130;
sy:394,1729;
de:2123,1704;
di:3827,504;4667,364;
se:5031,181;
%%index%%000000000107