mirror of https://github.com/mkerrisk/man-pages
87 lines
2.4 KiB
Plaintext
87 lines
2.4 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "FEGETROUND" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" fegetround
|
||
|
.SH NAME
|
||
|
fegetround, fesetround \- get and set current rounding direction
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <fenv.h>
|
||
|
.br
|
||
|
.sp
|
||
|
int fegetround(void);
|
||
|
.br
|
||
|
int fesetround(int\fP \fIround\fP\fB);
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
The \fIfegetround\fP() function shall get the current rounding direction.
|
||
|
.LP
|
||
|
The \fIfesetround\fP() function shall establish the rounding direction
|
||
|
represented by its argument \fIround\fP. If the
|
||
|
argument is not equal to the value of a rounding direction macro,
|
||
|
the rounding direction is not changed.
|
||
|
.SH RETURN VALUE
|
||
|
.LP
|
||
|
The \fIfegetround\fP() function shall return the value of the rounding
|
||
|
direction macro representing the current rounding
|
||
|
direction or a negative value if there is no such rounding direction
|
||
|
macro or the current rounding direction is not
|
||
|
determinable.
|
||
|
.LP
|
||
|
The \fIfesetround\fP() function shall return a zero value if and only
|
||
|
if the requested rounding direction was established.
|
||
|
.SH ERRORS
|
||
|
.LP
|
||
|
No errors are defined.
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH EXAMPLES
|
||
|
.LP
|
||
|
The following example saves, sets, and restores the rounding direction,
|
||
|
reporting an error and aborting if setting the rounding
|
||
|
direction fails:
|
||
|
.sp
|
||
|
.RS
|
||
|
.nf
|
||
|
|
||
|
\fB#include <fenv.h>
|
||
|
#include <assert.h>
|
||
|
void f(int round_dir)
|
||
|
{
|
||
|
#pragma STDC FENV_ACCESS ON
|
||
|
int save_round;
|
||
|
int setround_ok;
|
||
|
save_round = fegetround();
|
||
|
setround_ok = fesetround(round_dir);
|
||
|
assert(setround_ok == 0);
|
||
|
/* ... */
|
||
|
fesetround(save_round);
|
||
|
/* ... */
|
||
|
}
|
||
|
\fP
|
||
|
.fi
|
||
|
.RE
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
The Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<fenv.h>\fP
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|