Next: FP Bit Twiddling, Previous: Rounding Functions, Up: Arithmetic Functions
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.5minus4.6.The result has the same sign as the numerator and has magnitude less than the magnitude of the denominator.
If denominator is zero,
fmodsignals a domain error.
— Function: float dremf (float numerator, float denominator)
— Function: long double dreml (long double numerator, long double denominator)
These functions are like
fmodexcept that they rounds 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.5minus6.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,
dremsignals a domain error.