You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
4.7 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ControlFlowCost (infer.Costlib.ControlFlowCost)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">infer</a> &#x00BB; <a href="../index.html">Costlib</a> &#x00BB; ControlFlowCost</nav><h1>Module <code>Costlib.ControlFlowCost</code></h1></header><div class="spec module" id="module-F"><a href="#module-F" class="anchor"></a><code><span class="keyword">module</span> F = Stdlib.Format</code></div><div class="spec module" id="module-BasicCost"><a href="#module-BasicCost" class="anchor"></a><code><span class="keyword">module</span> BasicCost = <a href="../CostDomain/index.html#module-BasicCost">CostDomain.BasicCost</a></code></div><div class="spec module" id="module-Node"><a href="#module-Node" class="anchor"></a><code><span class="keyword">module</span> Node = <a href="../../Absint/ProcCfg/index.html#module-DefaultNode">Absint.ProcCfg.DefaultNode</a></code></div><div class="spec module" id="module-Item"><a href="#module-Item" class="anchor"></a><code><span class="keyword">module</span> <a href="Item/index.html">Item</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Sum"><a href="#module-Sum" class="anchor"></a><code><span class="keyword">module</span> <a href="Sum/index.html">Sum</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code> = <code>[ </code><table class="variant"><tr id="type-t.Edge" class="anchored"><td class="def constructor"><a href="#type-t.Edge" class="anchor"></a><code>| </code><code>`Edge <span class="keyword">of</span> <a href="../../Absint__ProcCfg/DefaultNode/index.html#type-id">Node.id</a> * <a href="../../Absint__ProcCfg/DefaultNode/index.html#type-id">Node.id</a></code></td></tr><tr id="type-t.Node" class="anchored"><td class="def constructor"><a href="#type-t.Node" class="anchor"></a><code>| </code><code>`Node <span class="keyword">of</span> <a href="../../Absint__ProcCfg/DefaultNode/index.html#type-id">Node.id</a></code></td></tr><tr id="type-t.Sum" class="anchored"><td class="def constructor"><a href="#type-t.Sum" class="anchor"></a><code>| </code><code>`Sum <span class="keyword">of</span> int * <span><a href="Item/index.html#type-t">Item.t</a> list</span></code></td></tr></table><code> ]</code></dt><dd><p>A Control-flow cost represents the number of times the flow of control can go through a certain CFG item (a node or an edge), or a sum of such things</p></dd></dl><dl><dt class="spec value" id="val-make_node"><a href="#val-make_node" class="anchor"></a><code><span class="keyword">val</span> make_node : <a href="../../Absint__ProcCfg/DefaultNode/index.html#type-id">Node.id</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-make_pred_edge"><a href="#val-make_pred_edge" class="anchor"></a><code><span class="keyword">val</span> make_pred_edge : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span>[&gt; <span>`Edge of <span class="type-var">'b</span> * <span class="type-var">'a</span></span> ]</span></code></dt><dt class="spec value" id="val-make_succ_edge"><a href="#val-make_succ_edge" class="anchor"></a><code><span class="keyword">val</span> make_succ_edge : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span>[&gt; <span>`Edge of <span class="type-var">'a</span> * <span class="type-var">'b</span></span> ]</span></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><cod