Parallel.cut: def of bend-visgraph@2.0.0.0 Import: import bend-visgraph@2.0.0.0/parallel.bend as Parallel Lines 74-87 of bend-visgraph@2.0.0.0/parallel.bend: https://jend.leeeet.dev/read.txt?path=bend-visgraph@2.0.0.0/parallel.bend&start_line=74&end_line=87 import Base import bend-visgraph@2.0.0.0/visgraph.bend as VG def cut(count: Nat, +i: U32, lr: Array & U32, rr: Array & U32, +start: U32, +acc: U32, +target: U32, cs: Chunks, +m: U32) -> Cut: match count: case 0n: (lefts, l) = lr (rights, r) = rr +last = U32.is_lt(start, i) Cut{lefts, rights, close(last, start, i, cs), VG.pick_u32(last, (m + 1 : U32), m)} case 1n+c: (lefts, +l) = lr (rights, +r) = rr +w = (acc + l + r + 1 : U32) +full = U32.is_ge(w, target) +i2 = (i + 1 : U32) cut(c, i2, Array.get(U32, lefts, i2), Array.get(U32, rights, i2), VG.pick_u32(full, i2, start), VG.pick_u32(full, 0, w), target, close(full, start, i2, cs), VG.pick_u32(full, (m + 1 : U32), m)) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.get 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=Base/base.bend&name=U32.is_ge https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_lt https://jend.leeeet.dev/definition.txt?path=bend-visgraph@2.0.0.0/parallel.bend&name=Chunks https://jend.leeeet.dev/definition.txt?path=bend-visgraph@2.0.0.0/parallel.bend&name=Cut https://jend.leeeet.dev/definition.txt?path=bend-visgraph@2.0.0.0/parallel.bend&name=close https://jend.leeeet.dev/definition.txt?path=bend-visgraph@2.0.0.0/visgraph.bend&name=pick_u32