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>PurityDomain (infer.Checkers.PurityDomain)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><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>»<ahref="../index.html">Checkers</a>» PurityDomain</nav><h1>Module <code>Checkers.PurityDomain</code></h1></header><divclass="spec module"id="module-ModifiedParamIndices"><ahref="#module-ModifiedParamIndices"class="anchor"></a><code><spanclass="keyword">module</span><ahref="ModifiedParamIndices/index.html">ModifiedParamIndices</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><div><divclass="spec include"><divclass="doc"><detailsopen="open"><summary><spanclass="def"><code><spanclass="keyword">include</span><ahref="../../Absint/AbstractDomain/index.html#module-type-S">Absint.AbstractDomain.S</a><spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="../../Absint/AbstractDomain/module-type-S/index.html#type-t">t</a> = <span><ahref="ModifiedParamIndices/index.html#type-t">ModifiedParamIndices.t</a><ahref="../../Absint/AbstractDomain/Types/index.html#type-top_lifted">Absint.AbstractDomain.Types.top_lifted</a></span></code></span></summary><div><divclass="spec include"><divclass="doc"><detailsopen="open"><summary><spanclass="def"><code><spanclass="keyword">include</span><ahref="../../Absint/AbstractDomain/index.html#module-type-NoJoin">Absint.AbstractDomain.NoJoin</a></code></span></summary><div><divclass="spec include"><divclass="doc"><detailsopen="open"><summary><spanclass="def"><code><spanclass="keyword">include</span><ahref="../../IStdlib/PrettyPrintable/index.html#module-type-PrintableType">IStdlib.PrettyPrintable.PrintableType</a></code></span></summary><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt></dl><dl><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : <ahref="../../IStdlib/PrettyPrintable/index.html#module-F">IStdlib.PrettyPrintable.F</a>.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl></details></div></div></div><dl><dtclass="spec value"id="val-leq"><ahref="#val-leq"class="anchor"></a><code><spanclass="keyword">val</span> leq : <span>lhs:<ahref="index.html#type-t">t</a></span><span>-></span><span>rhs:<ahref="index.html#type-t">t</a></span><span>-></span> bool</code></dt><dd><p>the implication relation: <code>lhs <= rhs</code> means <code>lhs |- rhs</code></p></dd></dl></details></div></div></div><dl><dtclass="spec value"id="val-join"><ahref="#val-join"class="anchor"></a><code><spanclass="keyword">val</span> join : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-widen"><ahref="#val-widen"class="anchor"></a><code><spanclass="keyword">val</span> widen : <span>prev:<ahref="index.html#type-t">t</a></span><span>-></span><span>next:<ahref="index.html#type-t">t</a></span><span>-></span><span>num_iters:int</span><span>-></span><ahref="index.html#type-t">t</a></code></dt></dl></details></div></div></div><dl><dtclass="spec value"id="val-pure"><ahref="#val-pure"class="anchor"></a><code><spanclass="keyword">val</span> pure : <ahref="index.html#type-t">t</a></code></dt><dd><p>Pure abstract state: no side-effect on parameters and global values. The return value depends only on the value of parameters.</p></dd></dl><dl><dtclass="spec value"id="val-impure_global"><ahref="#val-impure_global"class="anchor"></a><code><spanclass="keyword">val</span> impure_global : <ahref="index.html#type-t">t</a></code></dt><dd><p>Impure abstract state: there may be side-effect on the parameters or global values. Or the return value may depend on the machine state, e.g. `Math.random`.</p></dd></dl><dl><dtclass="spec value"id="val-impure_params"><ahref="#val-impure_params"class="anchor"></a><code><spanclass="keyword">val</span> impure_params : <ahref="ModifiedParamIndices/index.html#type-t">ModifiedParamIndices.t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Impure abstract state: there may be side-effect on the parameters, but not on global values.</p></dd></dl><dl><dtclass="spec value"id="val-is_pure"><ahref="#val-is_pure"class="anchor"></a><code><spanclass="keyword">val</span> is_pure : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-all_params_modified"><ahref="#val-all_params_modified"class="anchor"></a><code><spanclass="keyword">val</span> all_params_modified : <span><span>(<ahref="../../IR/Exp/index.html#type-t">IR.Exp.t</a> * <ahref="../../IR/Typ/index.html#type-t">IR.Typ.t</a>)</span> list</span><span>-></span><ahref="ModifiedParamIndices/index.html#type-t">ModifiedParamIndices.t</a></code></dt></dl><dl><dtclass="spec type"id="type-summary"><ahref="#type-summary"class="anchor"></a><code><spanclass="keyword">type</span> summary</code><code> = <ahref="index.html#type-t">t</a></code></dt></dl><dl><dtclass="spec value"id="val-pp_summary"><ahref="#val-pp_summary"class="anchor"></a><code><spanclass="keyword">val</span> pp_summary : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl></div></body></html>