Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

IEEE_ARITHMETIC Intrinsic Module

The IEEE_ARITHMETIC module contains derived data types that include named constants for controlling the level of support, and intrinsic module procedures.

The derived types in the intrinsic modules have components that are private. The IEEE_ARITHMETIC intrinsic module supports IEEE arithmetic and features. It defines the following derived types:

  • IEEE_CLASS_TYPE: Identifies a class of floating-point values. Its values are the following named constants:

    IEEE_SIGNALING_NAN

    IEEE_NEGATIVE_NORMAL

    IEEE_QUIET_NAN

    IEEE_POSITIVE_DENORMAL

    IEEE_POSITIVE_INF

    IEEE_NEGATIVE_DENORMAL

    IEEE_NEGATIVE_INF

    IEEE_POSITIVE_ZERO

    IEEE_POSITIVE_NORMAL

    IEEE_NEGATIVE_ZERO

    IEEE_OTHER_VALUE

     
  • IEEE_ROUND_TYPE: Identifies a rounding mode. Its values are the following named constants:

    IEEE_AWAY 1

    IEEE_OTHER 4

    IEEE_DOWN 2

    IEEE_TO_ZERO 5

    IEEE_NEAREST 3

    IEEE_UP 6

    1 Corresponds to ISO/IEC/IEEE 60559:2011 rounding attribute roundTiesToAway. Intel hardware does not support this mode.

    2 Corresponds to ISO/IEC/IEEE 60559:2011 rounding attribute roundTowardNegative.

    3 Corresponds to ISO/IEC/IEEE 60559:2011 rounding attribute roundTiesToEven.

    4 Specifies the rounding mode does not conform to the IEEE standard.

    5 Corresponds to ISO/IEC/IEEE 60559:2011 rounding attribute roundTowardZero.

    6 Corresponds to ISO/IEC/IEEE 60559:2011 rounding attribute roundTowardPositive.

The IEEE_ARITHMETIC intrinsic module also defines the following operators:

  • Elemental operator = = for two values of one of the above types to return true if the values are the same; otherwise, false.

  • Elemental operator /= for two values of one of the above types to return true if the values differ; otherwise, false.

The IEEE_ARITHMETIC module includes support for IEEE_EXCEPTIONS module, and public entities in IEEE_EXCEPTIONS module are also public in the IEEE_ARITHMETIC module.

To see a summary of all the IEEE_ARITHMETIC intrinsic procedures, see IEEE Intrinsic Modules Quick Reference Tables