Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

remainder(3) [netbsd man page]

REMAINDER(3)						   BSD Library Functions Manual 					      REMAINDER(3)

NAME
remainder, remainderf, remquo, remquof -- remainder functions LIBRARY
Math Library (libm, -lm) SYNOPSIS
#include <math.h> double remainder(double x, double y); float remainderf(float x, float y); double remquo(double x, double y, int *quo); float remquof(float x, float y, int *quo); DESCRIPTION
Provided that y != 0 , the remainder() and remainderf() functions calculate the floating-point remainder r of r = x - ny, where n is the integral value nearest to the exact value of x / y. If | n - x / y | = 1/2 , the value n is chosen to be even. Consequently, the remainder is computed exactly and | r | <= | y | / 2 . Also the remquo() and remquof() functions calculate the remainder as described above. But these additionally use quo to store a value whose sign is the sign of x / y and whose magnitude is congruent modulo 2^k to the magnitude of the integral quotient of x / y, where k is an implementation-defined integer greater than or equal to 3. The rationale of the remquo() family of functions relates to situations where only few bits of the quotient are required. The exact repre- sentation of the quotient may not be meaningful when x is large in magnitude compared to y. RETURN VALUES
The functions return the remainder independent of the rounding mode. If y is zero , NaN is returned and a domain error occurs. A domain error occurs and a NaN is returned also when x is infinite but y is not a NaN. If either x or y is NaN, a NaN is always returned. SEE ALSO
div(3), fast_remainder32(3), fmod(3), math(3) STANDARDS
The described functions conform to ISO/IEC 9899:1999 (``ISO C99''). BSD
September 18, 2011 BSD

Check Out this Related Man Page

REMAINDER(3)						   BSD Library Functions Manual 					      REMAINDER(3)

NAME
remainder, remainderf, remainderl, remquo, remquof, remquol -- minimal residue functions LIBRARY
Math Library (libm, -lm) SYNOPSIS
#include <math.h> double remainder(double x, double y); float remainderf(float x, float y); long double remainderl(long double x, long double y); double remquo(double x, double y, int *quo); float remquof(float x, float y, int *quo); long double remquol(long double x, long double y, int *quo); DESCRIPTION
remainder(), remainderf(), remainderl(), remquo(), remquof(), and remquol() return 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 attempting to take the remainder when y is 0 or x is +-infinity is an invalid operation that produces a NaN. The remquo(), remquof(), and remquol() functions also store the last k bits of n in the location pointed to by quo, provided that n exists. The number of bits k is platform-specific, but is guaranteed to be at least 3. SEE ALSO
fmod(3), ieee(3), math(3) STANDARDS
The remainder(), remainderf(), remainderl(), remquo(), remquof(), and remquol() routines conform to ISO/IEC 9899:1999 (``ISO C99''). The remainder is as defined in IEEE Std 754-1985. HISTORY
The remainder() and remainderf() functions appeared in 4.3BSD and FreeBSD 2.0, respectively. The remquo() and remquof() functions were added in FreeBSD 6.0, and remainderl() and remquol() were added in FreeBSD 8.0. BSD
March 30, 2008 BSD
Man Page