> From: bear <xxxxxx@sonic.net>
> On Wed, 17 Aug 2005, Paul Schlie wrote:
>> ...
>> therefore in representations where they
>> are not distinguishable, it would seem that it may then be correspondingly
>> appropriate to presume values represented as infinites are over/under-
>> flowed values, thereby implying that any value other than an exact
>> infinity multiplied by an exact 0 is 0, and correspondingly implying
>> that only 0/0 and/or any value who's absolute value is greater than 1
>> divided by, or who's absolute value is less than 1 multiplied by, an
>> infinity are considered NaN's [aka 0/0] (as otherwise the resulting value
>> will be known to be within the value ranges designated for infinites
>> and/or their reciprocals, and represented as such)?
>
> Okay, I had to reread that three times, but if I understand
> you correctly, I think I agree. I've been awake too long
> maybe and I'm having trouble thinking around corners.
In attempt to more clearly depict the above:
(additive inverse axis)
|
* -sInf | * -s0.0 | * +s0.0 | * +sInf
=> sInf | => s0.0 | => s0.0 | => sInf
--------|---------|---------|-------- (multiplicative Infinities)
-Inf -1 -0.0 0 +0.0 +1 +Inf
==|=====|====|====|====|====|=====|== (multiplicative inverse axis)
-0.0 -1 -Inf Inf +Inf +1 +0.0
--------|---------|---------|-------- (multiplicative NaN's)
* sInf | * s0.0 | * s0.0 | * sInf
=> NaN | => NaN | => NaN | => NaN
i.e:
for x!=Inf: (* x 0) => 0, (/ x Inf) => 0 ; true zero
for x!=0: (* x Inf) => Inf, (/ x 0) => Inf ; true infinity
for x<=-1: (* x -Inf) => +Inf, (/ x -0.0) => +Inf ; +infinity/overflow
(* x +Inf) => -Inf, (/ x +0.0) => -Inf ; -infinity/overflow
for -1<=x<0: (* x -0.0) => +0.0, (/ x -Inf) => +0.0 ; +zero/underflow
(* x +0.0) => -0.0, (/ x +Inf) => -0.0 ; -zero/underflow
for 0<x<=+1: (* x +0.0) => +0.0, (/ x +Inf) => +0.0 ; +zero/underflow
(* x -0.0) => -0.0, (/ x -Inf) => -0.0 ; -zero/underflow
for +1<=x: (* x +Inf) => +Inf, (/ x +0.0) => +Inf ; +infinity/overflow
(* x -Inf) => -Inf, (/ x -0.0) => -Inf ; -infinity/overflow
otherwise for any other value of x above, => NaN