Determine which of the specified floating-point status flags are set
#include <fenv.h> int fetestexcept( const int excepts );
The fetestexcept() function determines which of the specified floating-point exceptions are currently set.
A bitwise OR of the flags that are in excepts and that correspond to floating-point exceptions that are currently set.
#include <stdio.h> #include <math.h> #include <fenv.h> #include <stdlib.h> int main( void ) { int except_flags; /* acos(2) should raise a "domain error" exception. */ feclearexcept(FE_ALL_EXCEPT); printf( "acos(2) is %f\n", acos(2) ); except_flags = fetestexcept(FE_ALL_EXCEPT); if(except_flags & FE_INVALID) puts("FE_INVALID (domain error) reported"); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |