package fungi

  1. Overview
  2. Docs

Module type Heap.FibHeapSource

type node
type order
type elts = {
  1. data : node;
  2. mutable churn : int;
  3. index : int;
  4. succ : elts list;
}
type t = elts list
val empty : t
val is_empty : t -> bool
val equal : node -> node -> bool
val minify : node -> node -> bool
val maxify : node -> node -> bool
val oequal : node -> node -> int
val degree : elts -> int
val cardinal : t -> int
val collapse : t -> node list
val churn_threshold : int ref
val instance : node -> int -> elts
val singleton : node -> t
val dedup : node -> elts list -> elts list * node list
val dedup_idx : node -> elts list -> elts list * (node * int) list
val dupcount : node -> t -> int
val extract_til : ?cmp:(node -> node -> bool) -> (node -> bool) -> t -> node list
val to_seq : ?cmp:(node -> node -> bool) -> t -> node Seq.t
val of_seq : ?cmp:(node -> node -> bool) -> node Seq.t -> elts list
val of_list : ?cmp:(node -> node -> bool) -> node list -> t
val consolidate : ?cmp:(node -> node -> bool) -> t -> t
val mem : ?cmp:(node -> node -> bool) -> node -> t -> bool
val insert : ?cmp:(node -> node -> bool) -> node -> t -> t
val dupinsert : ?cmp:(node -> node -> bool) -> node -> t -> t
val peek : ?cmp:(node -> node -> bool) -> t -> elts
val peek_opt : ?cmp:(node -> node -> bool) -> t -> elts option
val merge : ?cmp:(node -> node -> bool) -> elts -> elts -> elts
val extract : ?cmp:(node -> node -> bool) -> t -> node * t
val extract_opt : ?cmp:(node -> node -> bool) -> t -> (node * t) option
val extract_all : ?cmp:(node -> node -> bool) -> t -> node list
val update : ?cmp:(node -> node -> bool) -> node -> elts -> elts list -> elts -> elts list -> elts list * elts list * bool
val increase : ?cmp:(node -> node -> bool) -> node -> node -> t -> t
val decrease : ?cmp:(node -> node -> bool) -> node -> node -> t -> t
val find : (node -> bool) -> elts list -> node
val find_opt : (node -> bool) -> elts list -> node option