ROUND(3) | Library Functions Manual | ROUND(3) |
round
, lround
,
llround
— round to integral
value, regardless of rounding direction
#include
<math.h>
double
round
(double
x);
long double
roundl
(long
double x);
float
roundf
(float
x);
long int
lround
(double
x);
long int
lroundl
(long
double x);
long int
lroundf
(float
x);
long long int
llround
(double
x);
long long int
llroundl
(long
double x);
long long int
llroundf
(float
x);
The
round
()
functions return the integral value nearest to x
rounding half-way cases away from zero, regardless of the current rounding
direction.
The
lround
() and
llround
()
functions return the integral value nearest to x
(rounding half-way cases away from zero, regardless of the current rounding
direction) in the return formats specified. 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. A range error may
occur if the magnitude of x is too large.
round
(±0)
returns ±0.
round
(±infinity)
returns ±infinity.
The
round
()
functions may, but are not required to, raise the "inexact"
floating-point exception for non-integer numeric arguments.
The
lround
()
and
llround
()
functions need not raise the "inexact" floating-point exception
for non-integer arguments that round to within the range of the return
type.
The
roundtol
()
function is deprecated. Please use the C99 function
lround
() instead.
If you need to apply the round
() function
to SIMD vectors or arrays, using the following functions provided by the
Accelerate.framework may give significantly better performance:
#include
<Accelerate/Accelerate.h>
vFloat
vnintf
(vFloat
x);
void
vvnintf
(float
*y, const float *x, const int
*n);
void
vvnint
(double
*y, const double *x, const int
*n);
The round
() ,
lround
() , and llround
()
functions conform to ISO/IEC 9899:2011.
July 2, 2008 | macOS 15.2 |