Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

floatingpoint.h(3head) [sunos man page]

floatingpoint.h(3HEAD)						      Headers						    floatingpoint.h(3HEAD)

NAME
floatingpoint.h, floatingpoint - IEEE floating point definitions SYNOPSIS
#include <floatingpoint.h> DESCRIPTION
This file defines constants, types, and functions used to implement standard floating point according to ANSI/IEEE Std 754-1985. The func- tions are implemented in libc. The included header 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_precision_type The type of the IEEE rounding precision mode, which only applies on systems that support extended precision such as machines based on the Intel 80387 FPU or the 80486. 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 speci- fied by the user, 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. IEEE Formats and Classification single;extended;quadruple 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(3C) and decimal_to_floating(3C) satisfy not only 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 SEE ALSO
abort(3C), decimal_to_floating(3C), econvert(3C), floating_to_decimal(3C), sigfpe(3C), string_to_decimal(3C), strtod(3C) SunOS 5.10 5 Mar 1993 floatingpoint.h(3HEAD)

Check Out this Related Man Page

floating_to_decimal(3C) 												   floating_to_decimal(3C)

NAME
floating_to_decimal, single_to_decimal, double_to_decimal, extended_to_decimal, quadruple_to_decimal - convert floating-point value to dec- imal record SYNOPSIS
#include <floatingpoint.h> void single_to_decimal(single *px, decimal_mode *pm, decimal_record *pd, fp_exception_field_type *ps); void double_to_decimal(double *px, decimal_mode *pm, decimal_record *pd, fp_exception_field_type *ps); void extended_to_decimal(extended *px, decimal_mode *pm, decimal_record *pd, fp_exception_field_type *ps); void quadruple_to_decimal(quadruple *px, decimal_mode *pm, decimal_record *pd, fp_exception_field_type *ps); The floating_to_decimal functions convert the floating-point value at *px into a decimal record at *pd, observing the modes specified in *pm and setting exceptions in *ps. If there are no IEEE exceptions, *ps will be zero. If *px is zero, infinity, or NaN, then only pd->sign and pd->fpclass are set. Otherwise pd->exponent and pd->ds are also set so that (sig)*(pd->ds)*10**(pd->exponent) is a correctly rounded approximation to *px, where sig is +1 or -1, depending upon whether pd->sign is 0 or -1. pd->ds has at least one and no more than DECIMAL_STRING_LENGTH-1 significant digits because one character is used to terminate the string with a null. pd->ds is correctly rounded according to the IEEE rounding modes in pm->rd. *ps has fp_inexact set if the result was inexact, and has fp_overflow set if the string result does not fit in pd->ds because of the limitation DECIMAL_STRING_LENGTH. If pm->df == floating_form, then pd->ds always contains pm->ndigits significant digits. Thus if *px == 12.34 and pm->ndigits == 8, then pd->ds will contain 12340000 and pd->exponent will contain -6. If pm->df == fixed_form and pm->ndigits >= 0, then the decimal value is rounded at pm->ndigits digits to the right of the decimal point. For example, if *px == 12.34 and pm->ndigits == 1, then pd->ds will contain 123 and pd->exponent will be set to -1. If pm->df == fixed_form and pm->ndigits< 0, then the decimal value is rounded at -pm->ndigits digits to the left of the decimal point, and pd->ds is padded with trailing zeros up to the decimal point. For example, if *px == 12.34 and pm->n digits == -1, then pd->ds will contain 10 and pd->exponent will be set to 0. When pm->df == fixed_form and the value to be converted is large enough that the resulting string would contain more than DECI- MAL_STRING_LENGTH-1 digits, then the string placed in pd->ds is limited to exactly DECIMAL_STRING_LENGTH-1 digits (by moving the place at which the value is rounded further left if need be), pd->exponent is adjusted accordingly and the overflow flag is set in *ps. pd->more is not used. The econvert(3C), fconvert(3C), gconvert(3C), printf(3C), and sprintf(3C) functions all use double_to_decimal(). See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ econvert(3C), fconvert(3C), gconvert(3C), printf(3C), sprintf(3C), attributes(5) 7 Jun 2005 floating_to_decimal(3C)
Man Page