Implementation details of XL Fortran floating-point processing

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
Producing a core file
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 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.