remainder(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
REMAINDER(3)            NetBSD Library Functions Manual           REMAINDER(3)

remainder, remainderf, remquo, remquof -- remainder functions
Math Library (libm, -lm)
#include <math.h> double remainder(double x, double y); float remainderf(float x, float y); double remquo(double x, double y, int *quo); float remquof(float x, float y, int *quo);
Provided that y != 0 , the remainder() and remainderf() functions calcu- late the floating-point remainder r of r = x - ny, where n is the integral value nearest to the exact value of x / y. If | n - x / y | = 1/2 , the value n is chosen to be even. Consequently, the remainder is com- puted exactly and | r | <= | y | / 2 . Also the remquo() and remquof() functions calculate the remainder as described above. But these additionally use quo to store a value whose sign is the sign of x / y and whose magnitude is congruent modulo 2^k to the magnitude of the integral quotient of x / y, where k is an implemen- tation-defined integer greater than or equal to 3. The rationale of the remquo() family of functions relates to situations where only few bits of the quotient are required. The exact representa- tion of the quotient may not be meaningful when x is large in magnitude compared to y.
The functions return the remainder independent of the rounding mode. If y is zero , NaN is returned and a domain error occurs. A domain error occurs and a NaN is returned also when x is infinite but y is not a NaN. If either x or y is NaN, a NaN is always returned.
div(3), fast_remainder32(3), fmod(3), math(3)
The described functions conform to ISO/IEC 9899:1999 (``ISO C99''). NetBSD 9.2 September 18, 2011 NetBSD 9.2
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.