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

[no subject]

There seems to be a bug in the complr.
I try to run the simple function:

(defun bitrev (j nu) (declare (fixnum j nu))
	(do ((j1 j nextbase)
	     (n nu (// n 2))
	     (next-base (// j 2) (// next-base 2))
	     (k 0 (+ (* k 2) (- j1 (* 2 next-base)))))
	    ((= 1 n) k)))

This runs fine when interpreted.  When it is complied,
on the second and subsequent iterations, j1 and next-base
are set to the same value!!! J1 should equal (* 2 next-base).
What is going wrong, and how can I fix it??  Now I am 
using the function written as a prog (GROAN!!).