Round a floatingpoint number to the nearest integer value, using the current rounding direction
Synopsis:
#include <math.h>
long int lrint( double x );
long int lrintf( float x );
long int lrintl( long double x );
Arguments:
 x
 The number that you want to round.
Library:
libm
Use the l m option to
qcc
to link against this library.
Description:
The lrint(), lrintf(), and lrintl() functions
round a floatingpoint number to the nearest integer value, using the current rounding direction.
To check for error situations, use
feclearexcept()
and
fetestexcept():
 Call feclearexcept(FE_ALL_EXCEPT) before calling
lrint(), lrintf(), or lrintl().
 On return, if fetestexcept(FE_INVALID  FE_DIVBYZERO  FE_OVERFLOW  FE_UNDERFLOW)
is nonzero, then an error has occurred.
Returns:
The rounded integer value.
 If x is NaN, a domain error occurs and an unspecified value is returned.
 If x is +Inf, a domain error occurs and an unspecified value is returned.
 If x is Inf, a domain error occurs and an unspecified value is returned.
 If the correct value is positive and too large to represent as a long,
an unspecified value is returned, and a domain error may occur.
 If the correct value is negative and too large to represent as a long,
an unspecified value is returned, and a domain error may occur.
Errors:
 FE_INVALID
 The x argument is NaN or ±Inf, or the correct value isn't representable
as an integer.
Classification:
ANSI,
POSIX 1003.1
Safety: 

Cancellation point 
No 
Interrupt handler 
No 
Signal handler 
No 
Thread 
Yes 