xref: /freebsd-src/lib/msun/man/lrint.3 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
12aac156dSDavid Schultz.\" Copyright (c) 2005 David Schultz <das@FreeBSD.org>
22aac156dSDavid Schultz.\" All rights reserved.
32aac156dSDavid Schultz.\"
42aac156dSDavid Schultz.\" Redistribution and use in source and binary forms, with or without
52aac156dSDavid Schultz.\" modification, are permitted provided that the following conditions
62aac156dSDavid Schultz.\" are met:
72aac156dSDavid Schultz.\" 1. Redistributions of source code must retain the above copyright
82aac156dSDavid Schultz.\"    notice, this list of conditions and the following disclaimer.
92aac156dSDavid Schultz.\" 2. Redistributions in binary form must reproduce the above copyright
102aac156dSDavid Schultz.\"    notice, this list of conditions and the following disclaimer in the
112aac156dSDavid Schultz.\"    documentation and/or other materials provided with the distribution.
122aac156dSDavid Schultz.\"
132aac156dSDavid Schultz.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
142aac156dSDavid Schultz.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
152aac156dSDavid Schultz.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
162aac156dSDavid Schultz.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
172aac156dSDavid Schultz.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
182aac156dSDavid Schultz.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
192aac156dSDavid Schultz.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
202aac156dSDavid Schultz.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
212aac156dSDavid Schultz.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
222aac156dSDavid Schultz.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
232aac156dSDavid Schultz.\" SUCH DAMAGE.
242aac156dSDavid Schultz.\"
25*d3f9671aSDavid Schultz.Dd January 13, 2008
262aac156dSDavid Schultz.Dt LRINT 3
272aac156dSDavid Schultz.Os
282aac156dSDavid Schultz.Sh NAME
292aac156dSDavid Schultz.Nm llrint ,
302aac156dSDavid Schultz.Nm llrintf ,
31*d3f9671aSDavid Schultz.Nm llrintl ,
322aac156dSDavid Schultz.Nm lrint ,
33*d3f9671aSDavid Schultz.Nm lrintf ,
34*d3f9671aSDavid Schultz.Nm lrintl
3583e0359dSRuslan Ermilov.Nd "convert to integer"
362aac156dSDavid Schultz.Sh LIBRARY
372aac156dSDavid Schultz.Lb libm
382aac156dSDavid Schultz.Sh SYNOPSIS
392aac156dSDavid Schultz.In math.h
4083e0359dSRuslan Ermilov.Ft "long long"
412aac156dSDavid Schultz.Fn llrint "double x"
4283e0359dSRuslan Ermilov.Ft "long long"
432aac156dSDavid Schultz.Fn llrintf "float x"
44*d3f9671aSDavid Schultz.Ft "long long"
45*d3f9671aSDavid Schultz.Fn llrintl "long double x"
462aac156dSDavid Schultz.Ft long
472aac156dSDavid Schultz.Fn lrint "double x"
482aac156dSDavid Schultz.Ft long
492aac156dSDavid Schultz.Fn lrintf "float x"
50*d3f9671aSDavid Schultz.Ft long
51*d3f9671aSDavid Schultz.Fn lrintl "long double x"
522aac156dSDavid Schultz.Sh DESCRIPTION
532aac156dSDavid SchultzThe
542aac156dSDavid Schultz.Fn lrint
552aac156dSDavid Schultzfunction returns the integer nearest to its argument
562aac156dSDavid Schultz.Fa x
572aac156dSDavid Schultzaccording to the current rounding mode.
582aac156dSDavid SchultzIf the rounded result is too large to be represented as a
5983e0359dSRuslan Ermilov.Vt long
602aac156dSDavid Schultzvalue, an invalid exception is raised and the return value is undefined.
612aac156dSDavid SchultzOtherwise, if
622aac156dSDavid Schultz.Fa x
632aac156dSDavid Schultzis not an integer,
642aac156dSDavid Schultz.Fn lrint
652aac156dSDavid Schultzraises an inexact exception.
662aac156dSDavid SchultzWhen the rounded result is representable as a
6783e0359dSRuslan Ermilov.Vt long ,
682aac156dSDavid Schultzthe expression
6983e0359dSRuslan Ermilov.Fn lrint x
702aac156dSDavid Schultzis equivalent to
7183e0359dSRuslan Ermilov.Po Vt long Pc Ns Fn rint x
7283e0359dSRuslan Ermilov(although the former may be more efficient).
732aac156dSDavid Schultz.Pp
742aac156dSDavid SchultzThe
752aac156dSDavid Schultz.Fn llrint ,
762aac156dSDavid Schultz.Fn llrintf ,
77*d3f9671aSDavid Schultz.Fn llrintl ,
78*d3f9671aSDavid Schultz.Fn lrintf ,
792aac156dSDavid Schultzand
80*d3f9671aSDavid Schultz.Fn lrintl
812aac156dSDavid Schultzfunctions differ from
822aac156dSDavid Schultz.Fn lrint
832aac156dSDavid Schultzonly in their input and output types.
842aac156dSDavid Schultz.Sh SEE ALSO
852aac156dSDavid Schultz.Xr lround 3 ,
862aac156dSDavid Schultz.Xr math 3 ,
872aac156dSDavid Schultz.Xr rint 3 ,
882aac156dSDavid Schultz.Xr round 3
892aac156dSDavid Schultz.Sh STANDARDS
90*d3f9671aSDavid SchultzThese functions conform to
91*d3f9671aSDavid Schultz.St -isoC-99 .
92*d3f9671aSDavid Schultz.Sh HISTORY
932aac156dSDavid SchultzThe
942aac156dSDavid Schultz.Fn llrint ,
952aac156dSDavid Schultz.Fn llrintf ,
962aac156dSDavid Schultz.Fn lrint ,
972aac156dSDavid Schultzand
982aac156dSDavid Schultz.Fn lrintf
99*d3f9671aSDavid Schultzroutines first appeared in
1002aac156dSDavid Schultz.Fx 5.4 .
101*d3f9671aSDavid SchultzThe long double variants were introduced in
102*d3f9671aSDavid Schultz.Fx 8.0 .
103