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

*To*: bear <bear@xxxxxxxxx>, Aubrey Jaffer <agj@xxxxxxxxxxxx>*Subject*: Re: Wrapping up SRFI-70*From*: Paul Schlie <schlie@xxxxxxxxxxx>*Date*: Wed, 17 Aug 2005 10:55:11 -0400*Cc*: <srfi-70@xxxxxxxxxxxxxxxxx>*Delivered-to*: srfi-70@xxxxxxxxxxxxxxxxx*In-reply-to*: <Pine.LNX.4.58.0508161900040.27338@xxxxxxxxxxxxxx>*User-agent*: Microsoft-Entourage/11.1.0.040913

> From: bear <bear@xxxxxxxxx> > On Sun, 14 Aug 2005, Aubrey Jaffer wrote: > ... > However, multiplication by exact zero certainly does "trump" > mere overflows (signed numbers that are too large for the > current encoding to represent). Under your current formulation, > are infinities distinguished from overflows? Do you think it > would be a reasonable thing to do? Do you think it would be > a reasonable thing to forbid anyone to do? > >> | Forbidding an implementation to return an exact zero in >> | that situation is to ignore a fundamental law of mathematics >> | and also forbid the implementation from providing true and >> | potentially useful information to its user. >> >> R5RS also allows an implementation to return inexact zero. Is that >> wrong? Do you feel that latitude should be removed? > > If the other operand is anything other than an actual infinity, > then zero (EXACTLY zero) is the correct mathematical result. > The latitude to return inexact zero is a concession to simple, > efficient code that runs fast on hardware which presents a > flawed model of mathematics; it permits the flaw to affect the > results. *Requiring* the flaw to affect the results is, I > believe, The Wrong Thing. - Given that "in your experience" (which seems sensible), true infinities and presumably corresponding reciprocals tend to be rare relative to computational over/underflows; 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)?

**Follow-Ups**:**Re: Wrapping up SRFI-70***From:*bear

**References**:**Re: Wrapping up SRFI-70***From:*bear

- Prev by Date:
**Revision of SRFI 70 available** - Next by Date:
**Re: Wrapping up SRFI-70** - Previous by thread:
**Re: Wrapping up SRFI-70** - Next by thread:
**Re: Wrapping up SRFI-70** - Index(es):