[Gcl-devel] Re: [Maxima] float to bfloat



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