Blamka.bla: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/src/crypto/argon2/blamka.bend as Blamka Lines 18-23 of bend-collections-laws-crypto@1.0.0.0/src/crypto/argon2/blamka.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/argon2/blamka.bend&start_line=18&end_line=23 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend as T import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend as L # fBlaMka(x, y) = x + y + 2 * trunc(x) * trunc(y) mod 2^64 (RFC 9106 section 3.6). def bla(x: T.Lane, y: T.Lane) -> T.Lane: match x y: case T.W{+xl,+xh} T.W{+yl,+yh}: +p = prod(xl,yl) L.add(L.add(T.W{xl,xh},T.W{yl,yh}),L.add(p,p)) Uses (3): https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/argon2/blamka.bend&name=prod https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=add https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend&name=Lane