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>Costlib__CostUtils (infer.Costlib__CostUtils)</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>» Costlib__CostUtils</nav><h1>Module <code>Costlib__CostUtils</code></h1></header><divclass="spec module"id="module-L"><ahref="#module-L"class="anchor"></a><code><spanclass="keyword">module</span> L = <ahref="../IBase/index.html#module-Logging">IBase.Logging</a></code></div><divclass="spec module"id="module-BasicCost"><ahref="#module-BasicCost"class="anchor"></a><code><spanclass="keyword">module</span> BasicCost = <ahref="../Costlib/CostDomain/index.html#module-BasicCost">Costlib.CostDomain.BasicCost</a></code></div><divclass="spec module"id="module-CostModelEnv"><ahref="#module-CostModelEnv"class="anchor"></a><code><spanclass="keyword">module</span><ahref="CostModelEnv/index.html">CostModelEnv</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec type"id="type-model"><ahref="#type-model"class="anchor"></a><code><spanclass="keyword">type</span> model</code><code> = <ahref="CostModelEnv/index.html#type-cost_model_env">CostModelEnv.cost_model_env</a><span>-></span><span>ret:<span>(<ahref="../IR/Ident/index.html#type-t">IR.Ident.t</a> * <ahref="../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span></span><span>-></span><ahref="../BO/BufferOverrunDomain/Mem/index.html#type-t">BO.BufferOverrunDomain.Mem.t</a><span>-></span><ahref="../Costlib__CostDomain/BasicCost/index.html#type-t">BasicCost.t</a></code></dt></dl><dl><dtclass="spec value"id="val-unit_cost_of"><ahref="#val-unit_cost_of"class="anchor"></a><code><spanclass="keyword">val</span> unit_cost_of : <span>of_function:string</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="../Costlib__CostDomain/BasicCost/index.html#type-t">BasicCost.t</a></code></dt><dtclass="spec value"id="val-of_itv"><ahref="#val-of_itv"class="anchor"></a><code><spanclass="keyword">val</span> of_itv : <span>itv:<ahref="../BO/Itv/index.html#type-t">BO.Itv.t</a></span><span>-></span><span>degree_kind:<ahref="../BO__Polynomials/DegreeKind/index.html#type-t">BO__Polynomials.DegreeKind.t</a></span><span>-></span><span>of_function:string</span><span>-></span><ahref="../IBase/Location/index.html#type-t">IBase.Location.t</a><span>-></span><ahref="../Costlib__CostDomain/BasicCost/index.html#type-t">BasicCost.t</a></code></dt><dtclass="spec value"id="val-string_len_range_itv"><ahref="#val-string_len_range_itv"class="anchor"></a><code><spanclass="keyword">val</span> string_len_range_itv : <ahref="../BO/BufferOverrunUtils/ModelEnv/index.html#type-model_env">BO.BufferOverrunUtils.ModelEnv.model_env</a><span>-></span><ahref="../IR/Exp/index.html#type-t">IR.Exp.t</a><span>-></span><span>from:<span><span>(<ahref="../IR/Exp/index.html#type-t">IR.Exp.t</a> * <ahref="../IR/Typ/IntegerWidths/index.html#type-t">IR.Typ.IntegerWidths.t</a>)</span> option</span></span><span>-></span><ahref="../BO/BufferOverrunDomain/Mem/index.html#type-t">BO.BufferOverrunDomain.Mem.t</a><span>-></span><ahref="../BO/Itv/index.html#type-t">BO.Itv.t</a></code></dt><dd><p>Given a string of length n and an optional starting index i (0 by default), return itv <code>0, n_u-i_l</code></p></dd></dl><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"id="module-Array"><ahref="#module-Array"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Array/index.html">Array</a> : <ahref="index.html#module-type-S">S</a></code></div><divclass="spec module"id="module-Collection"><ahref="#module-Collection"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Collection/index.html">Collection</a> : <ahref="index.html#module-type-S">S</a></code></div><divclass="spec module"id="module-NSCollection"><ahref="#module-NSCollection"class="anchor"></a><code><spanclass="keyword">module</span><ahref="NSCollection/index.html">NSCollection</a> : <ahref="index.html#module-type-S">S</a></code></div><divclass="spec module"id="module-CString"><ahref="#module-CString"class="anchor"></a><code><spanclass="keyword">module</span><ahref="CString/index.html">CString</a> : <ahref="index.html#module-type-S">S</a></code></div><dl><dtclass="spec value"id="val-get_nodes_in_block"><ahref="#val-get_nodes_in_block"class="anchor"></a><code><spanclass="keyword">val</span> get_nodes_in_block : <span>block_start:<ahref="../IR/Procdesc/Node/index.html#type-t">IR.Procdesc.Node.t</a></span><span>-></span><span>block_exit:<ahref="../IR/Procdesc/Node/index.html#type-t">IR.Procdesc.Node.t</a></span><span>-></span><ahref="../IR__Procdesc/index.html#module-NodeSet">IR.Procdesc.NodeSet</a>.t</code></dt><dtclass="spec value"id="val-get_nodes_in_autoreleasepool"><ahref="#val-get_nodes_in_autoreleasepool"class="anchor"></a><code><spanclass="keyword">val</span> get_nodes_in_autoreleasepool : <ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a><span>-></span><ahref="../IR__Procdesc/index.html#module-NodeSet">IR.Procdesc.NodeSet</a>.t</code></dt></dl></div></body></html>