NAME
fesetexceptflag() — set floating-point exception flags
SYNOPSIS
#include <fenv.h>
void fesetexceptflag(const fexcept_t *flagp, int excepts);
DESCRIPTION
The
fesetexceptflag()
function sets the status for the exception flags indicated by the
argument
excepts
according to the representation in the object pointed to by
flagp.
The value of
*flagp
must have been set by a previous call to
fegetexceptflag();
otherwise, the effect on the indicated exception flags is undefined.
This function does not raise exceptions, but only sets the state of
the flags.
The
excepts
argument can be constructed as a bitwise OR of the exception macros:
FE_INEXACT,
FE_DIVBYZERO,
FE_UNDERFLOW,
FE_OVERFLOW,
and
FE_INVALID.
FE_ALL_EXCEPT
represents all the exceptions.
The ISO/ANSI C committee has approved the
fesetexceptflag()
function for inclusion in the C9X draft standard.
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>.
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.
ERRORS
No errors are defined.
EXAMPLE
Use
fegetexceptflag()
to save the current state of two 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);