def down_go
bend-collections@1.0.0.0 · src/containers/binary_heap.bend:196
import bend-collections@1.0.0.0/src/containers/binary_heap.bend as BinaryHeap
import Base
196def down_go(~A: Data, ~cmp: A -> A -> Cmp, fuel: Nat, +size: U32, +x: A, st: Down<A>) -> Array<Maybe<&2, A>>:
197 match fuel st:
198 case 0n DStop{arr, i}:
199 Array.set(Maybe<&2, A>, arr, i, Some{x})
200 case 0n DMove{arr, i, cv, ci}:
201 Array.set(Maybe<&2, A>, arr, i, Some{x})
202 case 1n+f DStop{arr, i}:
203 Array.set(Maybe<&2, A>, arr, i, Some{x})
204 case 1n+f DMove{arr, i, +cv, +ci}:
205 down_go(~A, ~cmp, f, size, x, down_probe(~A, ~cmp, size, ci, x, Array.set(Maybe<&2, A>, arr, i, Some{cv})))