C99 adds several functions and types for fine-grained control of floating point environment. #pragma STDC FENV_ACCESS should be set to ON to access floating point environment.
The <fenv.h> header shall define the following pragma:
The <fenv.h> header shall define the following macro constants:
The <fenv.h> header shall define the following functions:
The <fenv.h> header shall define the following type:
Related topics:
<assert.h> | <complex.h> | <ctype.h> | <errno.h> | <float.h> | Standard Library in C
List of topics: C Programming
The <fenv.h> header shall define the following pragma:
| FENV_ACCESS | access floating-point environment |
The <fenv.h> header shall define the following macro constants:
| FE_DFL_ENV | default floating-point environment(C99) |
| FE_DIVBYZERO | floating-point exceptions - pole error occurred in an earlier floating-point operation(C99) |
| FE_INEXACT | floating-point exceptions - inexact result: rounding was necessary to store the result of an earlier floating-point operation(C99) |
| FE_INVALID | floating-point exceptions - domain error occurred in an earlier floating-point operation(C99) |
| FE_OVERFLOW | floating-point exceptions - the result of an earlier floating-point operation was too large to be representable(C99) |
| FE_UNDERFLOW | floating-point exceptions - the result of an earlier floating-point operation was subnormal with a loss of precision(C99) |
| FE_ALL_EXCEPT | floating-point exceptions - bitwise OR of all supported floating-point exceptions(C99) |
| FE_DOWNWARD | floating-point rounding direction - rounding towards negative infinity(C99) |
| FE_TONEAREST | floating-point rounding direction - rounding towards nearest integer(C99) |
| FE_TOWARDZERO | floating-point rounding direction - rounding towards zero(C99) |
| FE_UPWARD | floating-point rounding direction - rounding towards positive infinity(C99) |
The <fenv.h> header shall define the following functions:
| fegetenv | stores the current floating point environment(C99) |
| fesetenv | sets current floating-point environment(C99) |
| feholdexcept | saves the environment, clears all status flags and ignores all future errors(C99) |
| feupdateenv | restores the floating-point environment and raises the previously raise exceptions(C99) |
| feclearexcept | clears exceptions - clears the specified floating-point status flags(C99) |
| feraiseexcept | raises the specified floating-point exceptions(C99) |
| fegetexceptflag | stores the state of the specified floating-point status flags (C99) |
| fesetexceptflag | sets current status flags(C99) |
| fegetround | gets current rounding direction(C99) |
| fesetround | sets current rounding direction(C99) |
| fetestexcept | determines which of the specified floating-point status flags are set(C99) |
The <fenv.h> header shall define the following type:
| fenv_t | floating-point environment type |
| fexcept_t | floating-point exception type |
Related topics:
<assert.h> | <complex.h> | <ctype.h> | <errno.h> | <float.h> | Standard Library in C
List of topics: C Programming
No comments:
Post a Comment