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

*To*: bear@xxxxxxxxx*Subject*: Re: Nitpick with FLOOR etc.*From*: Aubrey Jaffer <agj@xxxxxxxxxxxx>*Date*: Mon, 1 Aug 2005 12:32:49 -0400 (EDT)*Cc*: schlie@xxxxxxxxxxx, srfi-70@xxxxxxxxxxxxxxxxx*Delivered-to*: srfi-70@xxxxxxxxxxxxxxxxx*In-reply-to*: <Pine.LNX.4.58.0507270835060.2389@xxxxxxxxxxxxxx> (message from bear on Wed, 27 Jul 2005 08:55:59 -0700 (PDT))*References*: <BF05BAFD.AED1%schlie@xxxxxxxxxxx> <20050725005426.AD36D1B77B4@xxxxxxxxxxxxxxxx> <Pine.LNX.4.58.0507270835060.2389@xxxxxxxxxxxxxx>

| Date: Wed, 27 Jul 2005 08:55:59 -0700 (PDT) | From: bear <bear@xxxxxxxxx> | | 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.

**Follow-Ups**:**Re: Nitpick with FLOOR etc.***From:*Paul Schlie

**References**:**Re: Nitpick with FLOOR etc.***From:*Paul Schlie

**Re: Nitpick with FLOOR etc.***From:*Aubrey Jaffer

**Re: Nitpick with FLOOR etc.***From:*bear

- Prev by Date:
**Re: inexactness vs. exactness** - Next by Date:
**Re: Nitpick with FLOOR etc.** - Previous by thread:
**Re: Nitpick with FLOOR etc.** - Next by thread:
**Re: Nitpick with FLOOR etc.** - Index(es):