To: J3 J3/23-121
From: John Reid
Subject: Omission in IEEE_SCALB
Date: 2023-February-16
Introduction
^^^^^^^^^^^^
Malcolm Cohen has pointed out to me that the DIS says in 17.1:
"The intrinsic modules IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and
IEEE_FEATURES provide support for the facilities defined by
ISO/IEC 60559:2020." but IEEE_SCALB (X,I) does not support real values
for the argument I. I think this was an oversight when Fortran 2018 was
updated for ISO/IEC/IEEE 60559:2011, see J3/14-196.
This means that there is an inconsistency in Fortran 2018 which is
present in the DIS. I propose edits to the DIS here but I recognize
that it may be more appropriate to move them in an interpretation.
Edits to the DIS
^^^^^^^^^^^^^^^
In 17.9 IEEE arithmetic, para 1, final bullet, after "logB," add
"scaleB," and after "IEEE_LOGB," add "IEEE_SCALB," so that the bullet
reads
"the IEEE functions copySign, logB, scaleB, and compareQuietUnordered
shall be provided by the functions IEEE_COPY_SIGN, IEEE_LOGB,
IEEE_SCALB, and IEEE_UNORDERED, respectively,"
In 17.11.37 IEEE_SCALB (X, I), Arguments, I, change "integer" to
"integer or real with the same kind type parameter as X"
so that the line reads
"I shall be of type integer or real with the same kind type parameter
as X."