From: Juho S. <js...@ik...> - 2006-12-13 14:54:22
|
"Marko Koci=E6" <mar...@gm...> writes: > What went wrong, me or optimizer? [...] > After that I tried to optimize it using the following code: > (defun cycle-length (n) > (declare (optimize (speed 3)(debug 0)(safety 0))) > (declare (fixnum n)) > (the fixnum > (1+ > (cond ((eq n 1) 0) > ((oddp n) (cycle-length (1+ (the fixnum (* 3 n))))) > (t (cycle-length (/ n 2))))))) Removing the (safety 0) should answer that question :-) Your fixnum calculations are overflowing to negative numbers. --=20 Juho Snellman |