fegetexceptflag, fesetexceptflag - cppreference.com (original) (raw)
| Defined in header <fenv.h> | ||
|---|---|---|
| int fegetexceptflag( fexcept_t* flagp, int excepts ); | (1) | (since C99) |
| int fesetexceptflag( const fexcept_t* flagp, int excepts ); | (2) | (since C99) |
Attempts to obtain the full contents of the floating-point exception flags that are listed in the bitmask argument
excepts, which is a bitwise OR of the floating-point exception macros.Attempts to copy the full contents of the floating-point exception flags that are listed in
exceptsfromflagpinto the floating-point environment. Does not raise any exceptions, only modifies the flags.
The full contents of a floating-point exception flag is not necessarily a boolean value indicating whether the exception is raised or cleared. For example, it may be a struct which includes the boolean status and the address of the code that triggered the exception. These functions obtain all such content and obtain/store it in flagp in implementation-defined format.
[edit] Parameters
| flagp | - | pointer to an fexcept_t object where the flags will be stored or read from |
|---|---|---|
| excepts | - | bitmask listing the exception flags to get/set |
[edit] Return value
0 on success, non-zero otherwise.
[edit] Example
Output:
current exceptions raised: FE_INVALID current exceptions raised: FE_INEXACT FE_OVERFLOW current exceptions raised: FE_INVALID
[edit] References
C11 standard (ISO/IEC 9899:2011):
7.6.2.2 The fegetexceptflag function (p: 210)
7.6.2.4 The fesetexceptflag function (p: 211)
C99 standard (ISO/IEC 9899:1999):
7.6.2.2 The fegetexceptflag function (p: 191)
7.6.2.4 The fesetexceptflag function (p: 192)