sig
type pos = int * int
type elt = PathVisual.MutBinHeap.pos * int * float
type arrayidx = int
type t = {
mutable last : PathVisual.MutBinHeap.arrayidx;
mutable arr : PathVisual.MutBinHeap.elt array;
hash : PathVisual.MutBinHeap.arrayidx PathVisual.IntPairHash.t;
compare : PathVisual.MutBinHeap.elt -> PathVisual.MutBinHeap.elt -> int;
}
val get :
PathVisual.MutBinHeap.t ->
PathVisual.MutBinHeap.arrayidx -> PathVisual.MutBinHeap.elt
val parent :
PathVisual.MutBinHeap.arrayidx -> PathVisual.MutBinHeap.arrayidx
val left_child :
PathVisual.MutBinHeap.arrayidx -> PathVisual.MutBinHeap.arrayidx
val right_child :
PathVisual.MutBinHeap.arrayidx -> PathVisual.MutBinHeap.arrayidx
val getpos :
PathVisual.MutBinHeap.t ->
PathVisual.IntPairHash.key -> PathVisual.MutBinHeap.elt
val swap :
PathVisual.MutBinHeap.t ->
PathVisual.MutBinHeap.arrayidx -> PathVisual.MutBinHeap.arrayidx -> unit
val bubbleup :
PathVisual.MutBinHeap.t -> PathVisual.MutBinHeap.arrayidx -> unit
val bubbledown :
PathVisual.MutBinHeap.t -> PathVisual.MutBinHeap.arrayidx -> unit
val make :
(PathVisual.MutBinHeap.elt -> PathVisual.MutBinHeap.elt -> int) ->
PathVisual.MutBinHeap.t
val insert : PathVisual.MutBinHeap.t -> PathVisual.MutBinHeap.elt -> unit
val remove : PathVisual.MutBinHeap.t -> PathVisual.IntPairHash.key -> unit
val replace : PathVisual.MutBinHeap.t -> PathVisual.MutBinHeap.elt -> unit
val pop : PathVisual.MutBinHeap.t -> PathVisual.MutBinHeap.elt
end