To: J3 J3/23-157r1
From: John Reid & Malcolm Cohen
Subject: IEEE_SCALB real argument interp
Date: 2023-June-14
----------------------------------------------------------------------
NUMBER: F23/008
TITLE: Real argument I in IEEE_SCALB
KEYWORDS: Real, IEEE_SCALB
DEFECT TYPE: Erratum
STATUS: J3 consideration in progress
QUESTION:
The first sentence of 17.1 Overview of IEEE arithmetic support, states
"The intrinsic modules IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and
IEEE_FEATURES provide support for the facilities defined by
ISO/IEC 60559:2020."
However, nothing claims to support the IEEE function scaleB. This is
very like IEEE_SCALB (X,I) except that the IEEE standard requires
that the second argument to scaleB be the same type as logB, and that
is Real type whereas IEEE_SCALB only accepts Integer type.
Was it intended to support the IEEE scaleB operation?
If so, is that intended to be provided by IEEE_SCALB?
ANSWER:
Yes, the IEEE scaleB operation should have been supported.
Yes, IEEE_SCALB should provide the scaleB operation.
EDITS to N2218:
[xiv] Introduction, bullet "Changes to the intrinsic module
IEEE_ARITHMETIC for conformance with ISO/IEC 60559:2020",
append sentence
"The function IEEE_SCALB from the intrinsic module
IEEE_ARITHMETIC now performs the scaleB operation."
[470:6-7] 17.9 IEEE arithmetic, p1, bullet list, last item,
After "logB," insert "scaleB,",
After "IEEE_LOGB," insert "IEEE_SCALB".
[487:6] 17.11.37 IEEE_SCALB, 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 of type real with the same kind
type parameter as X.".
[487:9+] Same subclause, Result Value, before "Case (i)", insert
"The value of the result shall conform to the scaleB operation
of \theIEEEstd.".
SUBMITTED BY: John Reid
HISTORY: 23-157 m230 Submitted
23-157r1 m230 Revised
----------------------------------------------------------------------