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.
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)
SunOS 5.11 July 12, 2006 FETESTEXCEPT(3M)
NAME
fetestexcept - test floating-point exception flags
SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <fenv.h>
int fetestexcept(int excepts);
DESCRIPTION
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.
RETURN VALUES
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.
ERRORS
No errors are defined.
EXAMPLES
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();
/* ... */
}
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+----------------------------+-----------------------------+
|Interface Stability | Standard |
+----------------------------+-----------------------------+
|MT-Level | MT-Safe |
+----------------------------+-----------------------------+
SEE ALSO
fenv.h(3HEAD), feclearexcept(3M), fegetexceptflag(3M), attributes(7),
standards(7)
SunOS 5.11 July 12, 2006 FETESTEXCEPT(3M)