def bytes.go

bend-osdev-cbc@0.1.0.0 · check.bend:50

import bend-osdev-cbc@0.1.0.0/check.bend as Check
import Base

50# n pseudo-random bytes (a linear congruential generator)
51def bytes.go(n: Nat, +s: U32, acc: List<&2, U32>) -> List<&2, U32>:
52  match n:
53    case 0n:
54      acc
55    case 1n+p:
56      +s2 = U32.add(U32.mul(s, 1103515245), 12345)
57      bytes.go(p, s2, Con{U32.and(U32.shrn(s2, 16n), 255), acc})

Uses (7)

Used by (1)