sig
type internal = int option
type link = FREE | VAL of int
type agent = {
a_type : int;
a_ports : Raw_mixture.link array;
a_ints : Raw_mixture.internal array;
}
type t = Raw_mixture.agent list
val print :
created:bool ->
?sigs:Signature.s -> Format.formatter -> Raw_mixture.t -> unit
val to_json : Raw_mixture.t -> Yojson.Basic.json
val of_json : Yojson.Basic.json -> Raw_mixture.t
type incr_t = {
father : int Mods.DynArray.t;
rank : (int * (bool * bool)) Mods.DynArray.t;
}
val union_find_counters :
Signature.s option -> Raw_mixture.t -> Raw_mixture.incr_t
val find : Raw_mixture.incr_t -> int -> int
val union : Raw_mixture.incr_t -> int -> int -> unit
val create : int -> Raw_mixture.incr_t
end