Sort.gat.go: def of bend-parallel@0.1.0.0 Import: import bend-parallel@0.1.0.0/sort.bend as Sort Lines 434-444 of bend-parallel@0.1.0.0/sort.bend: https://jend.leeeet.dev/read.txt?path=bend-parallel@0.1.0.0/sort.bend&start_line=434&end_line=444 import Base # r holds perm and its entry x at j: dst[j] <- src[x], then the n entries # after j. def gat.go(~T: Data, +n: Nat, +j: U32, p: Sd, r: Array & U32) -> Moved: match n: case 0n: (pm, +x) = r gat.fin(~T, pm, gat.one(~T, j, x, p)) case 1n+q: (pm, +x) = r +i = (j + 1 : U32) gat.go(~T, q, i, gat.one(~T, j, x, p), pm[i]) 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=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=bend-parallel@0.1.0.0/sort.bend&name=Moved https://jend.leeeet.dev/definition.txt?path=bend-parallel@0.1.0.0/sort.bend&name=Sd https://jend.leeeet.dev/definition.txt?path=bend-parallel@0.1.0.0/sort.bend&name=gat.fin https://jend.leeeet.dev/definition.txt?path=bend-parallel@0.1.0.0/sort.bend&name=gat.one