# DragonFly On-Line Manual Pages

Search: Section:

```REMAINDER(3)	      DragonFly Library Functions Manual	  REMAINDER(3)

NAME
remainder, remainderf, remainderl, remquo, remquof, remquol -- minimal
residue functions

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 near-
est 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.

fmod(3), nextafter(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.

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