Module Wto

module Wto: sig .. end
Hierarchical Strongly Connected Components: performs Bourdoncle computation of a weak topological order on a graph represented by contiguous integers. Used by Wto_statement.

type partition = 
| Nil
| Node of int * partition
| Component of partition * partition
val pretty : partition Pretty_utils.formatter
type succ = (int -> unit) -> int -> unit 
val partition : size:int -> succ:succ -> root:int -> partition
Returns a weak partial order with Bourdoncle's algorithm.
val fixpoint : (level:int -> int -> bool) -> (int -> unit) -> partition -> unit
Iterate over a weak partial order. The first function is supposed 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.