Module WTO
module WTO: sig
.. end
Returns a weak partial order with Bourdoncle's algorithm.
type
partition =
type
succ = (int -> unit) -> int -> unit
type
scc = {
|
succ : (int -> unit) -> int -> unit ; |
|
stack : int Stack.t ; |
|
dfn : int array ; |
|
mutable num : int ; |
}
type
visit = {
|
mutable loop : bool ; |
|
mutable head : int ; |
}
val pretty : Format.formatter -> partition -> unit
val visit : scc -> int -> partition Pervasives.ref -> int
val component : scc -> int -> partition
val partition : size:int -> succ:((int -> unit) -> int -> unit) -> root:int -> partition
Returns a weak partial order with Bourdoncle's algorithm.
val fix : (level:'a -> int -> bool) -> 'a -> partition -> bool
val fixpoint : (level:int -> int -> bool) -> (int -> 'a) -> partition -> unit
Iterate over a weak partial order.
The first function is suppose to update the given node and return true
when
stable. It must eventually apply widening to stabilize.
The second function simply update the given node. It should never apply widening.
val loop : (level:int -> int -> bool) -> (int -> 'a) -> partition -> int -> unit