Hash.dfold: def of bend-kit-hash@0.3.0.2 Import: import bend-kit-hash@0.3.0.2/hash.bend as Hash Lines 98-107 of bend-kit-hash@0.3.0.2/hash.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-hash@0.3.0.2/hash.bend&start_line=98&end_line=107 import Base # Folds f over n 64-bit lanes from word i on. r holds the array and the lane at i. def dfold(~T: Type, ~f: T -> @+m: W64 -> T, n: Nat, r: Array & W64, +i: U32, acc: T) -> Array & T: match n: case 0n: (a, m) = r (a, acc) case 1n+p: (a, +m) = r +j = (i + 2 : U32) dfold(~T, ~f, p, get2(a, j), j, f(acc, m)) Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma 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=bend-kit-hash@0.3.0.2/hash.bend&name=W64 https://jend.leeeet.dev/definition.txt?path=bend-kit-hash@0.3.0.2/hash.bend&name=get2