[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Hossam Fahmy's P754-150 comments
David Hough has answered your main questions. I too was thrown off by
the underflow statement, but quickly understood what was meant because
I'm familiar with actual trap implementations (non-default handling).
IBM's documentation draws the distinction between exception conditions
and the effects thereof, which may be to raise a flag or to signal an
exception, and then again distinguishes between whether such signalling
involves an interruption (change of control flow) or some other means.
It's probably too late to take advantage of that language, as it would
affect several sections of the document.
I did read all of Hossam's comments, and either agree or have no comment
on most of them. Here are the ones where I have something to say.
8. subclause 2.2.46, definition of significand:
The current definition is not complete. It only explains the
significand of finite numbers. Add "It is also a component of
the encoding of infinities and NaNs as explained in clause 3."
Not really. What matters in the case of NaNs and Infinity is the
trailing significand field, not the significand itself. (For decimal
formats not even the trailing significand field matters for Infinity.)
10. page 15, line 26,
"p=the number of significand digits (precision)"
How about: "the number of digits in the significand"
That would eliminate the temptation to blame a typo.
12. page 17, first paragraph: [discussion of normalization]
I'm not sure it makes sense to discuss m>=b as this does not fit
into the encoding. What Hossam describes is how an intermediate
result of higher-than-target precision is handled. I would leave
this paragraph alone.
16. page 28, line 40: [definition of logB()]
change "with infinite range" to "with infinite precision"
given the definition of precision in subclause 2.2.39.
(range is not defined at all in the standard.)
NO -- "infinite range" is correct, and refers to the exponent range.
The word "range" is actually used in its ordinary definition covering
the range of values, from small to large. The point is that subnormal
values do not return emin, but pretend that smaller exponents exist,
which can be reported (down to emin-precision).
18. page 36, line 24:
specify explicitly the result and the signals raised for a qNaN.
I assume it to result in the same qNaN and no signals at all.
Not necessary; this falls under general NaN rules.
19. Page 43, subclause 5.12.3: [hexadecimal strings]
In this case I AGREE so strongly that I include the point here.
29. page 55, line 2 [pow(x<0, y<0 and finite non-integral)]
Several people have suggested that the standard define powr() and
pown() and leave pow() alone, so languages can decide whether to
make pow() be powr() or a silly combination of powr() and pown().
That would avoid this whole mess.
Michel.
Sent: 2007-11-10 01:12:56 UTC