2005-01-11 23:12:17 +00:00
|
|
|
.\" Copyright (c) 2005 David Schultz <das@FreeBSD.org>
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
2008-01-14 02:12:07 +00:00
|
|
|
.Dd January 13, 2008
|
2005-01-11 23:12:17 +00:00
|
|
|
.Dt LRINT 3
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm llrint ,
|
|
|
|
.Nm llrintf ,
|
2008-01-14 02:12:07 +00:00
|
|
|
.Nm llrintl ,
|
2005-01-11 23:12:17 +00:00
|
|
|
.Nm lrint ,
|
2008-01-14 02:12:07 +00:00
|
|
|
.Nm lrintf ,
|
|
|
|
.Nm lrintl
|
2005-01-13 10:43:01 +00:00
|
|
|
.Nd "convert to integer"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Sh LIBRARY
|
|
|
|
.Lb libm
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.In math.h
|
2005-01-13 10:43:01 +00:00
|
|
|
.Ft "long long"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fn llrint "double x"
|
2005-01-13 10:43:01 +00:00
|
|
|
.Ft "long long"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fn llrintf "float x"
|
2008-01-14 02:12:07 +00:00
|
|
|
.Ft "long long"
|
|
|
|
.Fn llrintl "long double x"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Ft long
|
|
|
|
.Fn lrint "double x"
|
|
|
|
.Ft long
|
|
|
|
.Fn lrintf "float x"
|
2008-01-14 02:12:07 +00:00
|
|
|
.Ft long
|
|
|
|
.Fn lrintl "long double x"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Fn lrint
|
|
|
|
function returns the integer nearest to its argument
|
|
|
|
.Fa x
|
|
|
|
according to the current rounding mode.
|
|
|
|
If the rounded result is too large to be represented as a
|
2005-01-13 10:43:01 +00:00
|
|
|
.Vt long
|
2005-01-11 23:12:17 +00:00
|
|
|
value, an invalid exception is raised and the return value is undefined.
|
|
|
|
Otherwise, if
|
|
|
|
.Fa x
|
|
|
|
is not an integer,
|
|
|
|
.Fn lrint
|
|
|
|
raises an inexact exception.
|
|
|
|
When the rounded result is representable as a
|
2005-01-13 10:43:01 +00:00
|
|
|
.Vt long ,
|
2005-01-11 23:12:17 +00:00
|
|
|
the expression
|
2005-01-13 10:43:01 +00:00
|
|
|
.Fn lrint x
|
2005-01-11 23:12:17 +00:00
|
|
|
is equivalent to
|
2005-01-13 10:43:01 +00:00
|
|
|
.Po Vt long Pc Ns Fn rint x
|
|
|
|
(although the former may be more efficient).
|
2005-01-11 23:12:17 +00:00
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fn llrint ,
|
|
|
|
.Fn llrintf ,
|
2008-01-14 02:12:07 +00:00
|
|
|
.Fn llrintl ,
|
|
|
|
.Fn lrintf ,
|
2005-01-11 23:12:17 +00:00
|
|
|
and
|
2008-01-14 02:12:07 +00:00
|
|
|
.Fn lrintl
|
2005-01-11 23:12:17 +00:00
|
|
|
functions differ from
|
|
|
|
.Fn lrint
|
|
|
|
only in their input and output types.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr lround 3 ,
|
|
|
|
.Xr math 3 ,
|
|
|
|
.Xr rint 3 ,
|
|
|
|
.Xr round 3
|
|
|
|
.Sh STANDARDS
|
2008-01-14 02:12:07 +00:00
|
|
|
These functions conform to
|
|
|
|
.St -isoC-99 .
|
|
|
|
.Sh HISTORY
|
2005-01-11 23:12:17 +00:00
|
|
|
The
|
|
|
|
.Fn llrint ,
|
|
|
|
.Fn llrintf ,
|
|
|
|
.Fn lrint ,
|
|
|
|
and
|
|
|
|
.Fn lrintf
|
2008-01-14 02:12:07 +00:00
|
|
|
routines first appeared in
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fx 5.4 .
|
2008-01-14 02:12:07 +00:00
|
|
|
The long double variants were introduced in
|
|
|
|
.Fx 8.0 .
|