Argon2.segment: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend as Argon2 Lines 279-284 of bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend&start_line=279&end_line=284 import Base import bend-collections@1.0.0.0/src/crypto/argon2/blamka.bend as G # Segment s of lane l in pass r; data-independent addressing in the first two # slices of the first pass. The first two blocks of each lane are already set. def segment(+r: Nat, +s: Nat, +l: Nat, +p: Nat, +q: Nat, +sl: Nat, +mm: Nat, +t: Nat, a: Array) -> Array: +r0 = Nat.is_eq(r, 0n) +st = start_index(Bool.and(r0, Nat.is_eq(s, 0n))) seg_go(Nat.sub(sl, st), st, True{}, G.zero(), a, r, l, s, p, q, sl, mm, t, Bool.and(r0, Nat.is_lt(s, 2n))) Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend&name=seg_go https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/argon2/argon2.bend&name=start_index https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/argon2/blamka.bend&name=zero