(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