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})))

Uses (7)

Used by (1)