REMQUO(3)                 (2017-09-15)                  REMQUO(3)

     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():
              _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

     DESCRIPTION
          These functions compute the remainder and part of  the  quo-
          tient  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 inte-
          ger.

     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.

     Page 1                         GNU              (printed 5/17/22)

     REMQUO(3)                 (2017-09-15)                  REMQUO(3)

          The following errors can occur:

     is not a NaN
          Domain error: x is an infinity or y is 0, and the other  argument
               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.

     ATTRIBUTES
          For an explanation of the terms used in  this  section,  see
          attributes(7).     allbox;    lbw30    lb    lb   l   l   l.
          Interface Attribute Value T{ remquo(), remquof(),  remquol()
          T}   Thread safety  MT-Safe

     CONFORMING TO
          C99, POSIX.1-2001, POSIX.1-2008.

     SEE ALSO
          fmod(3), logb(3), remainder(3)

     COLOPHON
          This page is part of release 5.10  of  the  Linux  man-pages
          project.   A  description  of the project, information about
          reporting bugs, and the latest version of this page, can  be
          found at https://www.kernel.org/doc/man-pages/.

     Page 2                         GNU              (printed 5/17/22)