[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] More NaN and Infsanity
Peter Bex scripsit:
> So, concretely, what should the behaviour of rationalize be for these
> It seems to me that both situations should probably be an error.
I agree. If you look at Alan Bawden's implementation in the IEEE Scheme
standard (online at http://trac.sacrideo.us/wg/wiki/RationalizeDefinition ),
you can see that if the first argument is non-rational, an error
is signalled. However, the second argument can be infinite, in which
case the result is 0.0, rather arbitrarily, because the boundaries of
the interval are going to be +inf.0 and -inf.0. Signalling an error
for this case would be all right with me.
In any case, the numbers egg is buggy: it always returns an exact
rational even if the arguments are inexact. Chibi's version of Bawden
is also buggy: it goes into an infinite loop if the second argument is
non-rational. Bawden's code may not be the fastest, but it's elegant:
I suggest adopting it.
Go, and never darken my towels again! John Cowan
--Rufus T. Firefly http://ccil.org/~cowan
Scheme-reports mailing list