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

Re: Nitpick with FLOOR etc.



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