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:
`double`

**fmod**`(double`

¶`numerator`, double`denominator`) - Function:
`float`

**fmodf**`(float`

¶`numerator`, float`denominator`) - Function:
`long double`

**fmodl**`(long double`

¶`numerator`, long double`denominator`) - Function:
`_FloatN`

**fmodfN**`(_Float`

¶`N``numerator`, _Float`N``denominator`) - Function:
`_FloatNx`

**fmodfNx**`(_Float`

¶`N`x`numerator`, _Float`N`x`denominator`) -
Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

These functions compute the remainder from the division of

`numerator`by`denominator`. Specifically, the return value is

, where`numerator`-`n`*`denominator``n`is the quotient of`numerator`divided by`denominator`, rounded towards zero to an integer. Thus,`fmod (6.5, 2.3)`

returns`1.9`

, which is`6.5`

minus`4.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:
`double`

**remainder**`(double`

¶`numerator`, double`denominator`) - Function:
`float`

**remainderf**`(float`

¶`numerator`, float`denominator`) - Function:
`long double`

**remainderl**`(long double`

¶`numerator`, long double`denominator`) - Function:
`_FloatN`

**remainderfN**`(_Float`

¶`N``numerator`, _Float`N``denominator`) - Function:
`_FloatNx`

**remainderfNx**`(_Float`

¶`N`x`numerator`, _Float`N`x`denominator`) -
Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

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,`remainder (6.5, 2.3)`

returns`-0.4`

, which is`6.5`

minus`6.9`

.The absolute value of the result is less than or equal to half the absolute value of the

`denominator`. The difference between`fmod (`

and`numerator`,`denominator`)`remainder (`

is always either`numerator`,`denominator`)`denominator`, minus`denominator`, or zero.If

`denominator`is zero,`remainder`

signals a domain error.

- Function:
`double`

**drem**`(double`

¶`numerator`, double`denominator`) - Function:
`float`

**dremf**`(float`

¶`numerator`, float`denominator`) - Function:
`long double`

**dreml**`(long double`

¶`numerator`, long double`denominator`) -
Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.

This function is another name for

`remainder`

.