rint(P)                                                 rint(P)





NAME
       rint, rintf, rintl - round-to-nearest integral value

SYNOPSIS
       #include <math.h>

       double rint(double x);
       float rintf(float x);
       long double rintl(long double x);


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 integral value (repre-
       sented as a double) nearest x in the  direction  of  the
       current  rounding  mode.  The  current  rounding mode is
       implementation-defined.

       If the current  rounding  mode  rounds  toward  negative
       infinity,  then  rint() shall be equivalent to floor() .
       If the current  rounding  mode  rounds  toward  positive
       infinity, then rint() shall be equivalent to ceil() .

       These  functions  differ  from  the nearbyint(), nearby-
       intf(), and nearbyintl() functions only in that they may
       raise the inexact floating-point exception if the result
       differs in value from the argument.

       An application wishing to  check  for  error  situations
       should   set   errno   to   zero   and  call  feclearex-
       cept(FE_ALL_EXCEPT) before calling these functions.   On
       return,  if errno is non-zero or fetestexcept(FE_INVALID
       | FE_DIVBYZERO | FE_OVERFLOW  |  FE_UNDERFLOW)  is  non-
       zero, an error has occurred.

RETURN VALUE
       Upon successful completion, these functions shall return
       the integer (represented as a double  precision  number)
       nearest x in the direction of the current rounding mode.

       If x is NaN, a NaN shall be returned.

       If x is +-0 or +-Inf, x shall be returned.

       If the correct value would cause overflow, a range error
       shall  occur  and  rint(),  rintf(),  and  rintl() shall
       return the value of the macro  +-HUGE_VAL,  +-HUGE_VALF,
       and +-HUGE_VALL (with the same sign as x), respectively.

ERRORS
       These functions shall fail if:

       Range Error
              The result would cause an overflow.

       If   the   integer   expression   (math_errhandling    &
       MATH_ERRNO)  is  non-zero,  then  errno  shall be set to
       [ERANGE]. If the integer expression (math_errhandling  &
       MATH_ERREXCEPT) is non-zero, then the overflow 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()  ,  ceil()  ,  feclearexcept()  , fetestexcept() ,
       floor() , isnan() , nearbyint() , 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                      rint(P)
