def remove.heap.keep

bend-kit-scheduler@0.4.1.0 · queue.bend:76

import bend-kit-scheduler@0.4.1.0/queue.bend as Queue
import Base
import bend-kit-collections@0.1.4.1/heap.bend as H

76def remove.heap.keep(~A: Data, b: Bool, t: Ticket<A>, l: H.Heap<Ticket<A>>, r: H.Heap<Ticket<A>>) -> H.Heap<Ticket<A>>:
77  match b:
78    case True{}:
79      H.Heap.merge(~Ticket<A>, ~(a => b => le(A, a, b)), l, r)
80    case False{}:
81      +l = l
82      +r = r
83      H.HNode{1n+Nat.add(H.Heap.size(Ticket<A>, l), H.Heap.size(Ticket<A>, r)), t, l, r}

Uses (8)

Used by (4)