J3/04-419
Date: 03 November 2004
To: J3
From: Richard Maine
Subject: Interpretation request on coexistence of kinds
NUMBER:
TITLE: Coexistence of IEEE and non-IEEE kinds
KEYWORDS: IEEE, kind
DEFECT TYPE:
STATUS: Submitted
QUESTION:
Is it allowed for a processor to have one or more real kinds for which
there is no IEEE support, while also having real kinds for which there
is IEEE support?
Much of the IEEE material appears to assume that a processor could
simultaneously support both IEEE and non-IEEE kinds. I thought this
was the intent. However, the first sentence of the second paragraph
in section 14 says that if IEEE_EXCEPTIONS or IEEE_ARITHMETIC is
accessible in a scoping unit, then IEEE_OVERFLOW and
IEEE_DIVIDE_BY_ZERO are supported in the scoping unit for *ALL*
[emphasis mine] kinds of real and complex data. This says to me
that if there is any kind of real for which the processor cannot
support IEEE_OVERFLOW or IEEE_DIVIDE_BY_ZERO, then pretty much none
of the IEEE stuff can be used on that processor at all; there
isn't much of the IEEE stuff that can be used without IEEE_ARITHMETIC
or IEEE_EXCEPTIONS. This seems draconian and unintended.
I speculate that this condition is intended to apply to all IEEE
real kinds rather than to all real kinds.
ANSWER:
Yes, this is allowed. An edit is provided to correct the wording
error in the standard.
EDITS:
In the second line of the second paragrapg of section 14 ([363:9]),
"all kinds" -> "all IEEE kinds".
SUBMITTED BY: Richard Maine
HISTORY: J3/04-419 m170 submitted