lrint(), lrintf(), lrintl()

Round a floating-point 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 floating-point number to the nearest integer value, using the current rounding direction.

To check for error situations, use feclearexcept() and fetestexcept(). For example:

Returns:

The rounded integer value.

If: These functions return: Errors:
x is ±Inf An unspecified value FE_INVALID
x is NaN An unspecified value FE_INVALID
The correct value is too large to represent as a long An unspecified value FE_INVALID

These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes