XL Fortran Floating-Point Processing

Partial Table-of-Contents

  • IEEE Floating-Point Overview
  • Compiling for Strict IEEE Conformance
  • IEEE Single- and Double-Precision Values
  • IEEE Extended-Precision Values
  • Infinities and NaNs
  • Exception-Handling Model
  • Hardware-Specific Floating-Point Overview
  • Single- and Double-Precision Values
  • Extended-Precision Values
  • How XL Fortran Rounds Floating-Point Calculations
  • Selecting the Rounding Mode
  • Minimizing Rounding Errors
  • Minimizing Overall Rounding
  • Delaying Rounding until Run Time
  • Ensuring that the Rounding Mode is Consistent
  • Duplicating the Floating-Point Results of Other Systems
  • Maximizing Floating-Point Performance
  • Detecting and Trapping Floating-Point Exceptions
  • Compiler Features for Trapping Floating-Point Exceptions
  • Installing an Exception Handler
  • Controlling the Floating-Point Status and Control Register
  • xlf_fp_util Procedures
  • fpgets and fpsets Subroutines
  • Sample Programs for Exception Handling
  • Causing Exceptions for Particular Variables
  • Minimizing the Performance Impact of Floating-Point Exception Trapping
  • This section answers some common questions about floating-point processing, such as:

    Related Information:
    This section makes frequent reference to the compiler options that are grouped together in Options for Floating-Point Processing, especially the -qfloat Option. The XL Fortran compiler also provides three intrinsic modules for exception handling and IEEE arithmetic support to help you write IEEE module-compliant code that can be more portable. See IEEE Modules and Support in the XL Fortran Language Reference for details.

    The use of the compiler options for floating-point calculations affects the accuracy, performance, and possibly the correctness of floating-point calculations. Although the default values for the options were chosen to provide efficient and correct execution of most programs, you may need to specify nondefault options for your applications to work the way you want. We strongly advise you to read this section before using these options.

    Note:
    The discussions of single-, double-, and extended-precision calculations in this section all refer to the default situation, with -qrealsize=4 and no -qautodbl specified. If you change these settings, keep in mind that the size of a Fortran REAL, DOUBLE PRECISION, and so on may change, but single precision, double precision, and extended precision (in lowercase) still refer to 4-, 8-, and 16-byte entities respectively.

    The information in this section relates to floating-point processing on the PowerPC family of processors.

    IBM Copyright 2003