Go to main content
Oracle® Developer Studio 12.6: Numerical Computation Guide

Exit Print View

Updated: July 2017
 
 

2.4 IEEE Standard 754-2008

This section discusses differences between 754-1985 and its successor 754-2008. Oracle, like other system implementers, will conform to the recommendations of 754-2008 over time, as those recommendations are defined in standards for programming languages.

In 2008, the IEEE adopted a revised IEEE Standard for Floating-Point Arithmetic, which superseded the earlier 754-1985 IEEE Standard for Binary Floating-Point Arithmetic and the 854-1987 IEEE Standard for Radix-Independent Floating-Point Arithmetic.

From a hardware point of view, the new standard is upward compatible with the older ones; existing hardware can be made compatible with the new standard if augmented by enough software. However to fully implement all the recommendations of the new standard requires significant development of language definitions, which is occurring over a period of years; commercial implementations of those definitions will then follow. Future versions of this Numerical Computation Guide for Oracle Developer Studio will describe new features recommended by the revised standard as they become available in the Oracle Developer Studio C, C++, and Fortran compilers.

The following are some important changes already in Oracle Developer Studio 12.6:

  • 754-2008 specifies 128-bit binary (and decimal) floating-point formats; the 128-bit binary format corresponds to Oracle Developer Studio Fortran REAL*16 and to Oracle Developer Studio C and C++ long double on SPARC.

  • 754-2008 requires conversion between binary and decimal formats and character sequences to be correctly rounded, whereas 754-1985 allowed slightly larger error bounds for numbers with very large or very small exponents.

  • 754-2008 recommends operations to convert between binary formats and hexadecimal character sequences.

  • 754-2008 requires a number of operations that were optional in 754-1985; these are already in Oracle Developer Studio compilers.

  • 54-2008 specifies fused multiply-add operations; these are available in hardware in recent SPARC servers supported by Oracle Developer Studio 12.6.

The following are some important changes that are not in Oracle Developer Studio 12.6:

  • 754-2008 recommends a number of new operations.

  • 754-2008 recommends that correctly-rounded versions of a number of elementary transcendental functions be available.

  • 754-2008 recommends expression evaluation attributes.

  • 754-2008 no longer specifies floating-point trap handling; instead higher-level alternate exception handling attributes are recommended that can be used in a machine-independent way.