The functions in this section compute the remainder on division of two floating-point numbers. Each is a little different; pick the one that suits your problem.
— Function: float fmodf (float numerator, float denominator)
— Function: long double fmodl (long double numerator, long double denominator)
These functions compute the remainder from the division of numerator by denominator. Specifically, the return value is numerator
-
n*
denominator, where n is the quotient of numerator divided by denominator, rounded towards zero to an integer. Thus,
fmod (6.5, 2.3)
returns1.9
, which is6.5
minus4.6
.The result has the same sign as the numerator and has magnitude less than the magnitude of the denominator.
If denominator is zero,
fmod
signals a domain error.
— Function: float dremf (float numerator, float denominator)
— Function: long double dreml (long double numerator, long double denominator)
These functions are like
fmod
except that they round the internal quotient n to the nearest integer instead of towards zero to an integer. For example,drem (6.5, 2.3)
returns-0.4
, which is6.5
minus6.9
.The absolute value of the result is less than or equal to half the absolute value of the denominator. The difference between
fmod (
numerator,
denominator)
anddrem (
numerator,
denominator)
is always either denominator, minus denominator, or zero.If denominator is zero,
drem
signals a domain error.