Intel® Fortran Compiler 18.0 Developer Guide and Reference
Intrinsic Module Subroutine (Generic): Sets the IEEE rounding mode. This is an impure subroutine.
USE, INTRINSIC :: IEEE_ARITHMETIC
CALL IEEE_SET_ROUNDING_MODE (round_value)
round_value |
(Output) Must be scalar and of type TYPE (IEEE_ROUND_TYPE). It specifies one of the following IEEE floating-point rounding values: IEEE_DOWN, IEEE_NEAREST, IEEE_TO_ZERO, IEEE_UP, or IEEE_OTHER. |
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 (VALUE) ! Restores the previous rounding mode