You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5 lines
8.5 KiB
5 lines
8.5 KiB
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferIR__Binop (InferIR.InferIR__Binop)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../index.html">InferIR</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferIR__Binop</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-t.PlusA" class="anchored"><td class="def constructor"><a href="#type-t.PlusA" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">PlusA</span></code></td><td class="doc"><p>(** arithmetic + *)</p></td></tr><tr id="type-t.PlusPI" class="anchored"><td class="def constructor"><a href="#type-t.PlusPI" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">PlusPI</span></code></td><td class="doc"><p>(** pointer + integer *)</p></td></tr><tr id="type-t.MinusA" class="anchored"><td class="def constructor"><a href="#type-t.MinusA" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">MinusA</span></code></td><td class="doc"><p>(** arithmetic - *)</p></td></tr><tr id="type-t.MinusPI" class="anchored"><td class="def constructor"><a href="#type-t.MinusPI" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">MinusPI</span></code></td><td class="doc"><p>(** pointer - integer *)</p></td></tr><tr id="type-t.MinusPP" class="anchored"><td class="def constructor"><a href="#type-t.MinusPP" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">MinusPP</span></code></td><td class="doc"><p>(** pointer - pointer *)</p></td></tr><tr id="type-t.Mult" class="anchored"><td class="def constructor"><a href="#type-t.Mult" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Mult</span></code></td><td class="doc"><p>(** * *)</p></td></tr><tr id="type-t.Div" class="anchored"><td class="def constructor"><a href="#type-t.Div" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Div</span></code></td><td class="doc"><p>(** / *)</p></td></tr><tr id="type-t.Mod" class="anchored"><td class="def constructor"><a href="#type-t.Mod" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Mod</span></code></td><td class="doc"><p>(** % *)</p></td></tr><tr id="type-t.Shiftlt" class="anchored"><td class="def constructor"><a href="#type-t.Shiftlt" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Shiftlt</span></code></td><td class="doc"><p>(** shift left *)</p></td></tr><tr id="type-t.Shiftrt" class="anchored"><td class="def constructor"><a href="#type-t.Shiftrt" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Shiftrt</span></code></td><td class="doc"><p>(** shift right *)</p></td></tr><tr id="type-t.Lt" class="anchored"><td class="def constructor"><a href="#type-t.Lt" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Lt</span></code></td><td class="doc"><p>(** < (arithmetic comparison) *)</p></td></tr><tr id="type-t.Gt" class="anchored"><td class="def constructor"><a href="#type-t.Gt" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Gt</span></code></td><td class="doc"><p>(** > (arithmetic comparison) *)</p></td></tr><tr id="type-t.Le" class="anchored"><td class="def constructor"><a href="#type-t.Le" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Le</span></code></td><td class="doc"><p>(** <= (arithmetic comparison) *)</p></td></tr><tr id="type-t.Ge" class="anchored"><td class="def constructor"><a href="#type-t.Ge" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Ge</span></code></td><td class="doc"><p>(** >= (arithmetic comparison) *)</p></td></tr><tr id="type-t.Eq" class="anchored"><td class="def constructor"><a href="#type-t.Eq" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Eq</span></code></td><td class="doc"><p>(** == (arithmetic comparison) *)</p></td></tr><tr id="type-t.Ne" class="anchored"><td class="def constructor"><a href="#type-t.Ne" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Ne</span></code></td><td class="doc"><p>(** != (arithmetic comparison) *)</p></td></tr><tr id="type-t.BAnd" class="anchored"><td class="def constructor"><a href="#type-t.BAnd" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">BAnd</span></code></td><td class="doc"><p>(** bitwise and *)</p></td></tr><tr id="type-t.BXor" class="anchored"><td class="def constructor"><a href="#type-t.BXor" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">BXor</span></code></td><td class="doc"><p>(** exclusive-or *)</p></td></tr><tr id="type-t.BOr" class="anchored"><td class="def constructor"><a href="#type-t.BOr" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">BOr</span></code></td><td class="doc"><p>(** inclusive-or *)</p></td></tr><tr id="type-t.LAnd" class="anchored"><td class="def constructor"><a href="#type-t.LAnd" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">LAnd</span></code></td><td class="doc"><p>(** logical and. Does not always evaluate both operands. *)</p></td></tr><tr id="type-t.LOr" class="anchored"><td class="def constructor"><a href="#type-t.LOr" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">LOr</span></code></td><td class="doc"><p>(** logical or. Does not always evaluate both operands. *)</p></td></tr></table><code></code></div><div class="doc"><p>Binary operations</p></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-injective"><a href="#val-injective" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>injective : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>This function returns true if the operation is injective
|
|
wrt. each argument: op(e,-) and op(-, e) is injective for all e.
|
|
The return value false means "don't know".</p></div></div><div class="spec val" id="val-is_zero_runit"><a href="#val-is_zero_runit" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_zero_runit : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>This function returns true if 0 is the right unit of <code class="code">binop</code>.
|
|
The return value false means "don't know".</p></div></div><div class="spec val" id="val-str"><a href="#val-str" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>str : <a href="../../InferStdlib/InferStdlib/Pp/index.html#type-env">InferStdlib.Pp.env</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>String representation of a binary operator.</p></div></div></body></html> |