07-113r1
To: J3
Subject: RRSPACING (UTI 092)
From: Van Snyder
Date: 26 January 2007
1 Introduction
UTI 092 argues that RRSPACING(X) should be an IEEE NaN if X is IEEE Inf.
On the other hand, however, RRSPACING(X) can be written as
ABS(FRACTION(X)) * RADIX(X) / EPSILON(X). RADIX and EPSILON are inquiry
functions, so their result values don't depend upon their argument
values, while the result value of FRACTION(X) is defined to be "the same
value as X" if X is an IEEE infinity. I would be really surprised if
ABS(Inf) or ABS(-Inf) were not Inf, so RRSPACING(±Inf) ought to be +Inf.
Malcolm argues that the definition of FRACTION is defective: IEEE
infinity is not a sensible result for an IEEE infinity argument; the
result ought to be NaN. I suppose it's OK to return the same NaN if the
argument is NaN. Rather than make RRSPACING consistent with the defective
FRACTION, we probably need an interp to correct FRACTION. Or could we
just announce an incompatibility in 1.6.3?
2 Edits
Edits refer to 07-007. Page and line numbers are displayed in the margin.
Absent other instructions, a page and line number or line number range
implies all of the indicated text is to be replaced by associated text,
while a page and line number followed by + (-) indicates that associated
text is to be inserted after (before) the indicated line. Remarks are
noted in the margin, or appear between [ and ] in the text.
[420:9]-------------------------------------------------------------------
[Editor: ``zero'' ``an IEEE NaN''.]
[420:10+] ----------------------------------------------------------------
[Editor: Delete UTI 092.]
3 On the other hand
[420:7]-------------------------------------------------------------------
[Editor: insert ``= ABS(FRACTION(X)) * RADIX(X) / EPSILON(X)'' after ``bp
''.]
[420:9]-------------------------------------------------------------------
[Editor: ``zero'' ``IEEE VALUE(X,IEEE POSITIVE INF) (14.1, 14.10.36)''
or ``zero'' ``positive IEEE infinity''.]
[420:10+] ----------------------------------------------------------------
[Editor: Delete UTI 092.]
4 If we can change FRACTION without an interp
Do the edits in Section 2 and don't do the ones in Section 3.
[3:29] -------------------------------------------------------------------
[Editor: Add a sentence: ``The result of FRACTION(X) with X an IEEE
infinity has been changed from that infinity to an IEEE NaN.'']
[383:8]-------------------------------------------------------------------
[Editor: Delete ``infinity or''. Add a sentence: ``If X is an IEEE
infinity the result is an IEEE NaN.'']