]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/lround.3
execve.2, setfsgid.2, setfsuid.2, splice.2, fopen.3, malloc_trim.3, posix_memalign...
[thirdparty/man-pages.git] / man3 / lround.3
CommitLineData
fea681da 1.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
e1520273
MK
2.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
3.\" <mtk.manpages@gmail.com>
fea681da 4.\"
93015253 5.\" %%%LICENSE_START(VERBATIM)
fea681da
MK
6.\" Permission is granted to make and distribute verbatim copies of this
7.\" manual provided the copyright notice and this permission notice are
8.\" preserved on all copies.
9.\"
10.\" Permission is granted to copy and distribute modified versions of this
11.\" manual under the conditions for verbatim copying, provided that the
12.\" entire resulting derived work is distributed under the terms of a
13.\" permission notice identical to this one.
c13182ef 14.\"
fea681da
MK
15.\" Since the Linux kernel and libraries are constantly changing, this
16.\" manual page may be incorrect or out-of-date. The author(s) assume no
17.\" responsibility for errors or omissions, or for damages resulting from
18.\" the use of the information contained herein. The author(s) may not
19.\" have taken the same level of care in the production of this manual,
20.\" which is licensed free of charge, as they might when working
21.\" professionally.
c13182ef 22.\"
fea681da
MK
23.\" Formatted or processed versions of this manual, if unaccompanied by
24.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 25.\" %%%LICENSE_END
fea681da 26.\"
4b8c67d9 27.TH LROUND 3 2017-09-15 "" "Linux Programmer's Manual"
fea681da 28.SH NAME
c13182ef 29lround, lroundf, lroundl, llround, llroundf, llroundl \- round to
f6cf8f80 30nearest integer
fea681da
MK
31.SH SYNOPSIS
32.nf
33.B #include <math.h>
68e4db0a 34.PP
fea681da 35.BI "long int lround(double " x );
fea681da 36.BI "long int lroundf(float " x );
fea681da 37.BI "long int lroundl(long double " x );
68e4db0a 38.PP
fea681da 39.BI "long long int llround(double " x );
fea681da 40.BI "long long int llroundf(float " x );
fea681da
MK
41.BI "long long int llroundl(long double " x );
42.fi
68e4db0a 43.PP
cc4615cc 44Link with \fI\-lm\fP.
68e4db0a 45.PP
cc4615cc
MK
46.in -4n
47Feature Test Macro Requirements for glibc (see
48.BR feature_test_macros (7)):
49.in
68e4db0a 50.PP
cc4615cc
MK
51.ad l
52All functions shown above:
f1f0e4ed 53.RS 4
e464f054 54_ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L
f1f0e4ed
MK
55.RE
56.ad
fea681da
MK
57.SH DESCRIPTION
58These functions round their argument to the nearest integer value,
ce08dedc 59rounding halfway cases away from zero,
5dcc3b66
MK
60regardless of the current rounding direction (see
61.BR fenv (3)).
847e0d88 62.PP
14d70713
MK
63Note that unlike the
64.BR round (3)
65and
9dc0b7df 66.BR ceil (3),
14d70713 67functions, the return type of these functions differs from
9dc0b7df 68that of their arguments.
47297adb 69.SH RETURN VALUE
e1520273 70These functions return the rounded integer value.
847e0d88 71.PP
e1520273
MK
72If
73.I x
74is a NaN or an infinity,
75or the rounded value is too large to be stored in a
76.I long
77.RI ( "long long"
78in the case of the
79.B ll*
a27180c8 80functions),
efe294cb 81then a domain error occurs, and the return value is unspecified.
e1520273 82.\" The return value is -(LONG_MAX - 1) or -(LLONG_MAX -1)
fea681da 83.SH ERRORS
e1520273
MK
84See
85.BR math_error (7)
86for information on how to determine whether an error has occurred
87when calling these functions.
88.PP
89The following errors can occur:
fea681da 90.TP
e1520273
MK
91Domain error: \fIx\fP is a NaN or infinite, or the rounded value is too large
92.\" .I errno
93.\" is set to
94.\" .BR EDOM .
95An invalid floating-point exception
96.RB ( FE_INVALID )
97is raised.
98.PP
99These functions do not set
100.IR errno .
101.\" FIXME . Is it intentional that these functions do not set errno?
102.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6797
f0d7ce1d
MK
103.SH VERSIONS
104These functions first appeared in glibc in version 2.1.
df348165 105.SH ATTRIBUTES
6c2b814e
PH
106For an explanation of the terms used in this section, see
107.BR attributes (7).
108.TS
109allbox;
110lbw33 lb lb
111l l l.
112Interface Attribute Value
113T{
df348165
PH
114.BR lround (),
115.BR lroundf (),
116.BR lroundl (),
6c2b814e 117.br
df348165
PH
118.BR llround (),
119.BR llroundf (),
df348165 120.BR llroundl ()
6c2b814e
PH
121T} Thread safety MT-Safe
122.TE
47297adb 123.SH CONFORMING TO
9a74e018 124C99, POSIX.1-2001, POSIX.1-2008.
47297adb 125.SH SEE ALSO
fea681da
MK
126.BR ceil (3),
127.BR floor (3),
128.BR lrint (3),
129.BR nearbyint (3),
130.BR rint (3),
131.BR round (3)