<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>PulseBaseDomain (infer.Pulselib.PulseBaseDomain)</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">Pulselib</a>» PulseBaseDomain</nav><h1>Module <code>Pulselib.PulseBaseDomain</code></h1></header><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = </code><code>{</code><tableclass="record"><trid="type-t.heap"class="anchored"><tdclass="def field"><ahref="#type-t.heap"class="anchor"></a><code>heap : <ahref="../PulseBaseMemory/index.html#type-t">PulseBaseMemory.t</a>;</code></td></tr><trid="type-t.stack"class="anchored"><tdclass="def field"><ahref="#type-t.stack"class="anchor"></a><code>stack : <ahref="../PulseBaseStack/index.html#type-t">PulseBaseStack.t</a>;</code></td></tr><trid="type-t.attrs"class="anchored"><tdclass="def field"><ahref="#type-t.attrs"class="anchor"></a><code>attrs : <ahref="../PulseBaseAddressAttributes/index.html#type-t">PulseBaseAddressAttributes.t</a>;</code></td></tr></table><code>}</code></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare"><ahref="#val-compare"class="anchor"></a><code><spanclass="keyword">val</span> compare : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt><dtclass="spec value"id="val-equal"><ahref="#val-equal"class="anchor"></a><code><spanclass="keyword">val</span> equal : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-yojson_of_t"><ahref="#val-yojson_of_t"class="anchor"></a><code><spanclass="keyword">val</span> yojson_of_t : <ahref="index.html#type-t">t</a><span>-></span> Ppx_yojson_conv_lib.Yojson.Safe.t</code></dt></dl></div></div></div><dl><dtclass="spec type"id="type-cell"><ahref="#type-cell"class="anchor"></a><code><spanclass="keyword">type</span> cell</code><code> = <ahref="../PulseBaseMemory/Edges/index.html#type-t">PulseBaseMemory.Edges.t</a> * <ahref="../PulseBasicInterface/Attributes/index.html#type-t">PulseBasicInterface.Attributes.t</a></code></dt></dl><dl><dtclass="spec value"id="val-empty"><ahref="#val-empty"class="anchor"></a><code><spanclass="keyword">val</span> empty : <ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-reachable_addresses"><ahref="#val-reachable_addresses"class="anchor"></a><code><spanclass="keyword">val</span> reachable_addresses : <ahref="index.html#type-t">t</a><span>-></span><ahref="../../Pulselib__PulseAbstractValue/index.html#module-Set">Pulselib.PulseBasicInterface.AbstractValue.Set</a>.t</code></dt><dd><p>compute the set of abstract addresses that are "used" in the abstract state, i.e. reachable from the stack variables</p></dd></dl><dl><dtclass="spec value"id="val-reachable_addresses_from"><ahref="#val-reachable_addresses_from"class="anchor"></a><code><spanclass="keyword">val</span> reachable_addresses_from : <span><ahref="../PulseAbstractValue/index.html#type-t">PulseBasicInterface.AbstractValue.t</a> list</span><span>-></span><ahref="index.html#type-t">t</a><span>-></span><ahref="../../Pulselib__PulseAbstractValue/index.html#module-Set">Pulselib.PulseBasicInterface.AbstractValue.Set</a>.t</code></dt><dd><p>compute the set of abstract addresses that are reachable from given abstract addresses</p></dd