HP-UX Reference (11i v3 07/02) - 3 Library Functions A-M (vol 6)
f
fesetround(3M) fesetround(3M)
NAME
fesetround() - set floating-point rounding direction mode
SYNOPSIS
#include <fenv.h>
int fesetround(int round);
DESCRIPTION
The fesetround() function establishes the rounding direction represented by its argument round. The
round argument must equal one of the macros:
FE_TONEAREST , FE_UPWARD, FE_DOWNWARD , and
FE_TOWARDZERO
. If the argument does not match a rounding direction macro, the rounding direction is
not changed.
The default rounding direction mode is round to nearest (
FE_TONEAREST ).
USAGE
To use this function, compile either with the default
-Ae option or with the -Aa and -D_HPUX_SOURCE
options. Make sure your program includes <fenv.h>
.
For HP Integrity servers, specify
+Ofenvaccess on the compiler command line or place the call to this
function under the effect of an affirmative FENV_ACCESS pragma:
#pragma STDC FENV_ACCESS ON
If the FENV_ACCESS pragma is placed outside of any top-level declarations in a file, the pragma will
apply to all declarations in the compilation following the pragma until another FENV_ACCESS pragma is
encountered or until the end of the file is reached.
If the FENV_ACCESS pragma is placed at the beginning of a block (compound statement), the pragma will
apply until another FENV_ACCESS pragma is encountered or until the end of the block is reached.
For PA-RISC, you might need to use the
+Onomoveflops compiler option in order to prevent optimiza-
tions that can undermine the specified behavior of this function.
Link in the math library by specifying
-lm on the compiler or linker command line.
For more information, see the HP-UX floating-point guide for HP Integrity servers at the following site:
http://www.hp.com/go/fp
.
RETURN VALUE
The
fesetround() function returns a zero value if and only if the argument is equal to a rounding
direction macro.
ERRORS
No errors are defined.
EXAMPLES
Save, set, and restore the rounding direction.
#include <fenv.h>
/*...*/
{
int save_round;
save_round = fegetround();
fesetround(FE_UPWARD);
/*...*/
fesetround(save_round);
/*...*/
}
SEE ALSO
fegetround(3M), fenv(5).
STANDARDS CONFORMANCE
fesetround() : ISO/IEC C99 (including Annex F, "IEC 60559 floating-point arithmetic")
HP-UX 11i Version 3: February 2007 − 1 − Hewlett-Packard Company 439