## Name

remquo, remquof, remquol — remainder and part of quotient

## Synopsis

```#include <math.h>
```
 ```double remquo(``` double x, double y, int *quo`)`;

 ```float remquof(``` float x, float y, int *quo`)`;

 ```long double remquol(``` long double x, long double y, int *quo`)`; Note
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
`remquo`(), `remquof`(), `remquol`():
`_XOPEN_SOURCE` >= 600 || `_ISOC99_SOURCE` || `_POSIX_C_SOURCE` >= 200112L;
or cc `-std=c99`
Note Link with `−lm`.

## DESCRIPTION

These functions compute the remainder and part of the quotient upon division of `x` by `y`. A few bits of the quotient are stored via the `quo` pointer. The remainder is returned as the function result.

The value of the remainder is the same as that computed by the remainder(3) function.

The value stored via the `quo` pointer has the sign of x / y and agrees with the quotient in at least the low order 3 bits.

For example, remquo(29.0, 3.0) returns −1.0 and might store 2. Note that the actual quotient might not fit in an integer.

## RETURN VALUE

On success, these functions return the same value as the analogous functions described in remainder(3).

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

If `x` is an infinity, and `y` is not a NaN, a domain error occurs, and a NaN is returned.

If `y` is zero, and `x` is not a NaN, a domain error occurs, and a NaN is returned.

## ERRORS

See math_error(7) for information on how to determine whether an error has occurred when calling these functions.

The following errors can occur:

Domain error: `x` is an infinity or `y` is 0, and the other argument is not a NaN

An invalid floating-point exception (`FE_INVALID`) is raised.

These functions do not set `errno`.

## VERSIONS

These functions first appeared in glibc in version 2.1.

## CONFORMING TO

C99, POSIX.1-2001.

This page is part of release 3.52 of the Linux `man-pages` project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man−pages/.