# remainder(3) [freebsd man page]

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

remainder, remainderf, remainderl, remquo, remquof, remquolminimal 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

## Check Out this Related Man Page

NAME

remainder, remainderf, remainderl, remquo, remquof, remquolminimal 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