fmod, drem, remainder - Compute the floating-point remainder
#include <math.h>
double fmod(
double x,
double y ); float fmodf(
float x,
float y ); long double fmodl(
long double x,
long double y ); double drem(
double x,
double y ); float dremf(
float x,
float y ); long double dreml(
long double x,
long double y ); double remainder(
double x,
double y ); float remainderf(
float x,
float y ); long double remainderl(
long double x,
long double y );
Math Library (libm)
Interfaces documented on this reference page conform to
industry standards as follows:
fmod(): XPG4
remainder(): XPG4-UNIX
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The fmod(), fmodf(), and fmodl() functions return the
remainder r = x - n*y, where n = trunc(x/y). The result
has the same sign as x and magnitude less than the magnitude
of y. The remainder is computed exactly and |r| is
less than |y|.
The drem(), dremf(), dreml(), remainder(), remainderf(),
and remainderl() functions return the remainder r = x -
n*y, where n = rint(x/y). Additionally, if |n- x/y|=1/2,
then n is even. The remainder is computed exactly and |r|
is less than or equal to |y|/2.
The drem() and remainder() functions are aliases of each
other. The dremf(), and remainderf() functions are aliases
of each other. The dreml() and remainderl() functions are
aliases of each other.
The following table describes function behavior in
response to exceptional arguments:
---------------------------------------------------------------------
Function Exceptional Argu- Routine Behavior
ment
---------------------------------------------------------------------
fmod(), fmodf(), fmodl() x = infinity Invalid argument
fmod(), fmodf(), fmodl() y = 0 Invalid argument
drem(), dremf(), dreml() x = infinity Invalid argument
drem(), dremf(), dreml() y = 0 Invalid argument
remainder() x = infinity Invalid argument
remainderf() x = infinity Invalid argument
remainderl() x = infinity Invalid argument
remainder() y = 0 Invalid argument
remainderf() y = 0 Invalid argument
remainderl() y = 0 Invalid argument
---------------------------------------------------------------------
fmod(3)
[ Back ] |