mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
2 lines
No EOL
36 KiB
HTML
2 lines
No EOL
36 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCNativeint (containers.CCNativeint)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">containers</a> » CCNativeint</nav><header class="odoc-preamble"><h1>Module <code><span>CCNativeint</span></code></h1><p>Helpers for processor-native integers</p><p>This module provides operations on the type <code>nativeint</code> of signed 32-bit integers (on 32-bit platforms) or signed 64-bit integers (on 64-bit platforms). This integer type has exactly the same width as that of a pointer type in the C compiler. All arithmetic operations over nativeint are taken modulo 2<sup>32</sup> or 2<sup>64</sup> depending on the word size of the architecture.</p><p>Performance notice: values of type <code>nativeint</code> occupy more memory space than values of type <code>int</code>, and arithmetic operations on <code>nativeint</code> are generally slower than those on <code>int</code>. Use <code>nativeint</code> only when the application requires the extra bit of precision over the <code>int</code> type.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.1</li></ul></header><nav class="odoc-toc"><ul><li><a href="#conversion">Conversion</a></li><li><a href="#printing">Printing</a></li><li><a href="#infix-operators">Infix Operators</a></li></ul></nav><div class="odoc-content"><div class="odoc-include"><div class="spec-doc"><p><a href="https://caml.inria.fr/pub/docs/manual-ocaml/libref/Nativeint.html">Documentation for the standard Nativeint module</a></p></div><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="keyword">struct</span> <span class="keyword">include</span> <span class="xref-unresolved">Stdlib</span>.Nativeint <span class="keyword">end</span></span></code></summary><div class="odoc-spec"><div class="spec value" id="val-zero" class="anchored"><a href="#val-zero" class="anchor"></a><code><span><span class="keyword">val</span> zero : nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-one" class="anchored"><a href="#val-one" class="anchor"></a><code><span><span class="keyword">val</span> one : nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-minus_one" class="anchored"><a href="#val-minus_one" class="anchor"></a><code><span><span class="keyword">val</span> minus_one : nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-neg" class="anchored"><a href="#val-neg" class="anchor"></a><code><span><span class="keyword">val</span> neg : <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-add" class="anchored"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-sub" class="anchored"><a href="#val-sub" class="anchor"></a><code><span><span class="keyword">val</span> sub : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-mul" class="anchored"><a href="#val-mul" class="anchor"></a><code><span><span class="keyword">val</span> mul : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-div" class="anchored"><a href="#val-div" class="anchor"></a><code><span><span class="keyword">val</span> div : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-unsigned_div" class="anchored"><a href="#val-unsigned_div" class="anchor"></a><code><span><span class="keyword">val</span> unsigned_div : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-rem" class="anchored"><a href="#val-rem" class="anchor"></a><code><span><span class="keyword">val</span> rem : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-unsigned_rem" class="anchored"><a href="#val-unsigned_rem" class="anchor"></a><code><span><span class="keyword">val</span> unsigned_rem : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-succ" class="anchored"><a href="#val-succ" class="anchor"></a><code><span><span class="keyword">val</span> succ : <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-pred" class="anchored"><a href="#val-pred" class="anchor"></a><code><span><span class="keyword">val</span> pred : <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-abs" class="anchored"><a href="#val-abs" class="anchor"></a><code><span><span class="keyword">val</span> abs : <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-size" class="anchored"><a href="#val-size" class="anchor"></a><code><span><span class="keyword">val</span> size : int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-max_int" class="anchored"><a href="#val-max_int" class="anchor"></a><code><span><span class="keyword">val</span> max_int : nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-min_int" class="anchored"><a href="#val-min_int" class="anchor"></a><code><span><span class="keyword">val</span> min_int : nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-logand" class="anchored"><a href="#val-logand" class="anchor"></a><code><span><span class="keyword">val</span> logand : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-logor" class="anchored"><a href="#val-logor" class="anchor"></a><code><span><span class="keyword">val</span> logor : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-logxor" class="anchored"><a href="#val-logxor" class="anchor"></a><code><span><span class="keyword">val</span> logxor : <span>nativeint <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-lognot" class="anchored"><a href="#val-lognot" class="anchor"></a><code><span><span class="keyword">val</span> lognot : <span>nativeint <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-shift_left" class="anchored"><a href="#val-shift_left" class="anchor"></a><code><span><span class="keyword">val</span> shift_left : <span>nativeint <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-shift_right" class="anchored"><a href="#val-shift_right" class="anchor"></a><code><span><span class="keyword">val</span> shift_right : <span>nativeint <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-shift_right_logical" class="anchored"><a href="#val-shift_right_logical" class="anchor"></a><code><span><span class="keyword">val</span> shift_right_logical : <span>nativeint <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-of_int" class="anchored"><a href="#val-of_int" class="anchor"></a><code><span><span class="keyword">val</span> of_int : <span>int <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-to_int" class="anchored"><a href="#val-to_int" class="anchor"></a><code><span><span class="keyword">val</span> to_int : <span>nativeint <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-unsigned_to_int" class="anchored"><a href="#val-unsigned_to_int" class="anchor"></a><code><span><span class="keyword">val</span> unsigned_to_int : <span>nativeint <span class="arrow">-></span></span> <span>int option</span></span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-of_float" class="anchored"><a href="#val-of_float" class="anchor"></a><code><span><span class="keyword">val</span> of_float : <span>float <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-to_float" class="anchored"><a href="#val-to_float" class="anchor"></a><code><span><span class="keyword">val</span> to_float : <span>nativeint <span class="arrow">-></span></span> float</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-of_int32" class="anchored"><a href="#val-of_int32" class="anchor"></a><code><span><span class="keyword">val</span> of_int32 : <span>int32 <span class="arrow">-></span></span> nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-to_int32" class="anchored"><a href="#val-to_int32" class="anchor"></a><code><span><span class="keyword">val</span> to_int32 : <span>nativeint <span class="arrow">-></span></span> int32</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_string" class="anchored"><a href="#val-to_string" class="anchor"></a><code><span><span class="keyword">val</span> to_string : <span>nativeint <span class="arrow">-></span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = nativeint</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-unsigned_compare" class="anchored"><a href="#val-unsigned_compare" class="anchor"></a><code><span><span class="keyword">val</span> unsigned_compare : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value external" id="val-format" class="anchored"><a href="#val-format" class="anchor"></a><code><span><span class="keyword">val</span> format : <span>string <span class="arrow">-></span></span> <span>nativeint <span class="arrow">-></span></span> string</span></code></div></div></details></div><div class="odoc-spec"><div class="spec value" id="val-min" class="anchored"><a href="#val-min" class="anchor"></a><code><span><span class="keyword">val</span> min : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>min x y</code> returns the minimum of the two integers <code>x</code> and <code>y</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-max" class="anchored"><a href="#val-max" class="anchor"></a><code><span><span class="keyword">val</span> max : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>max x y</code> returns the maximum of the two integers <code>x</code> and <code>y</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p><code>hash x</code> computes the hash of <code>x</code>. Like <code>Stdlib</code>.abs(to_intx).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-sign" class="anchored"><a href="#val-sign" class="anchor"></a><code><span><span class="keyword">val</span> sign : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p><code>sign x</code> return <code>0</code> if <code>x = 0</code>, <code>-1</code> if <code>x < 0</code> and <code>1</code> if <code>x > 0</code>. Same as <code>compare x zero</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-pow" class="anchored"><a href="#val-pow" class="anchor"></a><code><span><span class="keyword">val</span> pow : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>pow base exponent</code> returns <code>base</code> raised to the power of <code>exponent</code>. <code>pow x y = x^y</code> for positive integers <code>x</code> and <code>y</code>. Raises <code>Invalid_argument</code> if <code>x = y = 0</code> or <code>y</code> < 0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-floor_div" class="anchored"><a href="#val-floor_div" class="anchor"></a><code><span><span class="keyword">val</span> floor_div : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>floor_div x n</code> is integer division rounding towards negative infinity. It satisfies <code>x = m * floor_div x n + rem x n</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec type" id="type-printer" class="anchored"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-random_gen" class="anchored"><a href="#type-random_gen" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a random_gen</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Random.State.t <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-range_by" class="anchored"><a href="#val-range_by" class="anchor"></a><code><span><span class="keyword">val</span> range_by : <span>step:<a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>range_by ~step i j</code> iterates on integers from <code>i</code> to <code>j</code> included, where the difference between successive elements is <code>step</code>. Use a negative <code>step</code> for a decreasing list.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if <code>step=0</code>.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-range" class="anchored"><a href="#val-range" class="anchor"></a><code><span><span class="keyword">val</span> range : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>range i j</code> iterates on integers from <code>i</code> to <code>j</code> included . It works both for decreasing and increasing ranges.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-range'" class="anchored"><a href="#val-range'" class="anchor"></a><code><span><span class="keyword">val</span> range' : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>range' i j</code> is like <a href="#val-range"><code>range</code></a> but the second bound <code>j</code> is excluded. For instance <code>range' 0 5 = Iter.of_list [0;1;2;3;4]</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-random" class="anchored"><a href="#val-random" class="anchor"></a><code><span><span class="keyword">val</span> random : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-random_gen">random_gen</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-random_small" class="anchored"><a href="#val-random_small" class="anchor"></a><code><span><span class="keyword">val</span> random_small : <span><a href="#type-t">t</a> <a href="#type-random_gen">random_gen</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-random_range" class="anchored"><a href="#val-random_range" class="anchor"></a><code><span><span class="keyword">val</span> random_range : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-random_gen">random_gen</a></span></span></code></div></div><h3 id="conversion"><a href="#conversion" class="anchor"></a>Conversion</h3><div class="odoc-spec"><div class="spec value" id="val-of_string" class="anchored"><a href="#val-of_string" class="anchor"></a><code><span><span class="keyword">val</span> of_string : <span>string <span class="arrow">-></span></span> <span><a href="#type-t">t</a> option</span></span></code></div><div class="spec-doc"><p><code>of_string s</code> is the safe version of <a href="#val-of_string_exn"><code>of_string_exn</code></a>. Like <a href="#val-of_string_exn"><code>of_string_exn</code></a>, but return <code>None</code> instead of raising.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_string_opt" class="anchored"><a href="#val-of_string_opt" class="anchor"></a><code><span><span class="keyword">val</span> of_string_opt : <span>string <span class="arrow">-></span></span> <span><a href="#type-t">t</a> option</span></span></code></div><div class="spec-doc"><p><code>of_string_opt s</code> is an alias to <a href="#val-of_string"><code>of_string</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_string_exn" class="anchored"><a href="#val-of_string_exn" class="anchor"></a><code><span><span class="keyword">val</span> of_string_exn : <span>string <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_string_exn s</code> converts the given string <code>s</code> into a native integer. Alias to <code>Nativeint</code>.of_string. Convert the given string to a native integer. The string is read in decimal (by default, or if the string begins with <code>0u</code>) or in hexadecimal, octal or binary if the string begins with <code>0x</code>, <code>0o</code> or <code>0b</code> respectively.</p><p>The <code>0u</code> prefix reads the input as an unsigned integer in the range <code>[0, 2*CCNativeint.max_int+1]</code>. If the input exceeds <a href="#val-max_int"><code>CCNativeint.max_int</code></a> it is converted to the signed integer <code>CCInt64.min_int + input - CCNativeint.max_int - 1</code>.</p><p>Raise <code>Failure "Nativeint.of_string"</code> if the given string is not a valid representation of an integer, or if the integer represented exceeds the range of integers representable in type <code>nativeint</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-to_string_binary" class="anchored"><a href="#val-to_string_binary" class="anchor"></a><code><span><span class="keyword">val</span> to_string_binary : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p><code>to_string_binary x</code> returns the string representation of the integer <code>x</code>, in binary.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><h3 id="printing"><a href="#printing" class="anchor"></a>Printing</h3><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><a href="#type-t">t</a> <a href="#type-printer">printer</a></span></span></code></div><div class="spec-doc"><p><code>pp ppf x</code> prints the integer <code>x</code> on <code>ppf</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-pp_binary" class="anchored"><a href="#val-pp_binary" class="anchor"></a><code><span><span class="keyword">val</span> pp_binary : <span><a href="#type-t">t</a> <a href="#type-printer">printer</a></span></span></code></div><div class="spec-doc"><p><code>pp_binary ppf x</code> prints <code>x</code> on <code>ppf</code>. Print as "0b00101010".</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><h3 id="infix-operators"><a href="#infix-operators" class="anchor"></a>Infix Operators</h3><div class="odoc-spec"><div class="spec module" id="module-Infix" class="anchored"><a href="#module-Infix" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Infix/index.html">Infix</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <a href="Infix/index.html">Infix</a></span></code></summary><div class="odoc-spec"><div class="spec value" id="val-(+)" class="anchored"><a href="#val-(+)" class="anchor"></a><code><span><span class="keyword">val</span> (+) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x + y</code> is the sum of <code>x</code> and <code>y</code>. Addition.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(-)" class="anchored"><a href="#val-(-)" class="anchor"></a><code><span><span class="keyword">val</span> (-) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x - y</code> is the difference of <code>x</code> and <code>y</code>. Subtraction.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(~-)" class="anchored"><a href="#val-(~-)" class="anchor"></a><code><span><span class="keyword">val</span> (~-) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>~- x</code> is the negation of <code>x</code>. Unary negation.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(*)" class="anchored"><a href="#val-(*)" class="anchor"></a><code><span><span class="keyword">val</span> (*) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code> x * y</code> is the product of <code>x</code> and <code>y</code>. Multiplication.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(/)" class="anchored"><a href="#val-(/)" class="anchor"></a><code><span><span class="keyword">val</span> (/) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x / y</code> is the integer quotient of <code>x</code> and <code>y</code>. Integer division. Raise <code>Division_by_zero</code> if the second argument <code>y</code> is zero. This division rounds the real quotient of its arguments towards zero, as specified for <code>Stdlib</code>.(/).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(mod)" class="anchored"><a href="#val-(mod)" class="anchor"></a><code><span><span class="keyword">val</span> (mod) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x mod y</code> is the integer remainder of <code>x / y</code>. If <code>y <> zero</code>, the result of <code>x mod y</code> satisfies the following properties: <code>zero <= x mod y < abs y</code> and <code>x = ((x / y) * y) + (x mod y)</code>. If <code>y = 0</code>, <code>x mod y</code> raises <code>Division_by_zero</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(**)" class="anchored"><a href="#val-(**)" class="anchor"></a><code><span><span class="keyword">val</span> (**) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Alias to <a href="#val-pow"><code>pow</code></a></p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-(--)" class="anchored"><a href="#val-(--)" class="anchor"></a><code><span><span class="keyword">val</span> (--) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p>Alias to <a href="#val-range"><code>range</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-(--^)" class="anchored"><a href="#val-(--^)" class="anchor"></a><code><span><span class="keyword">val</span> (--^) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <a href="#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p>Alias to <a href="#val-range'"><code>range'</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-(land)" class="anchored"><a href="#val-(land)" class="anchor"></a><code><span><span class="keyword">val</span> (land) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x land y</code> is the bitwise logical and of <code>x</code> and <code>y</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(lor)" class="anchored"><a href="#val-(lor)" class="anchor"></a><code><span><span class="keyword">val</span> (lor) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x lor y</code> is the bitwise logical or of <code>x</code> and <code>y</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(lxor)" class="anchored"><a href="#val-(lxor)" class="anchor"></a><code><span><span class="keyword">val</span> (lxor) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x lxor y</code> is the bitwise logical exclusive or of <code>x</code> and <code>y</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-lnot" class="anchored"><a href="#val-lnot" class="anchor"></a><code><span><span class="keyword">val</span> lnot : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>lnot x</code> is the bitwise logical negation of <code>x</code> (the bits of <code>x</code> are inverted).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(lsl)" class="anchored"><a href="#val-(lsl)" class="anchor"></a><code><span><span class="keyword">val</span> (lsl) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code> x lsl y</code> shifts <code>x</code> to the left by <code>y</code> bits. The result is unspecified if <code>y < 0</code> or <code>y >= bitsize</code>, where <code>bitsize</code> is <code>32</code> on a 32-bit platform and <code>64</code> on a 64-bit platform.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(lsr)" class="anchored"><a href="#val-(lsr)" class="anchor"></a><code><span><span class="keyword">val</span> (lsr) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x lsr y</code> shifts <code>x</code> to the right by <code>y</code> bits. This is a logical shift: zeroes are inserted in the vacated bits regardless of the sign of <code>x</code>. The result is unspecified if <code>y < 0</code> or <code>y >= bitsize</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(asr)" class="anchored"><a href="#val-(asr)" class="anchor"></a><code><span><span class="keyword">val</span> (asr) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>x asr y</code> shifts <code>x</code> to the right by <code>y</code> bits. This is an arithmetic shift: the sign bit of <code>x</code> is replicated and inserted in the vacated bits. The result is unspecified if <code>y < 0</code> or <code>y >= bitsize</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-(=)" class="anchored"><a href="#val-(=)" class="anchor"></a><code><span><span class="keyword">val</span> (=) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(<>)" class="anchored"><a href="#val-(<>)" class="anchor"></a><code><span><span class="keyword">val</span> (<>) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(>)" class="anchored"><a href="#val-(>)" class="anchor"></a><code><span><span class="keyword">val</span> (>) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(>=)" class="anchored"><a href="#val-(>=)" class="anchor"></a><code><span><span class="keyword">val</span> (>=) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(<=)" class="anchored"><a href="#val-(<=)" class="anchor"></a><code><span><span class="keyword">val</span> (<=) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(<)" class="anchored"><a href="#val-(<)" class="anchor"></a><code><span><span class="keyword">val</span> (<) : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div></details></div></div></body></html> |