Improvements to randomize based on IRC feedback.
parent
5bb148fd10
commit
7273094ffe
|
@ -166,10 +166,5 @@ PRIVATE>
|
||||||
USE: math.ranges
|
USE: math.ranges
|
||||||
USE: random
|
USE: random
|
||||||
: randomize ( seq -- seq' )
|
: randomize ( seq -- seq' )
|
||||||
dup length 1-
|
dup length 1 swap [a,b) <reversed> [ dup random pick exchange ] each ;
|
||||||
[ dup 1 > ] [
|
|
||||||
[ [0,b) random ] keep dup
|
|
||||||
[ rot [ exchange ] keep ] dip 1-
|
|
||||||
] [ drop ] while ;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue