Man Page anint.3m




NAME

     aint, anint, irint,  nint  -  round  to  integral  value  in
     floating-point or integer format


SYNOPSIS

     cc [ flag ... ] file ...  -lsunmath -lm [ library ... ]

     #include <sunmath.h>

     double aint(double x);

     double anint(double x);

     int irint(double x);

     int nint(double x);


DESCRIPTION

     aint() and anint() convert a double value into  an  integral
     value  in double format.  They differ in how they choose the
     result when the argument is not already an  integral  value.
     Here  an  integral  value  means  a  value of a mathematical
     integer, which however might be too large to fit in  a  par-
     ticular  computer's  int  format.   All  sufficiently  large
     values in a particular  floating-point  format  are  already
     integral;  in  IEEE  double-precision format, that means all
     values >= 2**52.  Zeros,  infinities,  and  quiet  NaNs  are
     treated  as integral values by these functions, which always
     preserve their argument's sign.

     aint() returns the integral value between x and  0,  nearest
     x.  This corresponds to IEEE rounding toward zero and to the
     Fortran generic intrinsic function aint.

     anint() returns the nearest  integral  value  to  x,  except
     halfway  cases  are  rounded to the integral value larger in
     magnitude.  This corresponds to the Fortran generic  intrin-
     sic function anint.

     irint() converts x into int format according to the  current
     IEEE rounding direction.

     nint() converts x into int format rounding  to  the  nearest
     int value, except halfway cases are rounded to the int value
     larger in magnitude.  This corresponds to the  Fortran  gen-
     eric intrinsic function nint.


SEE ALSO

     floor(3M)