## table of contents

other versions

- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- stretch 4.10-2
- testing 4.16-1
- stretch-backports 4.16-1~bpo9+1
- unstable 4.16-1

other sections

REMQUO(3) | Linux Programmer's Manual | REMQUO(3) |

# NAME¶

remquo, remquof, remquol - remainder and part of quotient# SYNOPSIS¶

Link with#include <math.h>double remquo(doublex, doubley, int *quo);float remquof(floatx, floaty, int *quo);long double remquol(long doublex, long doubley, int *quo);

*-lm*.

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*# 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.

*errno*.

# VERSIONS¶

These functions first appeared in glibc in version 2.1.# ATTRIBUTES¶

## Multithreading (see pthreads(7))¶

The**remquo**(),

**remquof**(), and

**remquol**() functions are thread-safe.

# CONFORMING TO¶

C99, POSIX.1-2001.# SEE ALSO¶

fmod(3), logb(3), remainder(3)# COLOPHON¶

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

2014-05-10 | GNU |