REMAINDER(3) | Linux Programmer's Manual | REMAINDER(3) |
NAME
drem, dremf, dreml, remainder, remainderf, remainderl - floating-point remainder functionSYNOPSIS
#include<math.h>
/* The C99 versions */
double remainder(double x , double y );
float remainderf(float x , float y );
long double remainderl(long double x , long double y );
/* Obsolete synonyms */
double drem(double x , double y );
float dremf(float x , float y );
long double dreml(long double x , long double y );
Link with -lm.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or
cc -std=c99
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or
cc -std=c99
_SVID_SOURCE || _BSD_SOURCE
DESCRIPTION
The remainder() function computes the remainder of dividing x by y. The return value is x- n* y, where n is the value x / y, rounded to the nearest integer. If the absolute value of x- n* y is 0.5, n is chosen to be even.The drem() function does precisely the same thing.
RETURN VALUE
On success, these functions return the floating-point remainder, x- n* y. If the return value is 0, it has the sign of x.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 and y is not a NaN
- An invalid floating-point exception ( FE_INVALID) is raised.
- These functions do not set errno for this case.
- Domain error: y is zero
- errno is set to EDOM. An invalid floating-point exception ( FE_INVALID) is raised.
CONFORMING TO
The functions remainder(), remainderf(), and remainderl() are specified in C99 and POSIX.1-2001.BUGS
The callremainder(nan(""), 0);
EXAMPLE
The call "remainder(29.0, 3.0)" returns -1.SEE ALSO
div(3), fmod(3), remquo(3)COLOPHON
This page is part of release 3.53 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/.2010-09-20 |