Pcg.step_with: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/src/math/random/pcg.bend as Pcg Lines 59-64 of bend-collections-laws-crypto@1.0.0.0/src/math/random/pcg.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/random/pcg.bend&start_line=59&end_line=64 import Base import bend-collections-laws-crypto@1.0.0.0/src/math/u64.bend as W import bend-collections-laws-crypto@1.0.0.0/src/math/w64.bend as X # state * (mh:ml) + (ih:il) mod 2^128 (Go's (*PCG).next with its constants # as parameters) def step_with(+mh: W.U64, +ml: W.U64, +ih: W.U64, +il: W.U64, p: PCG) -> PCG: match p: case P{+hi, +lo}: step_mul(mh, ml, ih, il, hi, lo, X.mul128(lo, ml)) Uses (4): https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/random/pcg.bend&name=PCG https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/random/pcg.bend&name=step_mul https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/u64.bend&name=U64 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/math/w64.bend&name=mul128