Refinement.get_go: def of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/storage/refinement.bend as Refinement Lines 60-77 of bendtorch-core@0.1.0.0/src/storage/refinement.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/storage/refinement.bend&start_line=60&end_line=77 import Base import bendtorch-core@0.1.0.0/src/storage/model.bend as Model def get_go(-T: Data, d: Nat, array: Array, +n: U32, +i: U32, z: Bool, valid: Model.Balanced(T, d, array)) -> Get: match d array z: case 0n ALeaf{+value} _: Get{ALeaf{value}, value, {==}, {==}, {==}, valid} case 0n ANode{xs, ys} _: match valid: case 1n+p ALeaf{value} _: match valid: case 1n+p ANode{xs, ys} True{}: (ex, ey) = valid get_low(T, p, xs, n, i, ys, get_go(T, p, xs, U32.shr(n), i, U32.is_lt(i, U32.shr(U32.shr(n))), ex), ey) case 1n+p ANode{xs, ys} False{}: (ex, ey) = valid +j = U32.sub(i, U32.shr(n)) get_high(T, p, ys, n, i, xs, get_go(T, p, ys, U32.shr(n), j, U32.is_lt(j, U32.shr(U32.shr(n))), ey), ex) Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat 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.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shr https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/model.bend&name=Balanced https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/refinement.bend&name=Get https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/refinement.bend&name=get_high https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/refinement.bend&name=get_low