REMQUO(3)

NAME
remquo - floating-point remainder and quotient function

SYNOPSIS
#include <math.h>
double
remquo(double x, double y, int *quo);
long double
remquol(long double x, long double y, int *quo);
float
remquof(float x, float y, int *quo);

DESCRIPTION
The remquo() functions compute the value r such that r = x - n*y, where n is the integer nearest the exact value of x/y.

If there are two integers closest to x/y, n shall be the even one. If r is zero, it is given the same sign as x. This is the same value that is returned by the remainder() function. remquo() also calculates the lower seven bits of the integral quotient x/y, and gives that value the same sign as x/y. It stores this signed value in the object pointed to by quo.

SPECIAL VALUES
remquo(x, y, quo) returns a NaN and raises the "invalid" floating-point exception if x is infinite or y is 0.

VECTOR OPERATIONS
If you need to apply the remquo() function to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat vremquo(vFloat x, vFloat y, vUInt32 *q);

SEE ALSO
math(3), remainder(3)

STANDARDS
The remquo() functions conform to ISO/IEC 9899:2011.