Module Union_Find_Lattice.LabeledValued
Labeled union-find with values attached to each class.
module ArrayWithCopy
(Config : Parameters.ARRAY_CONFIG)
(Node : Parameters.NODE)
(Relation : Parameters.GROUP)
(Value :
Parameters.RELATIONAL_VALUE
with type node = Node.t
and type relation = Relation.t) :
Sig.LABELED_VALUED_UNION_FIND_LATTICE
with type node = Node.t
and type relation = Relation.t
and type value = Value.tArray based labeled union-find lattice with values. Warning: this one is NOT persistent, and requires explicit calls to copy on version switch.
module PatriciaTree
(Config : Parameters.PATRICIA_TREE_CONFIG)
(Node : Parameters.NODE)
(Relation : Parameters.GROUP)
(Value :
Parameters.RELATIONAL_VALUE
with type node = Node.t
and type relation = Relation.t) :
Sig.LABELED_VALUED_UNION_FIND_LATTICE
with type node = Node.t
and type relation = Relation.t
and type value = Value.tPatricia Tree based labeled union-find lattice with values.
module PersistentArray
(Config : Parameters.PERSISTENT_ARRAY_CONFIG)
(Node : Parameters.NODE)
(Relation : Parameters.GROUP)
(Value :
Parameters.RELATIONAL_VALUE
with type node = Node.t
and type relation = Relation.t) :
Sig.LABELED_VALUED_UNION_FIND_LATTICE
with type node = Node.t
and type relation = Relation.t
and type value = Value.tPersistent array based labeled union-find lattice with values.
module PersistentArrayNCA
(Config : Parameters.PERSISTENT_ARRAY_CONFIG)
(Node : Parameters.NODE)
(Relation : Parameters.GROUP)
(Value :
Parameters.RELATIONAL_VALUE
with type node = Node.t
and type relation = Relation.t) :
Sig.LABELED_VALUED_UNION_FIND_LATTICE
with type node = Node.t
and type relation = Relation.t
and type value = Value.tPersistent array based labeled union-find lattice with values. Same as PersitentArray, but builds join on the nearest common ancestor instead of one of the branches.