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
3.7 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ConstraintSolver (infer.Costlib.ConstraintSolver)</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; ConstraintSolver</nav><h1>Module <code>Costlib.ConstraintSolver</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><dl><dt class="spec type" id="type-debug"><a href="#type-debug" class="anchor"></a><code><span class="keyword">type</span> debug</code><code> = </code><code>{</code><table class="record"><tr id="type-debug.f" class="anchored"><td class="def field"><a href="#type-debug.f" class="anchor"></a><code>f : a. <span><span>(<span class="type-var">'a</span>, <a href="index.html#module-F">F</a>.formatter, unit, unit)</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.format4</span> <span>&#45;&gt;</span> <span class="type-var">'a</span>;</code></td></tr></table><code>}</code></dt></dl><div class="spec module" id="module-Equalities"><a href="#module-Equalities" class="anchor"></a><code><span class="keyword">module</span> <a href="Equalities/index.html">Equalities</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><dl><dt class="spec value" id="val-compute_costs"><a href="#val-compute_costs" class="anchor"></a><code><span class="keyword">val</span> compute_costs : <span>debug:<a href="index.html#type-debug">debug</a></span> <span>&#45;&gt;</span> <span><a href="../../Costlib__CostDomain/BasicCost/index.html#type-t">BasicCost.t</a> <a href="../../Absint__ProcCfg/DefaultNode/index.html#module-IdMap">Node.IdMap</a>.t</span> <span>&#45;&gt;</span> <a href="Equalities/index.html#type-t">Equalities.t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>repeatedly improve the costs given the constraints</p></dd></dl><dl><dt class="spec value" id="val-get_node_nb_exec"><a href="#val-get_node_nb_exec" class="anchor"></a><code><span class="keyword">val</span> get_node_nb_exec : <a href="Equalities/index.html#type-t">Equalities.t</a> <span>&#45;&gt;</span> <a href="../../Absint__ProcCfg/DefaultNode/index.html#type-t">Node.t</a> <span>&#45;&gt;</span> <a href="../../Costlib__CostDomain/BasicCost/index.html#type-t">BasicCost.t</a></code></dt><dd><p>compute the number of times a node is executed by taking into account the program structural (e.g. control-flow) constraints</p></dd></dl><dl><dt class="spec value" id="val-collect_constraints"><a href="#val-collect_constraints" class="anchor"></a><code><span class="keyword">val</span> collect_constraints : <span>debug:<a href="index.html#type-debug">debug</a></span> <span>&#45;&gt;</span> <a href="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> <span>&#45;&gt;</span> <a href="Equalities/index.html#type-t">Equalities.t</a></code></dt><dd><p>collect initial constraints for a CFG</p></dd></dl></div></body></html>