def init_go
bend-collections@1.0.0.0 · src/crypto/argon2/argon2.bend:307
import bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend as Argon2
import Base
import bend-collections@1.0.0.0/src/crypto/argon2/memory.bend as M
307
308def init_go(n: Nat, +l: Nat, +q: Nat, +hh: List<&2, U32>, a: Array<U32>) -> Array<U32>:
309 match n:
310 case 0n:
311 a
312 case 1n+rest:
313 +b0 = block_of(hprime(1024n, cat(hh, cat(le32(0n), le32(l)))))
314 +b1 = block_of(hprime(1024n, cat(hh, cat(le32(1n), le32(l)))))
315 init_go(rest, Nat.add(l, 1n), q, hh, M.set(Nat.add(Nat.mul(l, q), 1n), b1, M.set(Nat.mul(l, q), b0, a)))