def window_rounds
bend-collections-laws-crypto@1.0.0.0 · src/crypto/sha512/core.bend:83
import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/core.bend as Core
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/types.bend as T
83
84
85def window_rounds(q: Nat, win: Sched, ks: List<&2, T.Lane>, s: T.State) -> T.State:
86 match q win ks:
87 case 0n _ _:
88 s
89 case 1n+r _ Nil{}:
90 s
91 case 1n+r Win{a, +b, c, d, e, f, +g, h, i, j, k, l, m, n, +o, +p} x <> xt:
92 +w = next(b, g, o, p)
93 window_rounds(r, Win{w, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o}, xt, step(s, x, w))