remainder(P)                                       remainder(P)





NAME
       remainder, remainderf, remainderl - remainder function

SYNOPSIS
       #include <math.h>

       double remainder(double x, double y);
       float remainderf(float x, float y);
       long double remainderl(long double x, long double y);


DESCRIPTION
       The  functionality  described  on this reference page is
       aligned with the ISO C standard.  Any  conflict  between
       the  requirements  described here and the ISO C standard
       is unintentional.  This volume  of  IEEE Std 1003.1-2001
       defers to the ISO C standard.

       These  functions shall return the floating-point remain-
       der r= x- ny when y is non-zero.  The  value  n  is  the
       integral  value  nearest the exact value x/ y.  When |n-
       x/y|=0.5, the value n is chosen to be even.

       The behavior of remainder() shall be independent of  the
       rounding mode.

RETURN VALUE
       Upon successful completion, these functions shall return
       the floating-point remainder r= x- ny  when  y  is  non-
       zero.

       If x or y is NaN, a NaN shall be returned.

       If  x  is infinite or y is 0 and the other is non-NaN, a
       domain error shall occur, and  either  a  NaN  (if  sup-
       ported),  or  an  implementation-defined  value shall be
       returned.

ERRORS
       These functions shall fail if:

       Domain Error
              The x argument is +-Inf, or the y argument is +-0
              and the other argument is non-NaN.

       If    the   integer   expression   (math_errhandling   &
       MATH_ERRNO) is non-zero, then  errno  shall  be  set  to
       [EDOM].  If  the  integer expression (math_errhandling &
       MATH_ERREXCEPT) is non-zero, then the invalid  floating-
       point exception shall be raised.


       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       On    error,   the   expressions   (math_errhandling   &
       MATH_ERRNO) and (math_errhandling & MATH_ERREXCEPT)  are
       independent of each other, but at least one of them must
       be non-zero.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       abs() ,  div()  ,  feclearexcept()  ,  fetestexcept()  ,
       ldiv()    ,    the    Base    Definitions    volume   of
       IEEE Std 1003.1-2001, Section 4.18, Treatment  of  Error
       Conditions for Mathematical Functions, <math.h>

COPYRIGHT
       Portions  of  this  text are reprinted and reproduced in
       electronic form from  IEEE  Std  1003.1,  2003  Edition,
       Standard  for Information Technology -- Portable Operat-
       ing System Interface (POSIX), The Open Group Base Speci-
       fications Issue 6, Copyright (C) 2001-2003 by the Insti-
       tute of Electrical and Electronics  Engineers,  Inc  and
       The  Open Group. In the event of any discrepancy between
       this version and the original IEEE and  The  Open  Group
       Standard,  the original IEEE and The Open Group Standard
       is the referee document. The original  Standard  can  be
       obtained        online        at        http://www.open-
       group.org/unix/online.html .



POSIX                         2003                 remainder(P)
