Developer Guide and Reference

Contents

Overview: Intel® IEEE 754-2008 Binary Floating-Point Conformance Library

The Intel® IEEE 754-2008 Binary Floating-Point Conformance Library provides all operations mandated by the IEEE 754-2008 standard for binary32 and binary64 binary floating-point interchange formats. The minimum requirements for correct operation of the library are an Intel® Pentium® 4 processor and an operating system supporting Intel® Streaming SIMD Extensions 2 (Intel® SSE2) instructions.
The library supports all four rounding-direction attributes mandated by the IEEE 754-2008 standard for binary floating-point arithmetic:
roundTiesToEven
,
roundTowardPositive
,
roundTowardNegative
,
roundTowardZero
. The additional rounding-direction attribute,
roundTiesToAway
, is not required by the standard, hence, not fully supported in this library. The default rounding-direction attribute is set as
roundTiesToEven
.
The library also supports all mandated exceptions (invalid operation, division by zero, overflow, underflow, and inexact) and sets flags accordingly under default exception handling. Alternate exception handling, which is optional in the standard, is not supported.
The
bfp754.h
header file includes prototypes for the library functions. For a complete list of the functions available, refer to the . The user also needs to specify linker option
-lbfp754
and floating-point semantics control option
-fp-model source -fp-model except
in order to use the library.
Many routines in the
libbfp754
Library are more optimized for Intel® microprocessors than for non-Intel microprocessors.

Operations

The IEEE standard 754-2008 defines four types of operations.
  1. General-computational operations that produce correctly rounded floating-point or integer results. These operations might signal the floating-point exceptions.
  2. Quiet-computational operations that produce floating-point results. These operations do not signal any floating-point exceptions.
  3. Signaling-computational operations that produce no floating-point results. These operations might signal floating-point exceptions.
  4. Non-computational operations that produce no floating-point results. These operations do not signal floating-point exceptions.