ocaml-containers/2.3/containers/CCFloat/index.html
2018-08-06 11:54:50 -05:00

8 lines
No EOL
21 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCFloat (containers.CCFloat)</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> &mdash; <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCFloat</span></h1></header><h2>Basic operations on floating-point numbers</h2><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6.1</li></ul><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>float</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-fpclass"><a href="#type-fpclass" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>fpclass</code><code><span class="keyword"> = </span>Pervasives.fpclass</code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-fpclass.FP_normal" class="anchored"><td class="def constructor"><a href="#type-fpclass.FP_normal" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FP_normal</span></code></td></tr><tr id="type-fpclass.FP_subnormal" class="anchored"><td class="def constructor"><a href="#type-fpclass.FP_subnormal" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FP_subnormal</span></code></td></tr><tr id="type-fpclass.FP_zero" class="anchored"><td class="def constructor"><a href="#type-fpclass.FP_zero" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FP_zero</span></code></td></tr><tr id="type-fpclass.FP_infinite" class="anchored"><td class="def constructor"><a href="#type-fpclass.FP_infinite" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FP_infinite</span></code></td></tr><tr id="type-fpclass.FP_nan" class="anchored"><td class="def constructor"><a href="#type-fpclass.FP_nan" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">FP_nan</span></code></td></tr></table><code></code></div><div class="doc"></div></div><div class="spec val" id="val-nan"><a href="#val-nan" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>nan : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.nan&quot;">Pervasives.nan</span>.</p></div></div><div class="spec val" id="val-max_value"><a href="#val-max_value" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max_value : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Positive infinity. Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.infinity&quot;">Pervasives.infinity</span>.</p></div></div><div class="spec val" id="val-min_value"><a href="#val-min_value" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>min_value : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Negative infinity. Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.neg_infinity&quot;">Pervasives.neg_infinity</span>.</p></div></div><div class="spec val" id="val-max_finite_value"><a href="#val-max_finite_value" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max_finite_value : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.max_float&quot;">Pervasives.max_float</span>.</p></div></div><div class="spec val" id="val-epsilon"><a href="#val-epsilon" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>epsilon : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>The smallest positive float x such that <code class="code">1.0 +. x &lt;&gt; 1.0</code>.
Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.epsilon_float&quot;">Pervasives.epsilon_float</span>.</p></div></div><div class="spec val" id="val-is_nan"><a href="#val-is_nan" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_nan : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p><code class="code">is_nan f</code> returns <code class="code">true</code> if f is NaN, <code class="code">false</code> otherwise.</p></div></div><div class="spec val" id="val-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <code class="code">(+.)</code>.</p></div></div><div class="spec val" id="val-sub"><a href="#val-sub" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sub : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <code class="code">(-.)</code>.</p></div></div><div class="spec val" id="val-neg"><a href="#val-neg" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>neg : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <code class="code">(~-.)</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">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>The absolute value of a floating-point number.
Equal to <span class="xref-unresolved" title="unresolved reference to &quot;Pervasives.abs_float&quot;">Pervasives.abs_float</span>.</p></div></div><div class="spec val" id="val-scale"><a href="#val-scale" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>scale : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Equal to <code class="code">( *. )</code>.</p></div></div><div class="spec val" id="val-min"><a href="#val-min" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>min : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-max"><a href="#val-max" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-random_gen"><a href="#type-random_gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a random_gen</code><code><span class="keyword"> = </span>Random.State.t <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"></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">&#8209;&gt;</span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-random"><a href="#val-random" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>random : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <a href="index.html#type-random_gen">random_gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-random_small"><a href="#val-random_small" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>random_small : <a href="index.html#type-t">t</a> <a href="index.html#type-random_gen">random_gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-random_range"><a href="#val-random_range" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>random_range : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <a href="index.html#type-random_gen">random_gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-fsign"><a href="#val-fsign" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fsign : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">fsign x</code> is one of <code class="code">-1., -0., +0., +1.</code>, or <code class="code">nan</code> if <code class="code">x</code> is NaN.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.7</li></ul></div></div><div class="spec val" id="val-round"><a href="#val-round" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>round : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">round f</code> returns the closest integer value, either above or below.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec exception" id="exception-TrapNaN"><a href="#exception-TrapNaN" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">TrapNaN</span><span class="keyword"> of </span>string</code></div><div class="doc"></div></div><div class="spec val" id="val-sign_exn"><a href="#val-sign_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sign_exn : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p><code class="code">sign_exn x</code> will return the sign of <code class="code">x</code> as <code class="code">1, 0</code> or <code class="code">-1</code>, or raise an
exception <code class="code">TrapNaN</code> if <code class="code">x</code> is NaN.
Note that infinities have defined signs in OCaml.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.7</li></ul></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">val </span>to_int : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p>Alias to int_of_float.
Unspecified if outside of the range of integers.</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">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to float_of_int.</p></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">&#8209;&gt;</span> string</code></div><div class="doc"></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">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to float_of_string.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Failure</span>: in case of failure.</li><li><span class="at-tag since">Since</span>: 1.2</li></ul></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">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to float_of_string.</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 1.2, use <a href="index.html#val-of_string_exn">of_string_exn</a> instead.</li><li><span class="at-tag raise">Raises</span> <span class="module-path">Failure</span>: in case of failure.</li></ul></div></div><div class="spec val" id="val-equal_precision"><a href="#val-equal_precision" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal_precision : epsilon:<a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>Equality with allowed error up to a non negative epsilon value.</p></div></div><div class="spec val" id="val-classify"><a href="#val-classify" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>classify : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-fpclass">fpclass</a></code></div><div class="doc"><p>Return the class of the given floating-point number:
normal, subnormal, zero, infinite or nan (not a number).</p></div></div><h3>Infix Operators</h3><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul><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"></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><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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-(&lt;&gt;)"><a href="#val-(&lt;&gt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;&gt;) : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-(&lt;)"><a href="#val-(&lt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;) : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-(&gt;)"><a href="#val-(&gt;)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&gt;) : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-(&lt;=)"><a href="#val-(&lt;=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&lt;=) : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-(&gt;=)"><a href="#val-(&gt;=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(&gt;=) : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Addition.</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-(-)"><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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Subtraction.</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-(~-)"><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">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Unary negation.</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-(*)"><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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Multiplication.</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-(/)"><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">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Division.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.1</li></ul></div></div></details></div></body></html>