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

Re: Comments on "Draft P1788" (29 Sep 2008, Kearfott, Pryce & Revol)



Michel Hack schrieb:
I realise this comes a bit late, but somehow this document had slipped
to the bottom of my pile of 1788-related stuff.  Sorry.

Now, perhaps I'm simply way out-of-date, and there is a newer version
available.  If so, where?

I am aware of the fact that this document is an early attempt to use
a P754 draft as a starting point, and turn it into a P1788 proposal.
(This is especially obvious to me, as I was part of the P754 process.)

There are a few things that did not translate easily from P754 to P1788
however, most notably some subtleties of DFP (Decimal FP).

2.1.2 and 2.1.3:   In the case of improper intervals the description in
         terms of value order is incompatible with the description in
         terms of first element and second element in Clause 3.

         Since this document explicitly defines Division to be capable
         of returning an improper interval as an encoding of a gap, this
         matters.  (3) States "The first element is the lower bound..."

         Perhaps section 2.1 needs to introduce Proper and Improper
         intervals, and then restrict 2.1.2 and 2.1.3 to proper intervals.

If improper (Kahan) intervals are introduced (and obtained as the result
of a division), their propagation under all operations must also be discussed. Otherwise the operations cannot be used for overloading arithmetic expressions.

In my proposal I advise against requiring Kahan arithmetic, as its
usefulness is quite restricted and it would make implementing Kaucher arithmetic which uses improper intervals with a completely different semantics and different arithmetic rules.


         All interval functions in 4.3 need to define how improper
         intervals are handled.  Arnold Neumaier steps around this by
         defining Division to return two intervals, the containment
         and the gap, neither of which is improper.  The gap may be
         Empty; if not, the containment would be Entire.

         Perhaps there should be a Gap() function that turns an improper
         interval into a proper interval by exchanging the bounds (it
         should transform Empty and proper intervals to Empty however).

The operation of swapping the bounds of an interval is conventionally called dual(xx). But Gap would be a different operation.


Arnold Neumaier