fegetenv, fesetenv - cppreference.com (original) (raw)
| Defined in header <fenv.h> | ||
|---|---|---|
| int fegetenv( fenv_t* envp ); | (1) | (since C99) |
| int fesetenv( const fenv_t* envp ); | (2) | (since C99) |
Attempts to store the status of the floating-point environment in the object pointed to by
envp.Attempts to establish the floating-point environment from the object pointed to by
envp. The value of that object must be previously obtained by a call to feholdexcept orfegetenvor be a floating-point macro constant. If any of the floating-point status flags are set inenvp, they become set in the environment (and are then testable with fetestexcept), but the corresponding floating-point exceptions are not raised (execution continues uninterrupted)
[edit] Parameters
| envp | - | pointer to the object of type fenv_t which holds the status of the floating-point environment |
|---|
[edit] Return value
0 on success, non-zero otherwise.
[edit] Example
Output:
current exceptions raised: none current rounding method: FE_TONEAREST +11.5 -> +12.0 +12.5 -> +12.0 current exceptions raised: FE_INEXACT current rounding method: FE_TONEAREST 1.0/0.0 = inf +11.5 -> +11.0 +12.5 -> +12.0 current exceptions raised: FE_DIVBYZERO FE_INEXACT current rounding method: FE_DOWNWARD current exceptions raised: FE_INEXACT current rounding method: FE_TONEAREST
[edit] References
C11 standard (ISO/IEC 9899:2011):
7.6.4.1 The fegetenv function (p: 213)
7.6.4.3 The fesetenv function (p: 214)
C99 standard (ISO/IEC 9899:1999):
7.6.4.1 The fegetenv function (p: 194)
7.6.4.3 The fesetenv function (p: 195)
[edit] See also
| | saves the environment, clears all status flags and ignores all future errors (function) [edit] | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | restores the floating-point environment and raises the previously raise exceptions (function) [edit] | | | default floating-point environment (macro constant) [edit] | | |