Argon2.area_base: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/argon2.bend as Argon2 Lines 240-251 of bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/argon2.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/argon2.bend&start_line=240&end_line=251 import Base # |W|: in the first pass, the blocks of finished segments of the lane (all # previous blocks of the segment too, when the reference lane is the current # one); in later passes the last three segments of the lane, plus the current # segment's previous blocks for the same lane; never the block just before # the current one ("minus one" when the current index is the first of its # segment and the lane is another one). def area_base(r0: Bool, +s: Nat, +sl: Nat, +q: Nat) -> Nat: match r0: case True{}: Nat.mul(s, sl) case False{}: Nat.sub(q, sl) Uses (4): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub