<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>SymOp (infer.IBase.SymOp)</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>»<ahref="../index.html">IBase</a>» SymOp</nav><h1>Module <code>IBase.SymOp</code></h1></header><aside><p>Symbolic Operations and Failures: the units in which analysis work is measured</p></aside><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code></dt><dd><p>Internal state of the module</p></dd></dl><dl><dtclass="spec value"id="val-check_wallclock_alarm"><ahref="#val-check_wallclock_alarm"class="anchor"></a><code><spanclass="keyword">val</span> check_wallclock_alarm : unit <span>-></span> unit</code></dt><dd><p>if the wallclock alarm has expired, raise a timeout exception</p></dd></dl><dl><dtclass="spec value"id="val-get_remaining_wallclock_time"><ahref="#val-get_remaining_wallclock_time"class="anchor"></a><code><spanclass="keyword">val</span> get_remaining_wallclock_time : unit <span>-></span> float</code></dt><dd><p>Return the time remaining before the wallclock alarm expires</p></dd></dl><dl><dtclass="spec value"id="val-get_timeout_seconds"><ahref="#val-get_timeout_seconds"class="anchor"></a><code><spanclass="keyword">val</span> get_timeout_seconds : unit <span>-></span><span>float option</span></code></dt><dd><p>Timeout in seconds for each function</p></dd></dl><dl><dtclass="spec value"id="val-get_total"><ahref="#val-get_total"class="anchor"></a><code><spanclass="keyword">val</span> get_total : unit <span>-></span> int</code></dt><dd><p>Return the total number of symop's since the beginning</p></dd></dl><dl><dtclass="spec value"id="val-pay"><ahref="#val-pay"class="anchor"></a><code><spanclass="keyword">val</span> pay : unit <span>-></span> unit</code></dt><dd><p>Count one symop</p></dd></dl><dl><dtclass="spec value"id="val-reset_total"><ahref="#val-reset_total"class="anchor"></a><code><spanclass="keyword">val</span> reset_total : unit <span>-></span> unit</code></dt><dd><p>Reset the total number of symop's</p></dd></dl><dl><dtclass="spec value"id="val-restore_state"><ahref="#val-restore_state"class="anchor"></a><code><spanclass="keyword">val</span> restore_state : <ahref="index.html#type-t">t</a><span>-></span> unit</code></dt><dd><p>Restore the old state.</p></dd></dl><dl><dtclass="spec value"id="val-save_state"><ahref="#val-save_state"class="anchor"></a><code><spanclass="keyword">val</span> save_state : <span>keep_symop_total:bool</span><span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Return the old state, and revert the current state to the initial one. If keep_symop_total is true, share the total counter.</p></dd></dl><dl><dtclass="spec value"id="val-set_alarm"><ahref="#val-set_alarm"class="anchor"></a><code><spanclass="keyword">val</span> set_alarm : unit <span>-></span> unit</code></dt><dd><p>Reset the counter and activate the alarm</p></dd></dl><dl><dtclass="spec value"id="val-set_wallclock_alarm"><ahref="#val-set_wallclock_alarm"class="anchor"></a><code><spanclass="keyword">val</span> set_wallclock_alarm : float <span>-></span> unit</code></dt><dd><p>Set the wallclock alarm checked at every pay()</p></dd></dl><dl><dtclass="spec value"id="val-set_wallclock_timeout_handler"><ahref="#val-set_wallclock_timeout_handler"class="anchor"></a><code><spanclass="keyword">val</span> set_wallclock_timeout_handler : <span>(unit <span>-></span> unit)</span><span>-></span> unit</code></dt><dd><p>set the handler for the wallclock timeout</p></dd></dl><dl><dtclass="spec value"id="val-unset_alarm"