Nitpick with FLOOR etc. Michael Sperber (07 Jul 2005 08:46 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (09 Jul 2005 00:50 UTC)
Re: Nitpick with FLOOR etc. Michael Sperber (11 Jul 2005 06:55 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 02:01 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (16 Jul 2005 08:38 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 17:42 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (16 Jul 2005 09:12 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (16 Jul 2005 18:19 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (17 Jul 2005 17:23 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (17 Jul 2005 17:35 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (17 Jul 2005 22:43 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 01:43 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 02:31 UTC)
Re: Nitpick with FLOOR etc. bear (18 Jul 2005 05:59 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 18:57 UTC)
Re: Nitpick with FLOOR etc. bear (19 Jul 2005 01:35 UTC)
Re: Nitpick with FLOOR etc. Alan Watson (19 Jul 2005 20:30 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 17:35 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (24 Jul 2005 23:15 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 03:24 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 18:24 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 18:41 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 23:36 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (22 Jul 2005 00:50 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (25 Jul 2005 00:54 UTC)
Re: Nitpick with FLOOR etc. bear (27 Jul 2005 15:56 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (01 Aug 2005 16:33 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (25 Jul 2005 01:16 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (25 Jul 2005 02:38 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (28 Jul 2005 01:11 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (28 Jul 2005 18:15 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (01 Aug 2005 16:59 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (02 Aug 2005 13:58 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (18 Jul 2005 17:39 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (18 Jul 2005 18:15 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (20 Jul 2005 19:24 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (20 Jul 2005 21:35 UTC)
Re: Nitpick with FLOOR etc. bear (20 Jul 2005 22:41 UTC)
Re: Nitpick with FLOOR etc. Paul Schlie (20 Jul 2005 22:47 UTC)
Re: Nitpick with FLOOR etc. Aubrey Jaffer (21 Jul 2005 01:31 UTC)

Re: Nitpick with FLOOR etc. Aubrey Jaffer 01 Aug 2005 16:32 UTC

 | Date: Wed, 27 Jul 2005 08:55:59 -0700 (PDT)
 | From: bear <xxxxxx@sonic.net>
 |
 | In practical terms, I think that "infinity" as it's being
 | discussed here is properly an error object rather than a
 | numeric value, and I would be satisfied with a scheme
 | where numeric operations returned an error object if asked
 | to do anything involving a range overflow, underflow, or
 | where an argument were an error object.

0/0. is an error object (SRFI-70 calls it an error waiting to happen),
but +/0. and -/0. behave differently from error objects when inverted:
(/ +/0.) ==> 0.0; and in numerical comparisons.

 | But naming an error object "infinity" is misleading, since the
 | value the user sees may be nine or ninety operations further down
 | the pipeline after the "overflow" has been divided, subtracted,
 | inverted, etc.

Inverting +/0. or -/0. returns 0.0.  So the name "error object"
wouldn't seem to apply either.

 | 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.

 | 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.