Floating point environment

< c‎ | numeric
Revision as of 20:28, 2 November 2012 by P12bot (Talk | contribs)

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 to ON. 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 support the #pragma explicitly, but most compilers allow meaningful access to the floating-point environment anyway.


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


Template:c/numeric/fenv/dcl list feclearexceptTemplate:c/numeric/fenv/dcl list fetestexceptTemplate:c/numeric/fenv/dcl list feraiseexceptTemplate:c/numeric/fenv/dcl list feexceptflagTemplate:c/numeric/fenv/dcl list feroundTemplate:c/numeric/fenv/dcl list feenvTemplate:c/numeric/fenv/dcl list feholdexceptTemplate:c/numeric/fenv/dcl list feupdateenv


Template:c/numeric/fenv/dcl list FE exceptionsTemplate:c/numeric/fenv/dcl list FE roundTemplate:c/numeric/fenv/dcl list FE DFL ENV