def up_go
bend-collections@1.0.0.0 · src/containers/binary_heap.bend:125
import bend-collections@1.0.0.0/src/containers/binary_heap.bend as BinaryHeap
import Base
125def up_go(~A: Data, ~cmp: A -> A -> Cmp, fuel: Nat, +x: A, st: Up<A>) -> Array<Maybe<&2, A>>:
126 match fuel st:
127 case 0n UStop{arr, i}:
128 Array.set(Maybe<&2, A>, arr, i, Some{x})
129 case 0n UMove{arr, i, pv, p}:
130 Array.set(Maybe<&2, A>, arr, i, Some{x})
131 case 1n+f UStop{arr, i}:
132 Array.set(Maybe<&2, A>, arr, i, Some{x})
133 case 1n+f UMove{arr, i, +pv, +p}:
134 up_go(~A, ~cmp, f, x, up_probe(~A, ~cmp, p, x, Array.set(Maybe<&2, A>, arr, i, Some{pv})))