Core.window_compress16: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend as Core Lines 161-190 of bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&start_line=161&end_line=190 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/state.bend as S # Fast path for the 16-word blocks produced by block_bytes. It executes the # seed rounds directly and constructs only the fixed rolling window. def window_compress16(+a: U32, +b: U32, +c: U32, +d: U32, +e: U32, +f: U32, +g: U32, +h: U32, +i: U32, +j: U32, +k: U32, +l: U32, +m: U32, +n: U32, +o: U32, +p: U32, +extra: Nat, +ks: List<&2, U32>, +s: S.State) -> S.State: match ks: case k0 <> k1 <> k2 <> k3 <> k4 <> k5 <> k6 <> k7 <> k8 <> k9 <> k10 <> k11 <> k12 <> k13 <> k14 <> k15 <> kt: s1 = step(s, k0, a) s2 = step(s1, k1, b) s3 = step(s2, k2, c) s4 = step(s3, k3, d) s5 = step(s4, k4, e) s6 = step(s5, k5, f) s7 = step(s6, k6, g) s8 = step(s7, k7, h) s9 = step(s8, k8, i) s10 = step(s9, k9, j) s11 = step(s10, k10, k) s12 = step(s11, k11, l) s13 = step(s12, k12, m) s14 = step(s13, k13, n) s15 = step(s14, k14, o) s16 = step(s15, k15, p) feedforward(s, window_rounds(extra, W{p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a}, kt, s16)) case _: fused_compress([a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p], extra, ks, s) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&name=ShaWindow https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&name=feedforward https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&name=fused_compress https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&name=step https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/core.bend&name=window_rounds https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/state.bend&name=State