Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Bisection methods (was Structured support...)



Nate Hayes wrote:
>    -- The current P-1788 draft says the midpoint of an unbounded interval
>       is undefined at Level 1.
>
>     -- When I asked "does this mean other interval bisection methods such
>        as geometric mean, smedian2, etc. are also undefined at Level 1 for
>        unbounded intervals?"  John's answer was "yes".
>
>     -- When I asked "does this mean all of these interval bisection methods
>        are undefined for unbounded intervals at Level 2, as well?"  John's
>        answer was "yes, and let it return NaN at Level 2..."
>
> We happen to agree with John on these points.  However, this leaves many
> interval algorithms undefined at Level 1 and Level 2, returning NaNs.

By "these interval bisection methods" John meant any that are described
at Level 1.  This does not preclude Level 2 from offering other pragmatic
bisection methods that ARE defined to return a specific format-dependent
finite value at Level 2.

It may well be that there can be no agreement one one (or perhaps a
small number) of such pragmatic bisection functions, as different
applications would prefer a different bisection rule).  However, if
a large number of applications can agree on a small-enough set, it
would be USEFUL to offer these in the standard -- perhaps only as
recommended functions, so as to avoid the need for everybody to
reinvent the same wheel.

To get back to the 754 analogy:  Since DFP operations can have several
distinct results (distinguishable by totalOrder()), something that
cannot be expressed at Level 1, would Nate recommend that they simply
return NaN?  Same deal for BFP and signed zeros, which can also be
distinguished by totalOrder(), as well as by taking Inverse.

This last case (taking inverses) is perhaps most relevant, because in
that case the result can be two different Level 1 values (+oo or -oo),
whereas in other cases there is a unique Level 1 result.  So, to follow
Nate's rule, 754 division by zero should yield NaN, not an Infinity...
Actually, quantize() can also lead to different Level 1 values, as the
result depends on the quantum of one of the operands -- a notion that
cannot be expressed at Level 1.


Michel.
---Sent: 2012-05-25 15:40:57 UTC