Random.shuffle.run: def of bend-kit-random@0.1.0.1 Import: import bend-kit-random@0.1.0.1/random.bend as Random Lines 135-140 of bend-kit-random@0.1.0.1/random.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-random@0.1.0.1/random.bend&start_line=135&end_line=140 import Base def shuffle.run(~T: Data, +h: T, +xs: List<&2, T>, r: Rng) -> List<&2, T> & Rng: +m = (U32.from_nat(List.length(&2, T, xs)) - 1 : U32) shuffle.fin(~T, m, shuffle.go(~T, U32.to_nat(m), m, shuffle.fill(~T, xs, 0, Array.new(T, Nat.add(1n, U32.log2(m)), h)), below((m + 1 : U32), r))) Uses (16): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.new https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.from_nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.log2 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=Rng https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=below https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=shuffle.fill https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=shuffle.fin https://jend.leeeet.dev/definition.txt?path=bend-kit-random@0.1.0.1/random.bend&name=shuffle.go