ieee(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
IEEE(3)                 NetBSD Library Functions Manual                IEEE(3)

copysign, copysignf, finite, finitef, ilogb, ilogbf, nextafter, nextafterf, remainder, remainderf, scalbn, scalbnf -- functions for IEEE arithmetic
Math Library (libm, -lm)
#include <math.h> 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);
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.
IEEE Std 754-1985
The ieee functions appeared in 4.3BSD. NetBSD 5.1 February 25, 1994 NetBSD 5.1
Powered by man-cgi (2021-06-01). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.