OpenBSD manual page server

Manual Page Search Parameters

REMAINDER(3) Library Functions Manual REMAINDER(3)

remainder, remainderf, remainderl, remquo, remquof, remquol, drem, dremfminimal residue functions

#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);

(), (), (), 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 (), () and () 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)

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.

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.

April 26, 2016 OpenBSD-current