unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (NetBSD-2.0)
Page:
Section:
Apropos / Subsearch:
optional field

IEEE(3)                  BSD Library Functions Manual                  IEEE(3)

NAME
     copysign, copysignf, finite, finitef, ilogb, ilogbf, nextafter,
     nextafterf, remainder, remainderf, scalbn, scalbnf -- functions for IEEE
     arithmetic

LIBRARY
     Math Library (libm, -lm)

SYNOPSIS
     #include <&lt;math.h>&gt;

     double
     copysign(double x, double y);

     float
     copysignf(float x, float y);

     int
     finite(double x);

     int
     finitef(float x);

     int
     ilogb(double x);

     int
     ilogbf(float x);

     double
     nextafter(double x, double y);

     float
     nextafterf(float x, float y);

     double
     remainder(double x, double y);

     float
     remainderf(float x, float y);

     double
     scalbn(double x, int n);

     float
     scalbnf(float x, int n);

DESCRIPTION
     These functions are required or recommended by IEEE Std 754-1985.

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

     finite() returns the value 1 just when -infinity < x < +infinity; other-
     wise a zero is returned (when |x| = infinity or x is NaN).

     ilogb() returns x's exponent n, in integer format.  ilogb(+-infinity)
     returns INT_MAX and ilogb(0) returns INT_MIN.

     nextafter() returns the next machine representable number from x in
     direction y.

     remainder() 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 remainder(x, 0) and remainder(infinity, 0) are invalid operations
     that produce a NaN.

     scalbn() returns x*(2**n) computed by exponent manipulation.

SEE ALSO
     math(3)

STANDARDS
     IEEE Std 754-1985

HISTORY
     The ieee functions appeared in 4.3BSD.

BSD                            February 25, 1994                           BSD