fesetexceptflag.3m
f
fesetexceptflag(3M) fesetexceptflag(3M)
NAME
fesetexceptflag( ) - set floating-point exception flags
SYNOPSIS
#include <fenv.h>
HP Integrity Server Only
int fesetexceptflag(const fexcept_t *flagp, int excepts);
PA-RISC Only
void fesetexceptflag(const fexcept_t *flagp, int excepts);
DESCRIPTION
The fesetexceptflag()
function sets the status for the floating-point exception flags indicated by the
argument excepts to the states stored in the object pointed to by flagp. The value of *flagp must have
been set by a previous call to
fegetexceptflag()
whose second argument represented at least those
floating-point exceptions represented by the argument excepts ; otherwise, the effect on the indicated
floating-point exception flags is undefined. This function does not raise exceptions, but only sets the state
of the flags (hence no traps will be taken). The excepts argument can be constructed as a bitwise OR of
the floating-point exception macros:
FE_INEXACT,
FE_DIVBYZERO, FE_UNDERFLOW, FE_OVERFLOW,
and
FE_INVALID. FE_ALL_EXCEPT
represents all the floating-point exceptions.
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 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
optimizations 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
Integrity Server Only
This function always returns 0, indicating that all the specified flags were successfully set to the appropri-
ate state.
PA-RISC Only
None.
ERRORS
No errors are defined.
EXAMPLES
Use
fegetexceptflag() to save the current state of two floating-point exception flags. Later, use
fesetexceptflag() to restore the saved state.
#include <fenv.h>
/*...*/
fexcept_t saved_flags;
/*...*/
fegetexceptflag(&saved_flags, FE_DIVBYZERO | FE_INEXACT);
/*...*/
fesetexceptflag(&saved_flags, FE_DIVBYZERO | FE_INEXACT);
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1