mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
46 lines
No EOL
37 KiB
HTML
46 lines
No EOL
37 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCInt64 (containers.CCInt64)</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">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCInt64</span></h1></header><h2>Int64</h2><p>Helpers for 64-bit integers</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">module type of </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-zero"><a href="#val-zero" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>zero : int64</code></div><div class="doc"></div></div><div class="spec val" id="val-one"><a href="#val-one" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>one : int64</code></div><div class="doc"></div></div><div class="spec val" id="val-minus_one"><a href="#val-minus_one" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>minus_one : int64</code></div><div class="doc"></div></div><div class="spec val" id="val-neg"><a href="#val-neg" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>neg : int64 <span class="keyword">‑></span> int64 = "%int64_neg" </code></div><div class="doc"></div></div><div class="spec val" id="val-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>add : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_add" </code></div><div class="doc"></div></div><div class="spec val" id="val-sub"><a href="#val-sub" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>sub : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_sub" </code></div><div class="doc"></div></div><div class="spec val" id="val-mul"><a href="#val-mul" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>mul : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_mul" </code></div><div class="doc"></div></div><div class="spec val" id="val-div"><a href="#val-div" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>div : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_div" </code></div><div class="doc"></div></div><div class="spec val" id="val-rem"><a href="#val-rem" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>rem : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_mod" </code></div><div class="doc"></div></div><div class="spec val" id="val-succ"><a href="#val-succ" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>succ : int64 <span class="keyword">‑></span> int64</code></div><div class="doc"></div></div><div class="spec val" id="val-pred"><a href="#val-pred" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pred : int64 <span class="keyword">‑></span> int64</code></div><div class="doc"></div></div><div class="spec val" id="val-abs"><a href="#val-abs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>abs : int64 <span class="keyword">‑></span> int64</code></div><div class="doc"></div></div><div class="spec val" id="val-max_int"><a href="#val-max_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max_int : int64</code></div><div class="doc"></div></div><div class="spec val" id="val-min_int"><a href="#val-min_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>min_int : int64</code></div><div class="doc"></div></div><div class="spec val" id="val-logand"><a href="#val-logand" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>logand : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_and" </code></div><div class="doc"></div></div><div class="spec val" id="val-logor"><a href="#val-logor" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>logor : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_or" </code></div><div class="doc"></div></div><div class="spec val" id="val-logxor"><a href="#val-logxor" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>logxor : int64 <span class="keyword">‑></span> int64 <span class="keyword">‑></span> int64 = "%int64_xor" </code></div><div class="doc"></div></div><div class="spec val" id="val-lognot"><a href="#val-lognot" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lognot : int64 <span class="keyword">‑></span> int64</code></div><div class="doc"></div></div><div class="spec val" id="val-shift_left"><a href="#val-shift_left" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>shift_left : int64 <span class="keyword">‑></span> int <span class="keyword">‑></span> int64 = "%int64_lsl" </code></div><div class="doc"></div></div><div class="spec val" id="val-shift_right"><a href="#val-shift_right" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>shift_right : int64 <span class="keyword">‑></span> int <span class="keyword">‑></span> int64 = "%int64_asr" </code></div><div class="doc"></div></div><div class="spec val" id="val-shift_right_logical"><a href="#val-shift_right_logical" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>shift_right_logical : int64 <span class="keyword">‑></span> int <span class="keyword">‑></span> int64 = "%int64_lsr" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_int"><a href="#val-of_int" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>of_int : int <span class="keyword">‑></span> int64 = "%int64_of_int" </code></div><div class="doc"></div></div><div class="spec val" id="val-to_int"><a href="#val-to_int" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>to_int : int64 <span class="keyword">‑></span> int = "%int64_to_int" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_float"><a href="#val-of_float" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>of_float : float <span class="keyword">‑></span> int64 = "caml_int64_of_float" "caml_int64_of_float_unboxed" </code></div><div class="doc"></div></div><div class="spec val" id="val-to_float"><a href="#val-to_float" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>to_float : int64 <span class="keyword">‑></span> float = "caml_int64_to_float" "caml_int64_to_float_unboxed" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_int32"><a href="#val-of_int32" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>of_int32 : int32 <span class="keyword">‑></span> int64 = "%int64_of_int32" </code></div><div class="doc"></div></div><div class="spec val" id="val-to_int32"><a href="#val-to_int32" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>to_int32 : int64 <span class="keyword">‑></span> int32 = "%int64_to_int32" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_nativeint"><a href="#val-of_nativeint" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>of_nativeint : nativeint <span class="keyword">‑></span> int64 = "%int64_of_nativeint" </code></div><div class="doc"></div></div><div class="spec val" id="val-to_nativeint"><a href="#val-to_nativeint" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>to_nativeint : int64 <span class="keyword">‑></span> nativeint = "%int64_to_nativeint" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_string"><a href="#val-of_string" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>of_string : string <span class="keyword">‑></span> int64 = "caml_int64_of_string" </code></div><div class="doc"></div></div><div class="spec val" id="val-of_string_opt"><a href="#val-of_string_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_string_opt : string <span class="keyword">‑></span> int64 option</code></div><div class="doc"></div></div><div class="spec val" id="val-to_string"><a href="#val-to_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_string : int64 <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-bits_of_float"><a href="#val-bits_of_float" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>bits_of_float : float <span class="keyword">‑></span> int64 = "caml_int64_bits_of_float" "caml_int64_bits_of_float_unboxed" </code></div><div class="doc"></div></div><div class="spec val" id="val-float_of_bits"><a href="#val-float_of_bits" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>float_of_bits : int64 <span class="keyword">‑></span> float = "caml_int64_float_of_bits" "caml_int64_float_of_bits_unboxed" </code></div><div class="doc"></div></div><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><span class="keyword"> = </span>int64</code><code></code></div><div class="doc"></div></div><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><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-format"><a href="#val-format" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>format : string <span class="keyword">‑></span> int64 <span class="keyword">‑></span> string = "caml_int64_format" </code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-(+)"><a href="#val-(+)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(+) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Addition.</p></div></div><div class="spec val" id="val-(-)"><a href="#val-(-)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(-) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Subtraction.</p></div></div><div class="spec val" id="val-(~-)"><a href="#val-(~-)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(~-) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Unary negation.</p></div></div><div class="spec val" id="val-(*)"><a href="#val-(*)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(*) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Multiplication.</p></div></div><div class="spec val" id="val-(/)"><a href="#val-(/)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(/) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Integer division. Raise <code class="code">Division_by_zero</code> if the second
|
|
argument is zero. This division rounds the real quotient of
|
|
its arguments towards zero, as specified for <span class="xref-unresolved" title="unresolved reference to "Pervasives.(/)"">Pervasives.(/)</span>.</p></div></div><div class="spec val" id="val-(mod)"><a href="#val-(mod)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(mod) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Integer remainder.
|
|
If <code class="code">y = 0</code>, <code class="code">x mod y</code> raises <code class="code">Division_by_zero</code>.</p></div></div><div class="spec val" id="val-abs"><a href="#val-abs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>abs : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Return the absolute value of its argument.</p></div></div><div class="spec val" id="val-max_int"><a href="#val-max_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max_int : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>The greatest representable 64-bit integer, 2<sup>63</sup> - 1 = <code class="code">9_223_372_036_854_775_807</code>.</p></div></div><div class="spec val" id="val-min_int"><a href="#val-min_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>min_int : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>The smallest representable 64-bit integer, -2<sup>63</sup> = <code class="code">-9_223_372_036_854_775_808</code>.</p></div></div><div class="spec val" id="val-(land)"><a href="#val-(land)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(land) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Bitwise logical and.</p></div></div><div class="spec val" id="val-(lor)"><a href="#val-(lor)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lor) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Bitwise logical or.</p></div></div><div class="spec val" id="val-(lxor)"><a href="#val-(lxor)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lxor) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Bitwise logical exclusive or.</p></div></div><div class="spec val" id="val-(lnot)"><a href="#val-(lnot)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lnot) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Bitwise logical negation.</p></div></div><div class="spec val" id="val-(lsl)"><a href="#val-(lsl)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lsl) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code"> x lsl y</code> shifts <code class="code">x</code> to the left by <code class="code">y</code> bits, filling in with zeroes.
|
|
The result is unspecified if <code class="code">y < 0</code> or <code class="code">y >= 64</code>.</p></div></div><div class="spec val" id="val-(lsr)"><a href="#val-(lsr)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lsr) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">x lsr y</code> shifts <code class="code">x</code> to the right by <code class="code">y</code> bits.
|
|
This is a logical shift: zeroes are inserted in the vacated bits
|
|
regardless of the sign of <code class="code">x</code>.
|
|
The result is unspecified if <code class="code">y < 0</code> or <code class="code">y >= 64</code>.</p></div></div><div class="spec val" id="val-(asr)"><a href="#val-(asr)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(asr) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">x asr y</code> shifts <code class="code">x</code> to the right by <code class="code">y</code> bits.
|
|
This is an arithmetic shift: the sign bit of <code class="code">x</code> is replicated
|
|
and inserted in the vacated bits.
|
|
The result is unspecified if <code class="code">y < 0</code> or <code class="code">y >= 64</code>.</p></div></div><div class="spec module" id="module-Infix"><a href="#module-Infix" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Infix/index.html">Infix</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><p>Infix operators</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">module type of </span><a href="index.html#module-Infix">Infix</a></code></span></summary><p>Infix operators</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.1</li></ul><div class="spec val" id="val-(+)"><a href="#val-(+)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(+) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(-)"><a href="#val-(-)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(-) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(~-)"><a href="#val-(~-)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(~-) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(*)"><a href="#val-(*)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(*) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(/)"><a href="#val-(/)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(/) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(mod)"><a href="#val-(mod)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(mod) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(land)"><a href="#val-(land)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(land) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(lor)"><a href="#val-(lor)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lor) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(lxor)"><a href="#val-(lxor)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lxor) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(lnot)"><a href="#val-(lnot)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lnot) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(lsl)"><a href="#val-(lsl)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lsl) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(lsr)"><a href="#val-(lsr)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(lsr) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(asr)"><a href="#val-(asr)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(asr) : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(=)"><a href="#val-(=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(=) : <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-(<>)"><a href="#val-(<>)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(<>) : <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-(>)"><a href="#val-(>)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>) : <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-(>=)"><a href="#val-(>=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>=) : <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-(<=)"><a href="#val-(<=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(<=) : <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-(<)"><a href="#val-(<)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(<) : <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></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"><p>The equal function for 64-bit integers.
|
|
Like <span class="xref-unresolved" title="unresolved reference to "Pervasives.(=) x y)"">Pervasives.(=) x y)</span>.</p></div></div><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"><p>The comparison function for 64-bit integers, with the same specification as
|
|
<span class="xref-unresolved" title="unresolved reference to "Pervasives.compare"">Pervasives.compare</span>. Along with the type <code class="code">t</code>, this function <code class="code">compare</code>
|
|
allows the module <code class="code">CCInt64</code> to be passed as argument to the functors
|
|
<span class="xref-unresolved" title="unresolved reference to "Set.Make"">Set.Make</span> and <span class="xref-unresolved" title="unresolved reference to "Map.Make"">Map.Make</span>.</p></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Like <span class="xref-unresolved" title="unresolved reference to "Pervasives.abs (to_int x)"">Pervasives.abs (to_int x)</span>.</p></div></div><h3>Conversion</h3><div class="spec val" id="val-to_int"><a href="#val-to_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_int : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Convert the given 64-bit integer (type <code class="code">int64</code>) to an
|
|
integer (type <code class="code">int</code>). On 64-bit platforms, the 64-bit integer
|
|
is taken modulo 2<sup>63</sup>, i.e. the high-order bit is lost
|
|
during the conversion. On 32-bit platforms, the 64-bit integer
|
|
is taken modulo 2<sup>31</sup>, i.e. the top 33 bits are lost
|
|
during the conversion.</p></div></div><div class="spec val" id="val-of_int"><a href="#val-of_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int : int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_int"">Int64.of_int</span>.
|
|
NOTE: used to return an option, but the function actually never fails.</p></div></div><div class="spec val" id="val-of_int_exn"><a href="#val-of_int_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int_exn : int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_int"">Int64.of_int</span>.</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 2.1, use <span class="xref-unresolved" title="unresolved reference to "Int64.of_int"">Int64.of_int</span> instead.</li></ul></div></div><div class="spec val" id="val-to_int32"><a href="#val-to_int32" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_int32 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int32</code></div><div class="doc"><p>Convert the given 64-bit integer (type <code class="code">int64</code>) to a
|
|
32-bit integer (type <code class="code">int32</code>). The 64-bit integer
|
|
is taken modulo 2<sup>32</sup>, i.e. the top 32 bits are lost
|
|
during the conversion.</p></div></div><div class="spec val" id="val-of_int32"><a href="#val-of_int32" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int32 : int32 <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_int32"">Int64.of_int32</span>.
|
|
NOTE: use to return an option, but the function actually never fails.</p></div></div><div class="spec val" id="val-of_int32_exn"><a href="#val-of_int32_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int32_exn : int32 <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_int32"">Int64.of_int32</span>.</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 2.1, use <span class="xref-unresolved" title="unresolved reference to "Int64.of_int32"">Int64.of_int32</span> instead.</li></ul></div></div><div class="spec val" id="val-to_nativeint"><a href="#val-to_nativeint" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_nativeint : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> nativeint</code></div><div class="doc"><p>Convert the given 64-bit integer (type <code class="code">int64</code>) to a
|
|
native integer. On 32-bit platforms, the 64-bit integer
|
|
is taken modulo 2<sup>32</sup>. On 64-bit platforms,
|
|
the conversion is exact.</p></div></div><div class="spec val" id="val-of_nativeint"><a href="#val-of_nativeint" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_nativeint : nativeint <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_nativeint"">Int64.of_nativeint</span>.
|
|
NOTE: use to return an option, but the function actually never fails.</p></div></div><div class="spec val" id="val-of_nativeint_exn"><a href="#val-of_nativeint_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_nativeint_exn : nativeint <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_nativeint"">Int64.of_nativeint</span>.</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 2.1, use <span class="xref-unresolved" title="unresolved reference to "Int64.of_nativeint"">Int64.of_nativeint</span> instead.</li></ul></div></div><div class="spec val" id="val-to_float"><a href="#val-to_float" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_float : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> float</code></div><div class="doc"><p>Convert the given 64-bit integer to a floating-point number.</p></div></div><div class="spec val" id="val-of_float"><a href="#val-of_float" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_float : float <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_float"">Int64.of_float</span>.
|
|
Convert the given floating-point number to a 64-bit integer,
|
|
discarding the fractional part (truncate towards 0).
|
|
The result of the conversion is undefined if, after truncation,
|
|
the number is outside the range [<a href="index.html#val-min_int">CCInt64.min_int</a>, <a href="index.html#val-max_int">CCInt64.max_int</a>].
|
|
NOTE: used to return an option, but the function never fails.</p></div></div><div class="spec val" id="val-of_float_exn"><a href="#val-of_float_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_float_exn : float <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_float"">Int64.of_float</span>.</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 2.1, use <span class="xref-unresolved" title="unresolved reference to "Int64.of_float"">Int64.of_float</span> instead.</li></ul></div></div><div class="spec val" id="val-to_string"><a href="#val-to_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_string : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>Return the string representation of its argument, in decimal.</p></div></div><div class="spec val" id="val-of_string"><a href="#val-of_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_string : string <span class="keyword">‑></span> <a href="index.html#type-t">t</a> option</code></div><div class="doc"><p>Safe version of <a href="index.html#val-of_string_exn">of_string_exn</a>.</p></div></div><div class="spec val" id="val-of_string_opt"><a href="#val-of_string_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_string_opt : string <span class="keyword">‑></span> <a href="index.html#type-t">t</a> option</code></div><div class="doc"><p>Alias to <a href="index.html#val-of_string">of_string</a>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.1</li></ul></div></div><div class="spec val" id="val-of_string_exn"><a href="#val-of_string_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_string_exn : string <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Int64.of_string"">Int64.of_string</span>.
|
|
Convert the given string to a 64-bit integer.
|
|
The string is read in decimal (by default, or if the string
|
|
begins with <code class="code">0u</code>) or in hexadecimal, octal or binary if the
|
|
string begins with <code class="code">0x</code>, <code class="code">0o</code> or <code class="code">0b</code> respectively.</p><p>The <code class="code">0u</code> prefix reads the input as an unsigned integer in the range
|
|
<code class="code">[0, 2*CCInt64.max_int+1]</code>. If the input exceeds <a href="index.html#val-max_int">CCInt64.max_int</a>
|
|
it is converted to the signed integer
|
|
<code class="code">CCInt64.min_int + input - CCInt64.max_int - 1</code>.</p><p>The <code class="code">_</code> (underscore) character can appear anywhere in the string
|
|
and is ignored.
|
|
Raise <code class="code">Failure "Int64.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 class="code">int64</code>.</p></div></div></body></html> |