REMQUO(3M) | Mathematical Library Functions | REMQUO(3M) |

remquo, remquof, remquol - remainder functions

c99 [flag... ]file...-lm[library... ] #include <math.h>doubleremquo(doublex,doubley,int *quo);

floatremquof(floatx,floaty,int *quo);

long doubleremquol(long doublex,long doubley,int *quo);

The **remquo()**, **remquof()**, and **remquol()**
functions compute the same remainder as the **remainder()**,
**remainderf()**, and **remainderl()** functions, respectively. See
remainder(3M). In the object pointed to by *quo*, they store a
value whose sign is the sign of *x*/*y* and whose magnitude is
congruent modulo 2^*n* to the magnitude of the integral quotient of
*x*/*y*, where *n* is an integer greater than or equal to
3.

These functions return *x* REM *y*.

If *x* or *y* is NaN, a NaN is returned.

If *x* is ±Inf or *y* is 0 and the other argument
is non-NaN, a domain error occurs and a NaN is returned.

These functions will fail if:

**Domain Error**

The *x* argument is Inf or the *y* argument is
0 and the other argument is non-NaN.

If the integer expression (**math_errhandling** &
**MATH_ERREXCEPT**) is non-zero, then the invalid floating-point
exception is raised.

An application wanting to check for exceptions should call
**feclearexcept**(**FE_ALL_EXCEPT**) before calling these functions.
On return, if **fetestexcept**(**FE_INVALID** | **FE_DIVBYZERO** |
**FE_OVERFLOW** | **FE_UNDERFLOW**) is non-zero, an exception has been
raised. An application should either examine the return value or check the
floating point exception flags to detect exceptions.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE | ATTRIBUTE VALUE |

Interface Stability | Standard |

MT-Level | MT-Safe |

math.h(3HEAD), feclearexcept(3M), fetestexcept(3M), remainder(3M), attributes(7), standards(7)

July 12, 2006 | SunOS 5.11 |