>>>>> "Camm" == Camm Maguire <camm@enhanced.com> writes:
Camm> I don't think this is the case:
My apologies. I didn't test it. I used to have problems with gcl's
float reader/printer, but I guess you've fixed those. Nice!
Camm> OK, will consider after Stavros gets a chance to look into things next
Camm> week. Thanks again to all!
FWIW, I ran your test function on cmucl. It passes the test case
(test-f 1d0 10). Also, there were a couple of minor bugs. float
should take the 2nd arg, otherwise it converts to single-float be
default. This was messing up cmucl. :-)
(defun test-f (x i)
(multiple-value-bind
(q r s)
(integer-decode-float x)
(format t "~S~%" x)
(and (eql x (float (* q (expt 2 r)) x))
(eql (float (rationalize x) x) x)
(if (> i 0)
(test-f (float (* (+ q 1) (expt 2 r)) x) (- i 1))
t))))
Ray