Man Linux: Main Page and Category List

NAME

       remquo, remquof, remquol - remainder and part of quotient

SYNOPSIS

       #include <math.h>

       double remquo(double x, double y, int *quo);
       float remquof(float x, float y, int *quo);
       long double remquol(long double x, long double y, int *quo);

       Link with -lm.

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       remquo(), remquof(), remquol(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE;
       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.

       These functions do not set errno.

VERSIONS

       These functions first appeared in glibc in version 2.1.

CONFORMING TO

       C99, POSIX.1-2001.

SEE ALSO

       fmod(3), logb(3), remainder(3)

COLOPHON

       This  page  is  part of release 3.24 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/.