| |||
| Home > Floating-point support > C99-compatible functions for controlling the ARM floating-point environment | |||
The following functionality requires you to select a floating-point
model that supports exceptions, such as --fpmode=ieee_full or --fpmode=ieee_fixed.
The compiler supports all functions defined in the C99 standard,
and functions that are not C99-standard. The C99-compatible functions
are the only interface that enables you to install custom exception
trap handlers with the ability to define your own return value.
All the function prototypes, data types, and macros for this functionality
are defined in fenv.h.
C99 defines two data types, fenv_t and fexcept_t.
The C99 standard does not give information about these types, so
for portable code you must treat them as opaque. The compiler defines them
to be structure types.
The type fenv_t is defined to hold all
the information about the current floating-point environment. This
comprises:
the rounding mode
the exception sticky flags
whether each exception is masked
what handlers are installed, if any.
The type fexcept_t is defined to hold all
the information relevant to a given set of exceptions.
Compiler Reference: