Namespaces
Variants
Views
Actions

std::remquo

From cppreference.com
 
 
 
Common mathematical functions
Functions
Basic operations
remainder(C++11)
remquo(C++11)
fma(C++11)
fmax(C++11)
fmin(C++11)
fdim(C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
Exponential functions
exp
exp2(C++11)
expm1(C++11)
log
log10
log1p(C++11)
log2(C++11)
Power functions
sqrt
cbrt(C++11)
hypot(C++11)
pow
Trigonometric and hyperbolic functions
sinh
cosh
tanh
asinh(C++11)
acosh(C++11)
atanh(C++11)
Error and gamma functions
erf(C++11)
erfc(C++11)
lgamma(C++11)
tgamma(C++11)
Nearest integer floating point operations
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc(C++11)
nearbyint(C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
Floating point manipulation functions
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb(C++11)
logb(C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign(C++11)
Classification
fpclassify(C++11)
isfinite(C++11)
isinf(C++11)
isnan(C++11)
isnormal(C++11)
signbit(C++11)
Macro constants
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
FLT_EVAL_METHOD(C++11)
 
Defined in header <cmath>
float       remquo( float x, float y, int *quo );
(1) (since C++11)
double      remquo( double x, double y, int *quo );
(2) (since C++11)
long double remquo( long double x, long double y, int *quo );
(3) (since C++11)
Promoted    remquo( Arithmetic x, Arithmetic y, int *quo );
(4) (since C++11)

Computes the remainder of the floating point division operation x/y as the remainder function does. Additionally, the sign and at least the three of the last bits of x/y will be stored in quo.

4) If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double

Contents

[edit] Parameters

x, y - floating point values
quo - pointer to an integer value to store some bits of x/y in

[edit] Return value

remainder of dividing arguments

[edit] Notes

This function is useful when implementing periodic functions with the period exactly representable as a floating-point value: when calculating sin(πx) for a very large x, calling std::sin directly may result in a large error, but if the function argument is first reduced with std::remquo, the low-order bits of the quotient may be used to determine the sign and the remainder may be used to calculate the value with high precision.

[edit] See also

(C++11)
signed remainder of the division operation
(function) [edit]
remainder of the floating point division operation
(function) [edit]
the quotient and remainder of integer division
(function) [edit]