fenv(5)fenv(5)NAMEfenv - floating-point environment macros and functions
SYNOPSISDESCRIPTION
The header declares two types and several macros and functions to pro‐
vide access to the floating-point environment. The floating-point
environment refers collectively to the floating-point status flags and
control modes. A floating-point status flag is a system variable whose
value is set (but never cleared) when a floating-point exception is
raised, which occurs as a side effect of exceptional floating-point
arithmetic to provide auxiliary information. A floating-point control
mode is a system variable whose value may be set by the user to affect
the subsequent behavior of floating-point arithmetic; on HP 9000 and HP
Integrity servers the control modes include the rounding direction
mode, the gradual/flush-to-zero underflow mode, and the trap enables.
For HP-UX 11i v3 September 2008 Update (and later) for Integrity
servers, the floating-point environment also includes the rounding
direction mode for decimal floating point, which is independent of the
rounding direction mode for binary floating point. Both binary and dec‐
imal floating point use the same status flags.
The following types are defined:
Represents the entire floating-point environment.
Represents the floating-point exception flags collectively.
The following macros represent the floating-point status flags. They
are defined as integral constant expressions with values such that bit‐
wise ORs of all combinations of the macros result in distinct values.
The inexact exception.
The division-by-zero exception.
The underflow exception.
The overflow exception.
The invalid operation exception.
The bitwise OR of all exception macros.
The following macros represent the rounding direction modes for binary
floating point. They are defined as integral constant expressions with
distinct nonnegative values.
The round-to-nearest rounding direction mode.
The round-toward-positive-infinity rounding direction mode.
The round-toward-negative-infinity rounding direction mode.
The round-toward-zero rounding direction mode.
The following macro is defined as a pointer to const-qualified
The default floating-point environment.
To the ISO/IEC C99 specified facilities, the HP implementation adds
four HP-specific functions: and
For HP-UX 11i v3 September 2008 Update (and later) for Integrity
servers, included in a compilation where has been defined, this file
defines the following macros representing the rounding direction modes
for decimal floating point. They are for use with the and functions.
They are defined as integral constant expressions with distinct nonneg‐
ative values.
The round-to-nearest decimal rounding direction mode with ties
(half-way cases) to even.
The round-toward-positive-infinity decimal rounding direction
mode.
The round-toward-negative-infinity decimal rounding direction
mode.
The round-toward-zero decimal rounding direction mode.
The round-to-nearest decimal rounding direction mode with ties
(half-way cases) away from zero.
To use any of the types or macros for decimal floating point,
define either with a compile option, or with
in the source file before inclusion of
FILESSEE ALSOfe_dec_getround(3M), fe_dec_setround(3M), feclearexcept(3M), fegetex‐
ceptflag(3M), feraiseexcept(3M), fesetexceptflag(3M), fetestexcept(3M),
fegetround(3M), fesetround(3M), fegetenv(3M), feholdexcept(3M), fes‐
etenv(3M), feupdateenv(3M), fegetflushtozero(3M), fesetflushtozero(3M),
fegettrapenable(3M), fesettrapenable(3M), math(5).
STANDARDS CONFORMANCE
: ISO/IEC C99 (including Annex F, "IEC 60559 floating-point arith‐
metic"), ISO/IEC TR 24732
fenv(5)