(BSD System Compatibility)
floatingpoint(3bsd)
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.
IEEE base conversion:
The functions described under
floating_to_decimal(3bsd)
and
decimal_to_floating(3bsd)
not only satisfy the
IEEE
Standard, but also the stricter requirements
of correct rounding for all arguments.
DECIMAL_STRING_LENGTH-
The length of a
decimal_string.
decimal_string-
The digit buffer in a
decimal_record.
decimal_record-
The canonical form for representing an unpacked decimal floating-point number.
decimal_form-
The type used to specify fixed or floating binary to decimal conversion.
decimal_mode-
A struct that contains specifications for conversion between binary and decimal.
decimal_string_form-
An enumeration of possible valid character strings representing floating-point
numbers, infinities, or NaNs.
Files
/usr/include/sys/ieeefp.h-
/usr/include/fp.h-
/usr/ucblib/libucb.a-
References
abort(3C),
decimal_to_floating(3bsd),
econvert(3bsd),
floating_to_decimal(3bsd),
ieee_handler(3bsd),
sigfpe(3bsd),
strtod(3C)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004