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

Re: Motion P1788/M003.01_Set_of_reals



In response to Ian McIntosh's NO vote, Jõrgen Wolff v Gudenberg
revised his initial comment

>> ... log(?0,0Ù) may produce ?-oo,-maxrealÙ and set the flag

and wrote:

> This may seem to give more information.  But actually the value
> of log(0) is not defined.  Hence the result is the empty set.


I think Ian's point was that 754-2008 defines log(0) to be -oo, just
like -1/0  (or, for that matter, 1/-0).  In either case the DivByZero
flag is set (if not trapped) -- precisely because 754 operates in R*.

My view is that 754 conflates two concepts into one: "true" infinity
as an ideal point in R*, and overflow within R.  It has little choice
because distinguishing them would require an extra bit somewhere, and
possibly complicate implementations (at least in 1985).  *}

IA does have a choice however:  we are exercising it right now.  IA can
represent overflow, and can live without true Infinity because it can
offer Empty as closure for operations not defined in R.  754 also wants
closure properties, but without the concept of Empty it needed another
escape, and chose affine R* (well, settled on affine R* after having
briefly also considered the projective closure)>

Michel.

*)  Distinguishing true and false infinities would have been easy, as
    only a NaNcode bit would have had to be sacrificed (or nothing at
    all in DFP, which has higher redundancy).  But this would also
    require distinguishing true (exact) and false (inexact underflow)
    zeros -- and that would require sacrificing either a precision bit,
    or truly complicate the encoding by making zero look like another
    kind of infinity (which one -- the true one or the false one, or
    both?).

    Come to think of it, having BOTH types of zero use the extreme
    exponent encoding, and making a pattern of all-zeros a signalling
    NaN, could have done wonders for detecting uninitialised storage!
    (It would however have seriously messed up trivial conversions
    between integers and FP, and complicated the implementation of
    addition.)

    Unfortunately these clever ideas are 24 years too late...
---Sent: 2009-04-11 17:11:28 UTC