|HP-UX Reference > F
HP-UX 11i Version 3: February 2007
feraiseexcept() — raise floating-point exceptions
The feraiseexcept() function raises the floating-point exceptions represented by its argument. The 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.
Any traps enabled for the specified exceptions will be taken.
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.
Integrity Server Only
This function always returns 0, indicating that all the specified exceptions were successfully raised.
Raise the underflow and inexact exceptions:
#include <fenv.h> /*...*/ feraiseexcept(FE_UNDERFLOW | FE_INEXACT);
Raise all exceptions:
#include <fenv.h> /*...*/ feraiseexcept(FE_ALL_EXCEPT);