This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>IR__WeakTopologicalOrder (infer.IR__WeakTopologicalOrder)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» IR__WeakTopologicalOrder</nav><h1>Module <code>IR__WeakTopologicalOrder</code></h1></header><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><aside><p>A hierarchical ordering of a set is a well-parenthesized permutation of its elements without two consecutive "(". I defines a total order <= over its elements. The elements between two matching parentheses are called a Component. The first element of a Component is called the head. Let denote by H(v) the set of head of the nested components containing v.</p></aside><divclass="spec module"id="module-Partition"><ahref="#module-Partition"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Partition/index.html">Partition</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module-type"id="module-type-PreProcCfg"><ahref="#module-type-PreProcCfg"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-PreProcCfg/index.html">PreProcCfg</a> = <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><aside><p>A weak topological ordering (WTO) of a directed graph is a hierarchical ordering of its vertices such that for every edge u -> v,</p><p>u < v and v is not in H(u) (forward edge)</p><p>or</p><p>v <= u and v is in H(u) (feedback edge)</p><p>where H(u) is the set of heads of the nested components containing u.</p><p>A WTO of a directed graph is such that the head v of every feedback edge u -> v is the head of a component containing its tail u.</p></aside><divclass="spec module-type"id="module-type-S"><ahref="#module-type-S"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-S/index.html">S</a> = <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module-type"id="module-type-Make"><ahref="#module-type-Make"class="anchor"></a><code><spanclass="keyword">module</span><spanclass="keyword">type</span><ahref="module-type-Make/index.html">Make</a> = <spanclass="keyword">functor</span> (<ahref="module-type-Make/argument-1-CFG/index.html">CFG</a> : <ahref="index.html#module-type-PreProcCfg">PreProcCfg</a>) <span>-></span><ahref="index.html#module-type-S">S</a><spanclass="keyword">with</span><spanclass="keyword">module</span><ahref="module-type-Make/CFG/index.html">CFG</a> = <ahref="module-type-Make/index.html#argument-1-CFG">CFG</a></code></div><dl><dtclass="spec module"id="module-Bourdoncle_SCC"><ahref="#module-Bourdoncle_SCC"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Bourdoncle_SCC/index.html">Bourdoncle_SCC</a> : <ahref="index.html#module-type-Make">Make</a></code></dt><dd><p>Implementation of Bourdoncle's "Hierarchical decomposition of a directed graph into strongly connected components and subcomponents". See <code>Bou</code> Figure 4, page 10.</p></dd></dl></div></body></html>