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

Re: Motion P1788/M0013.04 - Comparisons - Overflow / Infinity



Arnold Neumaier wrote:
Nate Hayes wrote:
John Pryce wrote:
On 20 Sep 2010, at 19:00, Arnold Neumaier wrote:
Ian McIntosh wrote:

In doing that I did not mean it to totally replace Infinity, and I did
not
mean they would have the same semantics.  The whole point is to
distinguish
their semantics.
In IEEE floating point, you can get Infinity two ways.  One is by
dividing
a nonzero by zero.  The other is by overflow.  The following mostly
ignores
signs for brevity:
    IEEE     nonzero / 0     =     Infinity
    IEEE     overflow on any operation     =     Infinity

We introduced in Motion 8 decorations to be able to distinguish the two
where necessary inninterval bounds by having the decoration IsBounded.

I have several objections to the idea e.g.:

John,

Can you clarify: do you object to Overflow or the IsBounded decoration (or both)?



(1) What is, for instance, sqrt( [1,Overflow] ) or log( [1,Overflow] )?


I think
   sqrt([1,Overflow])
       =[sqrt(1),sqrt(x)], x=Overflow
       =[1,Overflow],
since x > MAXREAL is some unknown real number and for all x > MAXREAL there
exists sqrt(x) that overflows.

So with the Overflow proposal,
   y=log(exp(x))
gives for x=[0,1000] the result
   y=[0,Overflow],
although only an intermediate result overflowed.

Yes.

This already is the case for closed, unbounded intervals. In that case the intermediate result will be an unbounded interval giving a final result of y=[0,+Infinity]. Neither Overflow nor Infinity produce "1000" as an upper bound.



Clearly, this should be a matter for decorations and not for interval
bounds.

I don't follow.

Nate