floatingpoint --
(BSD) IEEE floating point definitions
Synopsis
/usr/ucb/cc [flag . . . ] file . . .
#include <sys/ieeefp.h>
#include <fp.h>
Description
This file defines constants, types, variables,
and functions used to implement standard floating point
according to
ANSI/IEEE
Std 754-1985.
The variables and functions are implemented in
libucb.a.
The included file
sys/ieeefp.h
defines certain types of interest to the kernel.
IEEE rounding modes:
fp_direction_type
The type of the
IEEE
rounding direction mode.
Note: the order of enumeration varies according to hardware.
fp_direction
The
IEEE
rounding direction mode currently in force.
This is a global variable that is intended to reflect the
hardware state, so it should only be written indirectly
through a function
that also sets the hardware state.
fp_precision_type
The type of the
IEEE
rounding precision mode, which
only applies on systems that support extended precision.
fp_precision
The
IEEE
rounding precision mode currently in force.
This is a global variable that is intended to reflect the
hardware state on systems with extended precision,
so it should only be written indirectly.
SIGFPE handling:
sigfpe_code_type
The type of a
SIGFPE
code.
sigfpe_handler_type
The type of a user-definable
SIGFPE
exception handler called to handle a particular
SIGFPE
code.
SIGFPE_DEFAULT
A macro indicating the default
SIGFPE
exception handling, namely
to perform the exception handling specified by calls to
ieee_handler(3bsd),
if any, and otherwise to dump core using
abort(3C).
SIGFPE_IGNORE
A macro indicating an alternate
SIGFPE
exception handling, namely
to ignore and continue execution.
SIGFPE_ABORT
A macro indicating an alternate
SIGFPE
exception handling, namely
to abort with a core dump.
IEEE exception handling:
N_IEEE_EXCEPTION
The number of distinct
IEEE
floating-point exceptions.
fp_exception_type
The type of the
N_IEEE_EXCEPTION
exceptions.
Each exception is given a bit number.
fp_exception_field_type
The type intended to hold at least
N_IEEE_EXCEPTION
bits corresponding to the
IEEE
exceptions numbered by
fp_exception_type.
Thus
fp_inexact
corresponds to the least significant bit and
fp_invalid
to the fifth least significant bit.
Note: some operations may set more than one exception.
fp_accrued_exceptions
The
IEEE
exceptions between the time this global variable was last cleared,
and the last time a function
was called to update
the variable by obtaining the hardware state.
ieee_handlers
An array of user-specifiable signal handlers for use by the standard
SIGFPE
handler for
IEEE
arithmetic-related
SIGFPE
codes.
Since IEEE
trapping modes correspond to hardware modes, elements of
this array should only be modified with a function like
ieee_handler(3bsd)
that performs the appropriate hardware mode update.
If no
sigfpe_handler
has been declared for a particular
IEEE-related
SIGFPE
code, then the related
ieee_handlers
will be invoked.
IEEE formats and classification:
single;extended
Definitions of
IEEE
formats.
fp_class_type
An enumeration of the various classes of
IEEE
values and symbols.