[alexandria-devel] Bug in shuffle (sequences.lisp)
Jianshi Huang
jianshi.huang at gmail.com
Tue Nov 8 09:34:06 UTC 2011
Or
(loop for i from (- end 1) downto start
do (rotatef (aref sequence i) (aref sequence (+ start (random (-
(1+ i) start))))))
if you want a downward version.
On Tue, Nov 8, 2011 at 6:27 PM, Jianshi Huang <jianshi.huang at gmail.com> wrote:
> (loop for i from (- end 1) downto start do (rotatef (aref
> sequence i) (aref sequence (random (+ i 1)))))
> should be
>
> (loop for i from start below end do (rotatef (aref sequence i)
> (aref sequence (+ i (random (- end i))))))
> otherwise the element selected won't be bound by [start, end),
>
> similar bug in the sequence typed version
> Cheers,
> --
> 黄 澗石 (Jianshi Huang)
> http://huangjs.net/
>
--
黄 澗石 (Jianshi Huang)
http://huangjs.net/
More information about the alexandria-devel
mailing list