Streebog.hs.stb.add.go: def of bend-osdev-hashes@0.1.0.0 Import: import bend-osdev-hashes@0.1.0.0/streebog.bend as Streebog Lines 740-749 of bend-osdev-hashes@0.1.0.0/streebog.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-hashes@0.1.0.0/streebog.bend&start_line=740&end_line=749 import Base # the words of x + y + c (c a carry, 0 or 1), least significant first, # modulo 2^(32 n) def hs.stb.add.go(xs: List<&2, U32>, ys: List<&2, U32>, +c: U32) -> List<&2, U32>: match xs ys: case Con{+x, xt} Con{y, yt}: +t = U32.add(x, y) +s = U32.add(t, c) Con{s, hs.stb.add.go(xt, yt, U32.or(hs.stb.bit(U32.is_lt(t, x)), hs.stb.bit(U32.is_lt(s, t))))} case _ _: Nil{} Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.or https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/streebog.bend&name=hs.stb.bit