# llround(3) [osx man page]

```ROUND(3)						   BSD Library Functions Manual 						  ROUND(3)

NAME
round, lround, llround -- round to integral value, regardless of rounding direction

SYNOPSIS
#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);

DESCRIPTION
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 cur-
rent 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.

SPECIAL VALUES
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.

NOTE
The roundtol() function is deprecated.  Please use the C99 function lround() instead.

VECTOR OPERATIONS
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);

ceil(3), floor(3), trunc(3), math(3)

STANDARDS
The round() , lround() , and llround() functions conform to ISO/IEC 9899:2011.

BSD								   July 02, 2008							       BSD```

## Check Out this Related Man Page

```ROUND(3)						   BSD Library Functions Manual 						  ROUND(3)

NAME
round, lround, llround -- round to integral value, regardless of rounding direction

SYNOPSIS
#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);

DESCRIPTION
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 cur-
rent 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.

SPECIAL VALUES
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.

NOTE
The roundtol() function is deprecated.  Please use the C99 function lround() instead.

VECTOR OPERATIONS
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);