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 |