Data update

This commit is contained in:
Ingy döt Net 2025-02-27 18:35:13 -05:00
parent 8e4e15fa56
commit 72eb4943cb
1853 changed files with 35514 additions and 9441 deletions

View file

@ -0,0 +1,23 @@
val rng = ref (SplitMix64.init NONE)
fun getRandInt max =
let
val (rng', next) = SplitMix64.nextRange (0, max)
val () = rng := rng'
in
Word64.toInt next
end
fun knuthShuffle a =
let
val i = ref ((Array.length a) - 1)
in
while !i > 0 do
let
val a_i = Array.sub (a, !i)
val j = getRandInt !i
val a_j = Array.sub (a, j)
in
(Array.update (a, !i, a_j); Array.update (a, j, a_i); i := (!i - 1))
end
end