[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nitpick with FLOOR etc.



 | Date: Tue, 02 Aug 2005 10:16:19 -0400
 | From: Paul Schlie <schlie@xxxxxxxxxxx>
 | 
 | > From: Aubrey Jaffer <agj@xxxxxxxxxxxx>
 | > Inverting +/0. or -/0. returns 0.0.  So the name "error object"
 | > wouldn't seem to apply either.
 | 
 | - I still don't understand how it's acceptable for (/ 1/-0.0) => 0.0, as
 |   it seems neither necessary, nor desirable to propagate IEEE-754 mistake.

(limit / -/0. -1.0e222) ==> 0.0

The limit, as x approaches -/0. from -1e222, of (/ x) is 0.0.

 | >  | This brings up an important distinction in "infinities;"
 | >  | When you divide by exact zero you get an absolute infinity.
 | >  | (which, perversely, is neither positive nor negative, because
 | >  | exact zero isn't positive or negative.) Call this EO1.
 | > 
 | > We have already covered this ground.  Division by zero is undefined;
 | > SRFI-70 extends division by returning infinities in these cases:
 | > (/ -5. 0) ==> -/0.; (/ 1. 0) ==> +/0., which are consistent with
 | > the one-sided limits:
 | > 
 | > (limit / 0 1.0e-9)                              ==> +/0.
 | > (limit / 0 -1.0e-9)                             ==> -/0.
 | 
 | - however as multiplication by 0 should result in 0, 0/x => 0
 |   regardless of its denominator.

There is no multiplication by 0 here; (limit / 0 1.0e-9) is the limit,
as x approaches 0 from 1e-9, of (/ x).

 | >  | When you divide 1 by (say) 5e-323, you get a different kind of
 | >  | EO, which is "results too large to represent" but which
 | >  | is often mistaken for an actual infinity.   Call this EO2.
 | > 
 | > The result of division by zero was chosen to be the same as the result
 | > of (/ 1 5e-323).  We could split +/0 into any number of regions.  One
 | > was chosen, which happens to be supported by IEEE-754.
 | 
 | - who's model of infinitesimals isn't likely something worthy of
 |   mimicking.

SRFI-70 does not incorporate infinitesimals, IEEE or otherwise.