| Common mathematical functions | ||||
| Floating-point environment(C99) | ||||
| Pseudo-random number generation | ||||
| Complex number arithmetic(C99) | ||||
| Type-generic math(C99) | ||||
| Bit manipulation(C23) | ||||
| Checked integer arithmetic(C23) |
| Functions | ||||
(C99) | ||||
(C99) | ||||
(C99) | ||||
(C99)(C99) | ||||
(C99)(C99) | ||||
(C99) | ||||
(C99) | ||||
(C99) | ||||
| Macro constants | ||||
(C99) |
The floating-point environment is the set of floating-point status flags and control modes supported by the implementation. It is thread-local, each thread inherits the initial state of its floating-point environment from the parent thread. Floating-point operations modify the floating-point status flags to indicate abnormal results or auxiliary information. The state of floating-point control modes affects the outcomes of some floating-point operations.
The floating-point environment access and modification is only meaningful when#pragma STDC FENV_ACCESS is set toON. Otherwise the implementation is free to assume that floating-point control modes are always the default ones and that floating-point status flags are never tested or modified. In practice, few current compilers, such as HP aCC, Oracle Studio, and IBM XL, support the#pragma explicitly, but most compilers allow meaningful access to the floating-point environment anyway.
Contents |
Defined in header <fenv.h> | |
| fenv_t | The type representing the entire floating-point environment |
| fexcept_t | The type representing all floating-point status flags collectively |
(C99) | clears the specified floating-point status flags (function)[edit] |
(C99) | determines which of the specified floating-point status flags are set (function)[edit] |
(C99) | raises the specified floating-point exceptions (function)[edit] |
(C99)(C99) | copies the state of the specified floating-point status flags from or to the floating-point environment (function)[edit] |
(C99)(C99) | gets or sets rounding direction (function)[edit] |
(C99) | saves or restores the current floating-point environment (function)[edit] |
(C99) | saves the environment, clears all status flags and ignores all future errors (function)[edit] |
(C99) | restores the floating-point environment and raises the previously raise exceptions (function)[edit] |
| floating-point exceptions (macro constant)[edit] | |
| floating-point rounding direction (macro constant)[edit] | |
(C99) | default floating-point environment (macro constant)[edit] |
C++ documentation forFloating-point environment |