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_GET_ROUNDING_MODE

Intrinsic Module Subroutine (Generic): Stores the current IEEE rounding mode. This is an impure subroutine.

Module

USE, INTRINSIC :: IEEE_ARITHMETIC

CALL IEEE_GET_ROUNDING_MODE (round_value [, radix])

round_value

(Output) Must be scalar and of type TYPE (IEEE_ROUND_TYPE). It returns one of the following IEEE floating-point rounding values:

IEEE_DOWN, IEEE_NEAREST, IEEE_TO_ZERO, or IEEE_UP; otherwise, IEEE_OTHER.

The result can only be used if IEEE_SET_ROUNDING_MODE is invoked.

radix

(Input; optional) Must be an integer scalar with a value of two or ten. The rounding mode queried is the binary rounding mode, unless radix is present with the value ten, in which case it is the decimal rounding mode queried.

Example

Consider the following:

USE, INTRINSIC :: IEEE_ARITHMETIC
TYPE(IEEE_ROUND_TYPE) ROUND
...
CALL IEEE_GET_ROUNDING_MODE(ROUND)   ! Stores the rounding mode
CALL IEEE_SET_ROUNDING_MODE(IEEE_UP) ! Resets the rounding mode
...
CALL IEEE_SET_ROUNDING_MODE(ROUND)   ! Restores the previous rounding mode