DESCRIPTION: some rewording.

RETURN VALUE: Added details for special argument cases.
Added ERRORS section; noted that errno is not set; see
also http://sources.redhat.com/bugzilla/show_bug.cgi?id=6798.
CONFORMING TO: Added POSIX.1-2001.
This commit is contained in:
Michael Kerrisk 2008-08-01 05:26:32 +00:00
parent cdf1aadc3d
commit bf8e66b143
1 changed files with 42 additions and 11 deletions

View File

@ -1,4 +1,6 @@
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
@ -20,7 +22,7 @@
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.TH LRINT 3 2007-07-26 "" "Linux Programmer's Manual"
.TH LRINT 3 2008-07-29 "" "Linux Programmer's Manual"
.SH NAME
lrint, lrintf, lrintl, llrint, llrintf, llrintl \- round to nearest integer
.SH SYNOPSIS
@ -54,20 +56,49 @@ _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
.ad b
.SH DESCRIPTION
These functions round their argument to the nearest integer value,
using the current rounding direction.
If \fIx\fP is infinite or NaN, or if the rounded value is outside
the range of the return type, the numeric result is unspecified.
A domain error may occur if the magnitude of \fIx\fP is too large.
using the current rounding direction (see
.BR fesetround (3)).
Note that unlike
.BR rint (3),
etc., the return type of these functions differs from
that of their arguments.
.SH "RETURN VALUE"
The rounded integer value.
These functions return the rounded integer value.
If
.I x
is a NaN or an infinity,
or the rounded value is too large to be stored in a
.I long
.RI ( "long long"
in the case of the
.B ll*
functions)
then a "domain error" occurs, and the return value is unspecified.
.\" The return value is -(LONG_MAX - 1) or -(LLONG_MAX -1)
.SH ERRORS
See
.BR math_error (7)
for information on how to determine whether an error has occurred
when calling these functions.
.PP
The following errors can occur:
.TP
.B EDOM
The magnitude of \fIx\fP is too large and
.I "(math_errhandling & MATH_ERRNO)"
is non-zero.
Domain error: \fIx\fP is a NaN or infinite, or the rounded value is too large
.\" .I errno
.\" is set to
.\" .BR EDOM .
An invalid floating-point exception
.RB ( FE_INVALID )
is raised.
.PP
These functions do not set
.IR errno .
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6798
.SH "CONFORMING TO"
C99.
C99, POSIX.1-2001.
.SH "SEE ALSO"
.BR ceil (3),
.BR floor (3),