<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferModules__CostModels (infer.InferModules__CostModels)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><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; InferModules__CostModels</nav><h1>Module <code>InferModules__CostModels</code></h1></header><div class="spec module" id="module-BasicCost"><a href="#module-BasicCost" class="anchor"></a><code><span class="keyword">module</span> BasicCost = <a href="../InferModules/CostDomain/index.html#module-BasicCost">InferModules.CostDomain.BasicCost</a></code></div><dl><dt class="spec type" id="type-model"><a href="#type-model" class="anchor"></a><code><span class="keyword">type</span> model</code><code> = <a href="../InferModules/BufferOverrunUtils/ModelEnv/index.html#type-model_env">InferModules.BufferOverrunUtils.ModelEnv.model_env</a> <span>&#45;&gt;</span> <span>ret:<span>(<a href="../../InferIR/InferIR/Ident/index.html#type-t">InferIR.Ident.t</a> * <a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>)</span></span> <span>&#45;&gt;</span> <a href="../InferModules/BufferOverrunDomain/Mem/index.html#type-t">InferModules.BufferOverrunDomain.Mem.t</a> <span>&#45;&gt;</span> <a href="../InferModules__Polynomials/NonNegativePolynomial/index.html#type-t">BasicCost.t</a></code></dt></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Array"><a href="#module-Array" class="anchor"></a><code><span class="keyword">module</span> <a href="Array/index.html">Array</a> : <a href="index.html#module-type-S">S</a></code></div><div class="spec module" id="module-Collection"><a href="#module-Collection" class="anchor"></a><code><span class="keyword">module</span> <a href="Collection/index.html">Collection</a> : <a href="index.html#module-type-S">S</a></code></div><dl><dt class="spec value" id="val-of_itv"><a href="#val-of_itv" class="anchor"></a><code><span class="keyword">val</span> of_itv : <span>itv:<a href="../InferModules/Itv/index.html#type-t">InferModules.Itv.t</a></span> <span>&#45;&gt;</span> <span>degree_kind:<a href="../InferModules__Polynomials/DegreeKind/index.html#type-t">InferModules__Polynomials.DegreeKind.t</a></span> <span>&#45;&gt;</span> <span>of_function:string</span> <span>&#45;&gt;</span> <a href="../../InferBase/InferBase/Location/index.html#type-t">InferBase.Location.t</a> <span>&#45;&gt;</span> <a href="../InferModules__Polynomials/NonNegativePolynomial/index.html#type-t">BasicCost.t</a></code></dt><dt class="spec value" id="val-linear"><a href="#val-linear" class="anchor"></a><code><span class="keyword">val</span> linear : <a href="../../InferIR/InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> <span>&#45;&gt;</span> <span>of_function:string</span> <span>&#45;&gt;</span> <a href="../InferModules/BufferOverrunUtils/ModelEnv/index.html#type-model_env">InferModules.BufferOverrunUtils.ModelEnv.model_env</a> <span>&#45;&gt;</span> <span>ret:<span class="type-var">'a</span></span> <span>&#45;&gt;</span> <a href="../InferModules/BufferOverrunDomain/Mem/index.html#type-t">InferModules.BufferOverrunDomain.Mem.t</a> <span>&#45;&gt;</span> <a href="../InferModules__Polynomials/NonNegativePolynomial/index.html#type-t">BasicCost.t</a></code></dt><dt class="spec value" id="val-modeled"><a href="#val-modeled" class="anchor"></a><code><span class="keyword">val</span> modeled : <span>of_function:string</span> <span>&#45;&gt;</span> <a href="../InferModules/BufferOverrunUtils/ModelEnv/index.html#type-model_env">InferModules.BufferOverrunUtils.ModelEnv.model_env</a> <span>&#45;&gt;</span> <span>ret:<span>(<span class="type-var">'a</span> * <a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>)</span></span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <a href="../InferModules__Polynomials/NonNegativePolynomial/index.html#type-t">BasicCost.t</a></code></dt><dt class="spec value" id="val-string_len_range_itv"><a href="#val-string_len_range_itv" class="anchor"></a><code><span class="keyword">val</span> string_len_range_itv : <a href="../../InferIR/InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> <span>&#45;&gt;</span> <span>from:<span><span>(<a href="../../InferIR/InferIR/Exp/index.html#type-t">InferIR.Exp.t</a> * <a href="../../InferIR/InferIR/Typ/IntegerWidths/index.html#type-t">InferIR.Typ.IntegerWidths.t</a>)</span> <a href="../../InferStdlib/InferStdlib/index.html#module-IStd">InferStdlib.IStd</a>.Option.t</span></span> <span>&#45;&gt;</span> <a href="../InferModules/BufferOverrunDomain/Mem/index.html#type-t">InferModules.BufferOverrunDomain.Mem.t</a> <span>&#45;&gt;</span> <a href="../InferModules/Itv/index.html#type-t">InferModules.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><div class="spec module" id="module-BoundsOf"><a href="#module-BoundsOf" class="anchor"></a><code><span class="keyword">module</span> <a href="BoundsOf/index.html">BoundsOf</a> : <span class="keyword">functor</span> (<a href="BoundsOf/argument-1-Container/index.html">Container</a> : <a href="index.html#module-type-S">S</a>) <span>&#45;&gt;</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-JavaString"><a href="#module-JavaString" class="anchor"></a><code><span class="keyword">module</span> <a href="JavaString/index.html">JavaString</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-BoundsOfCollection"><a href="#module-BoundsOfCollection" class="anchor"></a><code><span class="keyword">module</span> <a href="BoundsOfCollection/index.html">BoundsOfCollection</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-BoundsOfArray"><a href="#module-BoundsOfArray" class="anchor"></a><code><span class="keyword">module</span> <a href="BoundsOfArray/index.html">BoundsOfArray</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Call"><a href="#module-Call" class="anchor"></a><code><span class="keyword">module</span> <a href="Call/index.html">Call</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html>