FETESTEXCEPT(3M) Mathematical Library Functions FETESTEXCEPT(3M)

fetestexcept - test floating-point exception flags

c99 [ flag... ] file... -lm [ library... ]
#include <fenv.h>
int fetestexcept(int excepts);

The fetestexcept() function determines which of a specified subset of the floating-point exception flags are currently set. The excepts argument specifies the floating-point status flags to be queried.

The fetestexcept() function returns the value of the bitwise-inclusive OR of the floating-point exception macros corresponding to the currently set floating-point exceptions included in excepts.

No errors are defined.

Example 1 Example using fetestexcept()

The following example calls function f( ) if an invalid exception is set, and then function g( ) if an overflow exception is set:


#include <fenv.h>
/* ... */
{
#     pragma STDC FENV_ACCESS ON

int set_excepts;
feclearexcept(FE_INVALID | FE_OVERFLOW);
// maybe raise exceptions
set_excepts = fetestexcept(FE_INVALID | FE_OVERFLOW);
if (set_excepts & FE_INVALID) f();
if (set_excepts & FE_OVERFLOW) g();
/* ... */ }

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe

fenv.h(3HEAD), feclearexcept(3M), fegetexceptflag(3M), attributes(7), standards(7)

July 12, 2006 SunOS 5.11