def absorb256
bend-collections@1.0.0.0 · src/crypto/hash.bend:180
import bend-collections@1.0.0.0/src/crypto/hash.bend as Hash
import Base
import bend-collections@1.0.0.0/src/crypto/sha/state.bend as S256
import bend-collections@1.0.0.0/src/crypto/sha/core.bend as C256
180
181
182
183
184def absorb256(fuel: Nat, r: Read256, orig: List<&2, U32>, +q: Nat, s: S256.State) -> Sha256State:
185 match fuel r:
186 case 0n _:
187 St256{s, orig}
188 case 1n+p Short256{}:
189 St256{s, orig}
190 case 1n+p Blk256{w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, +rest}:
191 absorb256(p, read256_0(rest), rest, q, C256.fips_compress16(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, q, s))