floatingpoint(3BSD) (BSD System Compatibility) floatingpoint(3BSD)
NAME
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.
Copyright 1994 Novell, Inc. Page 1
floatingpoint(3BSD) (BSD System Compatibility) floatingpoint(3BSD)
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
Copyright 1994 Novell, Inc. Page 2
floatingpoint(3BSD) (BSD System Compatibility) floatingpoint(3BSD)
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
Copyright 1994 Novell, Inc. Page 3
floatingpoint(3BSD) (BSD System Compatibility) floatingpoint(3BSD)
REFERENCES
abort(3C), decimal_to_floating(3BSD), econvert(3BSD),
floating_to_decimal(3BSD), ieee_handler(3BSD), sigfpe(3BSD),
strtod(3C)
Copyright 1994 Novell, Inc. Page 4