Man Linux: Main Page and Category List

NAME

       llrint,  llrintf,  llrintl  -  round to the nearest integer value using
       current rounding direction

SYNOPSIS

       #include <math.h>

       long long llrint(double x);
       long long llrintf(float x);
       long long llrintl(long double x);

DESCRIPTION

       These functions shall round  their  argument  to  the  nearest  integer
       value, rounding according to the current rounding direction.

       An  application  wishing to check for error situations should set errno
       to zero and  call  feclearexcept(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 rounded
       integer value.

       If x is NaN, a domain error shall occur, and an  unspecified  value  is
       returned.

       If  x  is  +Inf, a domain error shall occur and an unspecified value is
       returned.

       If x is -Inf, a domain error shall occur and an  unspecified  value  is
       returned.

       If  the  correct value is positive and too large to represent as a long
       long, a domain error shall occur and an unspecified value is  returned.

       If  the  correct value is negative and too large to represent as a long
       long, a domain error shall occur and an unspecified value is  returned.

ERRORS

       These functions shall fail if:

       Domain Error
              The  x  argument  is  NaN  or  ±Inf, or the correct value is not
              representable as an integer.

       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

       These  functions  provide  floating-to-integer  conversions. They round
       according to the current rounding direction. If the  rounded  value  is
       outside the range of the return type, the numeric result is unspecified
       and the invalid floating-point exception is raised. When they raise  no
       other   floating-point  exception  and  the  result  differs  from  the
       argument, they raise the inexact floating-point exception.

FUTURE DIRECTIONS

       None.

SEE ALSO

       feclearexcept() , fetestexcept()  ,  lrint()  ,  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 Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute 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.opengroup.org/unix/online.html .