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

Re: Nitpick with FLOOR etc.

This page is part of the web mail archives of SRFI 70 from before July 7th, 2015. The new archives for SRFI 70 contain all messages, not just those from before July 7th, 2015.



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