Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


RINT(3) Linux Programmer's Manual RINT(3)


     nearbyint,  nearbyintf, nearbyintl, rint, rintf, rintl - round to near-
     est integer


     #include <math.h>
     double nearbyint(double x);
     float nearbyintf(float x);
     long double nearbyintl(long double x);
     double rint(double x);
     float rintf(float x);
     long double rintl(long double x);
     Link with -lm.
 Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
     nearbyint(), nearbyintf(), nearbyintl():
         _POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE
         _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
             || _XOPEN_SOURCE >= 500
             || /* Since glibc 2.19: */ _DEFAULT_SOURCE
             || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
     rintf(), rintl():
         _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
             || /* Since glibc 2.19: */ _DEFAULT_SOURCE
             || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE


     The nearbyint(), nearbyintf(), and nearbyintl() functions  round  their
     argument  to  an integer value in floating-point format, using the cur-
     rent rounding direction (see fesetround(3))  and  without  raising  the
     inexact  exception.  When the current rounding direction is to nearest,
     these functions round halfway cases to the even integer  in  accordance
     with IEEE-754.
     The  rint(), rintf(), and rintl() functions do the same, but will raise
     the inexact exception (FE_INEXACT, checkable via fetestexcept(3))  when
     the result differs in value from the argument.


     These functions return the rounded integer value.
     If x is integral, +0, -0, NaN, or infinite, x itself is returned.


     No  errors  occur.  POSIX.1-2001 documents a range error for overflows,
     but see NOTES.


     For  an  explanation  of  the  terms  used   in   this   section,   see
     allbox;  lbw26  lb lb l l l.  Interface Attribute Value T{ nearbyint(),
     nearbyintl(), rint(),
     rintf(), rintl() T}   Thread safety  MT-Safe


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


     SUSv2 and POSIX.1-2001 contain text about  overflow  (which  might  set
     errno  to ERANGE, or raise an FE_OVERFLOW exception).  In practice, the
     result cannot overflow on any current machine, so  this  error-handling
     stuff is just nonsense.  (More precisely, overflow can happen only when
     the maximum value of the exponent is smaller than the  number  of  man-
     tissa bits.  For the IEEE-754 standard 32-bit and 64-bit floating-point
     numbers the maximum value of the exponent is 128 (respectively,  1024),
     and the number of mantissa bits is 24 (respectively, 53).)
     If you want to store the rounded value in an integer type, you probably
     want to use one of the functions described in lrint(3) instead.


     ceil(3), floor(3), lrint(3), round(3), trunc(3)


     This page is part of release 4.16 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
                                2017-09-15                           RINT(3)
/data/webs/external/dokuwiki/data/pages/man/rintl.txt · Last modified: 2019/05/17 09:32 by

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki