(j3.2006) J3 Fortran interp letter ballot #32 revised - due 9-Jan-2015
Robert Corbett
robert.corbett
Fri Jan 9 03:00:37 EST 2015
The following Fortran interpretations are being balloted:
Yes No Number Title
-Y- --- F08/0105 Is the ASYNCHRONOUS attribute allowed with the
VALUE attribute?
-Y- --- F08/0110 Interdependence of specifier values in input/output
statements
-Y- --- F08/0115 ASYNCHRONOUS and argument passing
-Y- --- F08/0116 Interoperable procedures
-Y- --- F08/0117 TARGET and coindexed arguments
-Y- --- F08/0118 Subobject of variable in variable definition context
-Y- --- F08/0119 Branching to END BLOCK and END CRITICAL
-Y- --- F08/0120 Is the name of a procedure pointer a local identifier?
-Y- --- F08/0121 Add to introduction defined operations in
specification exprs
-Y- --- F08/0122 Types with coarray components
--- -N- F08/0123 SPACING intrinsic
-Y- --- F08/0124 Coindexed object with polymorphic subcomponent
----------------------------------------------------------------------
F08/0123 N
The results of applying the intrinsic functions SPACING and RRSPACING
to subnormal values were the subject of interpretation F03/0055. A
copy of that interpretation appears below. Interpretation F03/0055
included edits that were incorporated in the Fortran 2008 standard.
The proposed revised specification for the intrinsic function SPACING
and the existing text are equivalent if the value of e\sub{min} is
chosen properly for the KIND of real value. The text that F03/0055
added assumes that the value of e\sub{min} for a processor that
supports subnormal numbers is the exponent of the smallest positive
representable number. The Fortran 2008 standard does not spell out
how the value of e\sub{min} is to be chosen, which must be
addressed if the results of the intrinsic function SPACING are to be
fully specified.
If a different value of e\sub{min} is chosen, the result of SPACING
for the value 0.0 becomes problematic. For example, if the value
of e\sub{min} is chosen to be -126 for IEEE single-precision, the
value of SPACING(0.0) will be 1.1754944E-38, while the value of
SPACING(X) for a nonzero subnormal value will be 1.4012985E-45.
SPACING(0.0) should not be greater than SPACING(X).
================
NUMBER: F03/0055
TITLE: Denormal inputs to SPACING and RRSPACING
KEYWORDS: denormal, intrinsic, SPACING, RRSPACING
DEFECT TYPE: Erratum
STATUS: Passed by J3 letter ballot
QUESTION:
What results do SPACING and RRSPACING return if the value of X lies
outside the model of 13.4, in particular if it is denormal?
In the definition of EXPONENT, the words 'of the model representation
for the value of X' appear; but in the definition of SPACING and
RRSPACING, the words are 'for the model representation of X'.
Was this difference intended? Is the intention to indicate that for
SPACING and RRSPACING, the model is that of all reals with the same
kind type parameter value as X?
In the IEEE model, the spacing between any two adjacent denorms is
equal to the smallest denorm. Is it intended that this value be
returned by SPACING?
ANSWER:
The informal description refers to 'model numbers near the argument
value', but the text does not reflect this. Edits are provided to
correct this.
Yes, the difference was intended. In both models, the lower
bound on the exponent has a profound effect on the spacing of
tiny values, so it is important that it be taken into account.
It was intended to refer to the model for all the reals with the
same kind type parameter value as X. Here is it the model of 13.4
that is involved, as the words in 13.4 make clear. If the argument
value is a positive denorm, the model numbers near it are
TINY(X) and 0. Their spacing is TINY(X).
Edits are provided to make this intention clear.
EDITS:
Page and line numbers refer to J3/04-007.
[347:22] Subclause 13.7.100, Result Value, line 2. Replace
"the model representation of X." by "the value nearest to X in the
model for real values whose kind type parameter is that of X; if
there are two such values, the value of greater absolute value is
taken."
[353:9] Subclause 13.7.113, Result Value, line 2. Replace
"the model representation of X." by "the value nearest to X in the
model for real values whose kind type parameter is that of X; if
there are two such values, the value of greater absolute value is
taken."
SUBMITTED BY: John Reid
HISTORY: 05-153 m171 Passed by J3 meeting
05-170 m172 Passed J3 letter ballot #11
----------------------------------------------------------------------
More information about the J3
mailing list