REMAINDER(3) OpenBSD Programmer's Manual REMAINDER(3)NAME
remainder, remainderf, remquo, remquof - minimal residue functions
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);
DESCRIPTIONremainder(), remainderf(), remquo(), and remquof() 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() and remquof() 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 ALSOfmod(3), math(3), nextafter(3)STANDARDS
The remainder(), remainderf(), remquo(), and remquof() routines conform
to ISO/IEC 9899:1999 (``ISO C99''). The remainder is as defined in IEEE
Std 754-1985.
drem() and dremf() are deprecated aliases for remainder() and
remainderf(), respectively.
HISTORY
The remainder() and remainderf() functions appeared in 4.3BSD and
NetBSD 1.2, respectively. The remquo() and remquof() functions were
added in OpenBSD 4.4.
OpenBSD 4.9 March 26, 2010 OpenBSD 4.9