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

*To*: Aubrey Jaffer <agj@xxxxxxxxxxxx>*Subject*: Re: Nitpick with FLOOR etc.*From*: Paul Schlie <schlie@xxxxxxxxxxx>*Date*: Mon, 18 Jul 2005 14:12:41 -0400*Cc*: <srfi-70@xxxxxxxxxxxxxxxxx>*Delivered-to*: srfi-70@xxxxxxxxxxxxxxxxx*In-reply-to*: <20050718173936.84F2C1B77B4@xxxxxxxxxxxxxxxx>*User-agent*: Microsoft-Entourage/11.1.0.040913

> From: Aubrey Jaffer <agj@xxxxxxxxxxxx> > | Date: Sun, 17 Jul 2005 21:43:42 -0400 > | From: Paul Schlie <schlie@xxxxxxxxxxx> > | > | > From: Aubrey Jaffer <agj@xxxxxxxxxxxx> > | > | Date: Sun, 17 Jul 2005 13:23:26 -0400 > | > | From: Paul Schlie <schlie@xxxxxxxxxxx> > | > ... > | > Exact infinities are not needed for SRFI-70. > | > > | > | (> #e1/0 #e10^1000 #i10^300) => #t > | > | > | > | as otherwise: (> (* #e10^1000 #e10^1000) #e10^1000) > | > | > | > | :: (> #i1/0 #e10^1000) => #f > | > > | > That conflicts with SRFI-70, which specifies that #i+1/0 compares as > | > larger than any finite real number, exact or inexact: > | > | - well, it should be clear that that's not going to work, as it would be > | false for most all exact implementations. > > From SRFI-70: > "... an inexact real number represents not a single value, but a > neighborhood of (mathematical) real numbers. ... +/0. represents real > numbers greater than can be encoded by finite inexacts in the > implementation ... -/0. represents numbers less than can be encoded by > finite inexacts in the implementation." > > One might argue that large exact numbers being within the > +/0. interval make them `=' to it. But that foils transitivity for > `=': > > (= (expt 10 1000) +/0. (expt 10 999) > > Large exact numbers can not be greater than +/0. because the entire > real line is covered by inexact neighborhoods in SRFI-70. > > So large exact numbers must be less than +/0.. - maybe I misunderstand, but my attempted point was that since many exact implementations enable the representation of value of greater magnitude than the value range that an inexact infinity begins, it seems incorrect to define that (> #i1/0 1e1000) if #i1/0 represents all values greater than an inexact 1e306 for example. I would presume: (> #i1/0 1e1000) => #f and (= #i1/0 1e1000) => #f yet (> #e1/0 1e1000) => #t assuming #e1/0 were unique from #i1/0, and representing all values greater than the representational range of an exact implementation, assuming that all implementations of exact have some practical limit. Thereby also: (>= #e1/0 #i1/0) => #f ; as #e1/0 is a subset of #i1/0, not > or =.

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

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

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

- Prev by Date:
**Re: Nitpick with FLOOR etc.** - 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):