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.