[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: after-rounding tinyness detection and directed rounding



| The returned result when rounding a positive tiny-before-rounding value
| in roundTowardPositive is Nmin, regardless of how small the true value is.
| The rounded result appears to have a full count of bits, but most or all
| of them are meaningless.  That's ok, we asked for a bound and got one.
| The result is not wrong.
|
| Nevertheless, the information that the true value is very small is lost.

Maybe I'm missing something, but I don't see why. When we talk about
"after rounding" it means after rounding into a notional format with
an unbounded exponent range. Such a result would still be nonzero and
< Nmin in the actual format, whatever the rounding mode.

I agree with Guillaume Melquiond that the most intellectually
satisfying definition would be "you lost accuracy specifically because
of the bound on the exponent range", i.e. that the result differs from
(= is worse than) the one that would have been obtained with unlimited
exponent range.

On the other hand, as David Hough points out, this may be non-trivial
to implement and doesn't seem to have been done. And as Mike Cowlishaw
says, there's something to be said for the conceptual simplicity of
the "before rounding" definition. I know many people are surprised
when they first encounter phenomena such as a normal result 
accompanied by an underflow indication.

Anyway, whatever the rights and wrongs of the definitions, I'm quite
surprised to see such a fundamental change in the standard appear
this late in the revision process.

John.

754 | revision | FAQ | references | list archive