REMAINDER(3)
 REMAINDER(3) FreeBSD 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.