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$
|
|
|
|
.\"
|
2005-04-08 01:24:08 +00:00
|
|
|
.Dd April 7, 2005
|
2005-01-11 23:12:17 +00:00
|
|
|
.Dt LROUND 3
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm llround ,
|
|
|
|
.Nm llroundf ,
|
2005-04-08 01:24:08 +00:00
|
|
|
.Nm llroundl ,
|
2005-01-11 23:12:17 +00:00
|
|
|
.Nm lround ,
|
2005-04-08 01:24:08 +00:00
|
|
|
.Nm lroundf ,
|
|
|
|
.Nm lroundl
|
2005-01-13 10:43:01 +00:00
|
|
|
.Nd "convert to nearest integral value"
|
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 llround "double x"
|
2005-01-13 10:43:01 +00:00
|
|
|
.Ft "long long"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fn llroundf "float x"
|
2005-04-08 01:24:08 +00:00
|
|
|
.Ft "long long"
|
|
|
|
.Fn llroundl "long double x"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Ft long
|
|
|
|
.Fn lround "double x"
|
|
|
|
.Ft long
|
|
|
|
.Fn lroundf "float x"
|
2005-04-08 01:24:08 +00:00
|
|
|
.Ft long
|
|
|
|
.Fn lroundl "long double x"
|
2005-01-11 23:12:17 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Fn lround
|
|
|
|
function returns the integer nearest to its argument
|
|
|
|
.Fa x ,
|
|
|
|
rounding away from zero in halfway cases.
|
|
|
|
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 lround
|
|
|
|
may raise 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 lround 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 round x
|
|
|
|
(although the former may be more efficient).
|
2005-01-11 23:12:17 +00:00
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fn llround ,
|
|
|
|
.Fn llroundf ,
|
2005-04-08 01:24:08 +00:00
|
|
|
.Fn llroundl ,
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fn lroundf
|
2005-04-08 01:24:08 +00:00
|
|
|
and
|
|
|
|
.Fn lroundl
|
2005-01-11 23:12:17 +00:00
|
|
|
functions differ from
|
|
|
|
.Fn lround
|
|
|
|
only in their input and output types.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr lrint 3 ,
|
|
|
|
.Xr math 3 ,
|
|
|
|
.Xr rint 3 ,
|
|
|
|
.Xr round 3
|
|
|
|
.Sh STANDARDS
|
|
|
|
The
|
|
|
|
.Fn llround ,
|
|
|
|
.Fn llroundf ,
|
2005-04-08 01:24:08 +00:00
|
|
|
.Fn llroundl ,
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fn lround ,
|
2005-04-08 01:24:08 +00:00
|
|
|
.Fn lroundf ,
|
2005-01-11 23:12:17 +00:00
|
|
|
and
|
2005-04-08 01:24:08 +00:00
|
|
|
.Fn lroundl
|
2005-01-11 23:12:17 +00:00
|
|
|
functions conform to
|
|
|
|
.St -isoC-99 .
|
|
|
|
.Sh HISTORY
|
2005-04-08 01:24:08 +00:00
|
|
|
The
|
2005-06-15 19:04:04 +00:00
|
|
|
.Vt float
|
2005-04-08 01:24:08 +00:00
|
|
|
and
|
2005-06-15 19:04:04 +00:00
|
|
|
.Vt double
|
2005-04-08 01:24:08 +00:00
|
|
|
versions of these routines first appeared in
|
2005-01-11 23:12:17 +00:00
|
|
|
.Fx 5.4 .
|
2005-04-08 01:24:08 +00:00
|
|
|
The
|
2005-06-15 19:04:04 +00:00
|
|
|
.Vt "long double"
|
2005-04-08 01:24:08 +00:00
|
|
|
versions appeared in
|
|
|
|
.Fx 6.0 .
|