XL Fortran for AIX 8.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 15. IEEE Modules and Support

XL Fortran offers support for IEEE floating-point functionality as specified in the Fortran 2000 draft standard. The draft standard defines the IEEE_EXCEPTIONS module for exceptions, the IEEE_ARITHMETIC module to support IEEE arithmetic, and IEEE_FEATURES to specify the IEEE features supported by the compiler.

When using IEEE_EXCEPTIONS, or IEEE_ARITHMETIC intrinsic modules, the XL Fortran compiler enforces several Fortran 2000 draft standard rules regarding the scope of changes to the floating-point status concerning rounding mode, halting mode, and exception flags. This can impede the performance of programs that use these modules, but do not utilize the new floating-point status semantics. For such programs, the -qstrictieeemod compiler option is provided to relax the rules on saving and restoring floating point status.

Notes:

  1. XL Fortran Extended Precision floating-point numbers are not in the format suggested by the IEEE standard. As a result, some parts of the modules do not support REAL(16).

  2. The IEEE_SET_FLAG subroutine will not set the IEEE_INVALID exception flag on POWER and POWER2 platforms.

  3. Programs using the halting facilities of the IEEE modules must be compiled using -qflttrap option. When halting is enabled and an exception occurs, the IEEE modules generate SIGTRAP signals. Specifying the -qflttrap=imprecise compiler option reduces the performance impact of halting while remaining compliant with the Fortran 2000 draft standard requirements.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]