Update documentation

This commit is contained in:
Xiaodi Wu 2017-08-12 14:54:35 -05:00
parent 70806040c2
commit ed1f699270
40 changed files with 1089 additions and 12402 deletions

View File

@ -232,7 +232,12 @@ internal state seeded from cryptographically secure random bytes:</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
<dl>
<dt><code>state</code></dt>
<dd>
<p>The value to be used as the generator&rsquo;s internal state.</p>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -229,7 +229,12 @@ with an internal state seeded from cryptographically secure random bytes:</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
<dl>
<dt><code>state</code></dt>
<dd>
<p>The value to be used as the generator&rsquo;s internal state.</p>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -428,7 +428,12 @@ represented exactly.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A rational value to convert to a binary integer.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>A rational value to convert to a binary integer.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -457,7 +462,12 @@ a runtime error may occur.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A rational value to convert to a binary integer.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>A rational value to convert to a binary integer.</p>
</dd>
</dl>
</div>
</li>
</ul>

View File

@ -248,8 +248,16 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: </p>
<p><code><em>exponent</em></code>: </p>
<dl>
<dt><code>base</code></dt>
<dd>
</dd>
<dt><code>exponent</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -693,8 +701,16 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: </p>
<p><code><em>y</em></code>: </p>
<dl>
<dt><code>x</code></dt>
<dd>
</dd>
<dt><code>y</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -718,7 +734,12 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: </p>
<dl>
<dt><code>other</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -248,8 +248,16 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: </p>
<p><code><em>exponent</em></code>: </p>
<dl>
<dt><code>base</code></dt>
<dd>
</dd>
<dt><code>exponent</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -693,8 +701,16 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: </p>
<p><code><em>y</em></code>: </p>
<dl>
<dt><code>x</code></dt>
<dd>
</dd>
<dt><code>y</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -718,7 +734,12 @@
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: </p>
<dl>
<dt><code>other</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -190,7 +190,12 @@ the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>The rational value to convert to a floating-point value.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -221,7 +226,12 @@ the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>The rational value to convert to a floating-point value.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -252,7 +262,12 @@ the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>The rational value to convert to a floating-point value.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -283,7 +298,12 @@ the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>The rational value to convert to a floating-point value.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -314,7 +334,12 @@ the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>The rational value to convert to a floating-point value.</p>
</dd>
</dl>
</div>
</li>
</ul>

View File

@ -301,8 +301,16 @@ rounded to a representable value.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: <p>The value to divide.</p></p>
<p><code><em>rhs</em></code>: <p>The value by which to divide <code>lhs</code>.</p></p>
<dl>
<dt><code>lhs</code></dt>
<dd>
<p>The value to divide.</p>
</dd>
<dt><code>rhs</code></dt>
<dd>
<p>The value by which to divide <code>lhs</code>.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -328,8 +336,16 @@ in the left-hand side, rounded to a representable value.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: <p>The value to divide.</p></p>
<p><code><em>rhs</em></code>: <p>The value by which to divide <code>lhs</code>.</p></p>
<dl>
<dt><code>lhs</code></dt>
<dd>
<p>The value to divide.</p>
</dd>
<dt><code>rhs</code></dt>
<dd>
<p>The value by which to divide <code>lhs</code>.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -355,8 +371,16 @@ to a representable value.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: <p>The base to be raised to the power of <code>exponent</code>.</p></p>
<p><code><em>exponent</em></code>: <p>The exponent by which to raise <code>base</code>.</p></p>
<dl>
<dt><code>base</code></dt>
<dd>
<p>The base to be raised to the power of <code>exponent</code>.</p>
</dd>
<dt><code>exponent</code></dt>
<dd>
<p>The exponent by which to raise <code>base</code>.</p>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -283,7 +283,12 @@ generator.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
<dl>
<dt><code>state</code></dt>
<dd>
<p>The value to be used as the generator&rsquo;s internal state.</p>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -198,8 +198,16 @@ the arguments.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: <p>The length of one leg (cathetus) of a right-angle triangle.</p></p>
<p><code><em>y</em></code>: <p>The length of the other leg (cathetus) of a right-angle triangle.</p></p>
<dl>
<dt><code>x</code></dt>
<dd>
<p>The length of one leg (cathetus) of a right-angle triangle.</p>
</dd>
<dt><code>y</code></dt>
<dd>
<p>The length of the other leg (cathetus) of a right-angle triangle.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -233,7 +241,12 @@ and <code>other</code> to determine the quadrant of the computed angle.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: <p>The divisor by which to divide <code>self</code>.</p></p>
<dl>
<dt><code>other</code></dt>
<dd>
<p>The divisor by which to divide <code>self</code>.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -413,8 +426,16 @@ determine the quadrant of the computed angle.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>y</em></code>: <p>The value to divide.</p></p>
<p><code><em>x</em></code>: <p>The divisor by which to divide <code>y</code>.</p></p>
<dl>
<dt><code>y</code></dt>
<dd>
<p>The value to divide.</p>
</dd>
<dt><code>x</code></dt>
<dd>
<p>The divisor by which to divide <code>y</code>.</p>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -359,8 +359,16 @@ some complex functions may be unexpected. For example,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>real</em></code>: <p>The new value&rsquo;s real component.</p></p>
<p><code><em>imaginary</em></code>: <p>The new value&rsquo;s imaginary component.</p></p>
<dl>
<dt><code>real</code></dt>
<dd>
<p>The new value&rsquo;s real component.</p>
</dd>
<dt><code>imaginary</code></dt>
<dd>
<p>The new value&rsquo;s imaginary component.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -385,8 +393,16 @@ some complex functions may be unexpected. For example,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>r</em></code>: <p>The new value&rsquo;s radial coordinate.</p></p>
<p><code><em>theta</em></code>: <p>The new value&rsquo;s angular coordinate.</p></p>
<dl>
<dt><code>r</code></dt>
<dd>
<p>The new value&rsquo;s radial coordinate.</p>
</dd>
<dt><code>theta</code></dt>
<dd>
<p>The new value&rsquo;s angular coordinate.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -427,7 +443,12 @@ possible representation.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>real</em></code>: <p>The value to convert to a real component of type <code>T</code>.</p></p>
<dl>
<dt><code>real</code></dt>
<dd>
<p>The value to convert to a real component of type <code>T</code>.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -459,7 +480,12 @@ possible representation.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>real</em></code>: <p>The value to convert to a real component of type <code>T</code>.</p></p>
<dl>
<dt><code>real</code></dt>
<dd>
<p>The value to convert to a real component of type <code>T</code>.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -842,7 +868,12 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>value</em></code>: </p>
<dl>
<dt><code>value</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -875,7 +906,12 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>value</em></code>: </p>
<dl>
<dt><code>value</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -937,8 +973,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -1000,7 +1044,12 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: </p>
<dl>
<dt><code>source</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1024,8 +1073,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1049,8 +1106,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1074,8 +1139,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1099,8 +1172,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1124,8 +1205,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1149,8 +1238,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -1292,8 +1389,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1317,8 +1422,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1342,8 +1455,16 @@ preserved in the sign of zero; that is,
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: </p>
<p><code><em>exponent</em></code>: </p>
<dl>
<dt><code>base</code></dt>
<dd>
</dd>
<dt><code>exponent</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>

View File

@ -381,8 +381,16 @@ operator. For example:</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>numerator</em></code>: <p>The new value&rsquo;s numerator.</p></p>
<p><code><em>denominator</em></code>: <p>The new value&rsquo;s denominator.</p></p>
<dl>
<dt><code>numerator</code></dt>
<dd>
<p>The new value&rsquo;s numerator.</p>
</dd>
<dt><code>denominator</code></dt>
<dd>
<p>The new value&rsquo;s denominator.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -410,7 +418,12 @@ operator. For example:</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A binary integer to convert to a rational value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>A binary integer to convert to a rational value.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -438,7 +451,12 @@ two signed integers of type <code>T</code>, a runtime error may occur.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A binary floating-point value to convert to a rational value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>A binary floating-point value to convert to a rational value.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -482,7 +500,12 @@ two signed integers of type <code>T</code>, the result is <code>nil</code>.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A floating-point value to convert to a rational value.</p></p>
<dl>
<dt><code>source</code></dt>
<dd>
<p>A floating-point value to convert to a rational value.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -574,8 +597,16 @@ trapping in case of arithmetic overflow.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: <p>The value to divide.</p></p>
<p><code><em>rhs</em></code>: <p>The value by which to divide <code>lhs</code>.</p></p>
<dl>
<dt><code>lhs</code></dt>
<dd>
<p>The value to divide.</p>
</dd>
<dt><code>rhs</code></dt>
<dd>
<p>The value by which to divide <code>lhs</code>.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -601,8 +632,16 @@ in the left-hand side, trapping in case of arithmetic overflow.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: <p>The value to divide.</p></p>
<p><code><em>rhs</em></code>: <p>The value by which to divide <code>lhs</code>.</p></p>
<dl>
<dt><code>lhs</code></dt>
<dd>
<p>The value to divide.</p>
</dd>
<dt><code>rhs</code></dt>
<dd>
<p>The value by which to divide <code>lhs</code>.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -909,7 +948,12 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>rule</em></code>: <p>The rounding rule to use.</p></p>
<dl>
<dt><code>rule</code></dt>
<dd>
<p>The rounding rule to use.</p>
</dd>
</dl>
</div>
</li>
<li>
@ -954,7 +998,12 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>rule</em></code>: <p>The rounding rule to use.</p></p>
<dl>
<dt><code>rule</code></dt>
<dd>
<p>The rounding rule to use.</p>
</dd>
</dl>
</div>
</li>
</ul>
@ -987,7 +1036,12 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>value</em></code>: </p>
<dl>
<dt><code>value</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -1049,8 +1103,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -1112,8 +1174,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1137,8 +1207,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1162,8 +1240,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1187,8 +1273,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>
@ -1270,7 +1364,12 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: </p>
<dl>
<dt><code>source</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1294,8 +1393,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1319,8 +1426,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1344,8 +1459,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1369,8 +1492,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1394,8 +1525,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
<li>
@ -1419,8 +1558,16 @@ the available rounding rules.</p>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>lhs</em></code>: </p>
<p><code><em>rhs</em></code>: </p>
<dl>
<dt><code>lhs</code></dt>
<dd>
</dd>
<dt><code>rhs</code></dt>
<dd>
</dd>
</dl>
</div>
</li>
</ul>

View File

@ -1,333 +0,0 @@
@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600,700");
*, *::before, *::after {
box-sizing: inherit; }
body {
box-sizing: border-box;
margin: 0;
background: #fff;
color: #333;
font: 16px/24px -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
h1 {
margin: 32px 0 16px;
font-weight: 500;
font-size: 28px;
line-height: 32px; }
h2 {
margin: 32px 0 16px;
font-weight: 500;
font-size: 24px;
line-height: 32px; }
h3 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 20px;
line-height: 24px; }
h4 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px; }
h5 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px;
color: #777; }
h6 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px;
color: #aaaaaa; }
p {
margin: 0 0 16px; }
ul, ol {
margin: 0 0 16px;
padding: 0 0 0 32px; }
blockquote {
margin: 0 0 16px;
border-left: 6px solid #e6e6e6;
border-radius: 4px;
padding: 16px;
background-color: #fafafa;
color: #858585; }
blockquote > p:last-child {
margin-bottom: 0; }
img {
max-width: 100%; }
a {
color: #4183c4;
text-decoration: none; }
a:hover, a:focus {
outline: 0;
text-decoration: underline; }
table {
width: 100%;
overflow: auto;
margin: 0 0 12px;
border-collapse: collapse;
border-spacing: 0;
background: #fff; }
tr:nth-child(2n) {
background-color: #fbfbfb; }
th, td {
border: 1px solid #ddd;
padding: 7px 11px; }
pre {
overflow: auto;
margin: 0 0 16px;
border: 1px solid #e6e6e6;
border-radius: 4px;
padding: calc(12px - 1px) calc(16px - 1px);
background: #f9f9f9;
font-size: inherit;
line-height: inherit;
font-family: "Source Code Pro", Menlo, Consolas, "Liberation Mono", Courier, monospace; }
code {
font-size: 16px;
line-height: 16px;
font-family: "Source Code Pro", Menlo, Consolas, "Liberation Mono", Courier, monospace; }
pre code {
padding: 0;
white-space: pre; }
body > .wrapper {
display: flex;
flex-direction: column; }
@media only screen and (min-width: 1024px) {
body > .wrapper {
flex-direction: row; } }
header {
display: flex;
padding: 8px;
background: #333;
color: #999;
font-size: 14px;
line-height: inherit; }
header p {
margin: 0;
padding: 0 8px; }
header p.primary {
flex: 1; }
header a[href] {
color: #fff; }
nav {
order: 2; }
@media only screen and (min-width: 1024px) {
nav {
order: 1;
flex: 0 0 25%;
max-width: 239px;
overflow: hidden;
border-right: 1px solid #ddd;
padding-bottom: 32px;
background: #fbfbfb;
word-wrap: normal; } }
nav > ul {
margin: 0;
padding: 0;
font-size: 14px;
line-height: inherit;
list-style: none; }
nav > ul > li {
margin: 8px 0;
border-bottom: 1px solid #ddd;
padding: 8px 0 7px 16px; }
nav > ul > li:last-child {
margin-bottom: 0; }
nav > ul > li > p {
margin: 0; }
nav > ul > li > p > a[href] {
color: #333; }
nav > ul > li > ul {
margin: 8px 0;
padding-left: 16px;
list-style: inherit; }
nav > ul > li > ul > li {
white-space: nowrap; }
nav > ul > li > ul > li > a[href] {
color: #808080; }
/*
@keyframes appear {
0% { opacity: 0 }
100% { opacity: 1 }
}
*/
article {
order: 1;
border-bottom: 1px solid #ddd;
padding-bottom: 31px; }
@media only screen and (min-width: 1024px) {
article {
order: 2;
flex: 1 1 auto;
border-bottom: none;
padding-bottom: 32px; } }
article > section {
padding: 0 32px; }
article > section:last-child {
border-bottom: none; }
article > section > .wrapper {
max-width: 720px;
margin: 0 auto; }
.declaration .highlight {
overflow-x: initial;
margin: 0;
border: none;
border-radius: 0;
padding: 0;
background-color: transparent; }
.toc {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background-color: #fbfbfb; }
.toc details {
max-width: 720px;
margin: 0 auto;
padding: 15px 0; }
.toc details[open] > summary {
margin-bottom: 8px;
/*
& ~ * {
animation: appear .2s ease-in-out;
}
*/ }
.toc details[open] > summary::after {
content: ' \2212'; }
.toc details > summary {
display: block;
margin: 0;
padding-bottom: 0;
color: #666666;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
outline: none; }
.toc details > summary::-webkit-details-marker {
display: none; }
.toc details > summary::after {
content: ' +'; }
.toc details > .wrapper {
columns: 1; }
@media only screen and (min-width: 1024px) {
.toc details > .wrapper {
columns: 2;
column-gap: 16px; } }
.toc details > .wrapper p {
margin: 0;
color: #333;
font-weight: 500;
break-after: avoid-column;
-webkit-column-break-after: avoid; }
.toc details > .wrapper p a[href] {
color: inherit; }
.toc details > .wrapper ul {
margin: 0;
padding-left: 0;
color: #b3b3b3;
list-style: square inside; }
.toc details > .wrapper ul a[href] {
color: #808080; }
.group {
border-bottom: 1px solid #ddd;
padding-top: 0; }
.group:last-child {
border-bottom: none; }
.group:last-child > ul > li:last-child {
padding-bottom: 16px; }
.group a[name]::before {
content: "";
display: block; }
.group > ul {
margin: 0;
padding: 0; }
.group > ul > li {
width: 100%;
border-bottom: 1px solid #ddd;
padding: 0 0 15px;
list-style: none; }
.group > ul > li:last-child {
border-bottom: none; }
.group > ul > li .declaration-note {
color: #808080;
font-weight: normal;
font-size: 16px; }
.aside, .language {
overflow-y: hidden;
margin: 16px 0;
border-left: 6px solid #d0d0d0;
border-radius: 4px;
padding: 8px 12px;
background-color: #f7f7f7; }
.aside .aside-title, .language .aside-title {
margin: 0;
padding-bottom: 0;
color: #aaa;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none; }
.aside p:last-child, .language p:last-child {
margin-bottom: 0; }
.language {
border-left: 6px solid #99bcdf;
background-color: #f0f5fa; }
.language .aside-title {
color: #4183c4; }
.aside-warning {
border-left: 6px solid #ffda73;
background-color: #fff8e6; }
.aside-warning .aside-title {
color: #fb0; }
footer {
padding: 16px;
background: #444;
color: #ddd;
font-size: 14px;
line-height: inherit; }
footer p {
margin: 0; }
footer a[href] {
color: #fff; }
html.dash header, html.dash nav {
display: none; }

589
css/jazzy.css.scss Normal file
View File

@ -0,0 +1,589 @@
@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600,700");
// ===========================================================================
// Variables
// ===========================================================================
$unit: 4px;
$body_background: #fff;
$body_text_color: #333;
$body_font_family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
$light_heading_color: #777;
$heading_font_weight: 500;
$link_color: #4183c4;
$border_radius: $unit;
$quote_border: (1.5 * $unit) solid #e6e6e6;
$quote_background_color: #fafafa;
$quote_color: #858585;
$table_border_color: #ddd;
$table_border: 1px solid $table_border_color;
$table_alternate_row_color: #fbfbfb;
$pre_border_width: 1px;
$pre_border_color: #e6e6e6;
$pre_border: $pre_border_width solid $pre_border_color;
$pre_background_color: #f9f9f9;
$code_font_family: "Source Code Pro", Menlo, Consolas, "Liberation Mono", Courier, monospace;
// ----- Header
$header_background_color: #333;
$header_link_color: #fff;
$doc_coverage_color: #999;
// ----- Navigation
$nav_max_width: 60 * $unit - 1px;
$nav_border_width: 1px;
$nav_border: $nav_border_width solid #ddd;
$nav_background_color: #fbfbfb;
$nav_title_color: #333;
$nav_task_color: #808080;
// ----- Content
$content_padding: 8 * $unit;
$content_max_width: 180 * $unit;
$toc_border_width: $nav_border_width;
$toc_border: $nav_border;
$toc_background_color: $nav_background_color;
$toc_title_color: $nav_title_color;
$toc_task_color: $nav_task_color;
$declaration_language_title_color: #4183c4;
$declaration_language_background_color: lighten($declaration_language_title_color, 45%);
$declaration_language_border: (1.5 * $unit) solid lighten($declaration_language_title_color, 22.5%);
$aside_color: #aaa;
$aside_background_color: lighten($aside_color, 30%);
$aside_border: (1.5 * $unit) solid lighten($aside_color, 15%);
$aside_warning_color: #fb0;
$aside_warning_background_color: lighten($aside_warning_color, 45%);
$aside_warning_border: (1.5 * $unit) solid lighten($aside_warning_color, 22.5%);
// ----- Footer
$footer_background_color: #444;
$footer_text_color: #ddd;
$footer_link_color: #fff;
// ===========================================================================
// Mixins
// ===========================================================================
@mixin heading($font-size: 4 * $unit, $line-height: 6 * $unit, $margin: (6 * $unit) 0 (4 * $unit)) {
margin: $margin;
font-weight: $heading_font_weight;
font-size: $font-size;
line-height: $line-height;
}
@mixin media {
@media only screen and (min-width: $nav_max_width + $nav_border_width + $content_max_width + $content_padding * 2) {
@content;
}
}
// ===========================================================================
// Base
// ===========================================================================
*, *::before, *::after {
box-sizing: inherit;
}
body {
box-sizing: border-box;
margin: 0;
background: $body_background;
color: $body_text_color;
font: #{4 * $unit}/#{6 * $unit} $body_font_family;
}
// ----- Block elements
h1 {
@include heading(7 * $unit, 8 * $unit, (8 * $unit) 0 (4 * $unit));
}
h2 {
@include heading(6 * $unit, 8 * $unit, (8 * $unit) 0 (4 * $unit));
}
h3 {
@include heading(5 * $unit);
}
h4 {
@include heading;
}
h5 {
@include heading;
color: $light_heading_color;
}
h6 {
@include heading;
color: lighten($light_heading_color, 20%);
}
p {
margin: 0 0 4 * $unit;
}
ul, ol {
margin: 0 0 4 * $unit;
padding: 0 0 0 8 * $unit;
}
blockquote {
margin: 0 0 4 * $unit;
border-left: $quote_border;
border-radius: $border_radius;
padding: 4 * $unit;
background-color: $quote_background_color;
color: $quote_color;
> p:last-child {
margin-bottom: 0;
}
}
dl {
margin: 0;
padding: 0;
}
dt {
margin: 0 0 4 * $unit;
padding: 0;
font-weight: $heading_font_weight;
}
dd {
margin: 0 0 4 * unit;
padding: 0 0 0 2 * unit;
}
// ----- Inline elements
img {
max-width: 100%;
}
a {
color: $link_color;
text-decoration: none;
&:hover, &:focus {
outline: 0;
text-decoration: underline;
}
}
// ----- Tables
table {
width: 100%;
overflow: auto;
margin: 0 0 3 * $unit;
border-collapse: collapse;
border-spacing: 0;
background: $body_background;
}
tr:nth-child(2n) {
background-color: $table_alternate_row_color;
}
th, td {
border: 1px solid $table_border_color;
padding: (2 * $unit - 1px) (3 * $unit - 1px);
}
// ----- Code
pre {
overflow: auto;
margin: 0 0 4 * $unit;
border: $pre_border;
border-radius: $border_radius;
padding: calc(#{3 * $unit} - #{$pre_border_width}) calc(#{4 * $unit} - #{$pre_border_width});
background: $pre_background_color;
font-size: inherit;
line-height: inherit;
font-family: $code_font_family;
}
code {
font-size: 4 * $unit;
line-height: 4 * $unit;
font-family: $code_font_family;
}
pre code {
padding: 0;
white-space: pre;
}
// ===========================================================================
// Layout
// ===========================================================================
body > .wrapper {
display: flex;
flex-direction: column;
@include media {
flex-direction: row;
}
}
// ===========================================================================
// Header
// ===========================================================================
header {
display: flex;
padding: 2 * $unit;
background: $header_background_color;
color: $doc_coverage_color;
font-size: 3.5 * $unit;
line-height: inherit;
}
header p {
margin: 0;
padding: 0 2 * $unit;
}
header p.primary {
flex: 1;
}
header a[href] {
color: $header_link_color;
}
// ===========================================================================
// Navigation
// ===========================================================================
nav {
order: 2;
@include media {
order: 1;
flex: 0 0 25%;
max-width: $nav_max_width;
overflow: hidden;
border-right: $nav_border;
padding-bottom: $content_padding;
background: $nav_background_color;
word-wrap: normal;
}
> ul {
margin: 0;
padding: 0;
font-size: 3.5 * $unit;
line-height: inherit;
list-style: none;
> li {
margin: 2 * $unit 0;
border-bottom: $nav_border;
padding: (2 * $unit) 0 (2 * $unit - $nav_border_width) (4 * $unit);
&:last-child {
margin-bottom: 0;
}
> p {
margin: 0;
> a[href] {
color: $nav_title_color;
}
}
> ul {
margin: (2 * $unit) 0;
padding-left: (4 * $unit);
list-style: inherit;
> li {
white-space: nowrap;
> a[href] {
color: $nav_task_color;
}
}
}
}
}
}
// ===========================================================================
// Content
// ===========================================================================
/*
@keyframes appear {
0% { opacity: 0 }
100% { opacity: 1 }
}
*/
article {
order: 1;
border-bottom: $nav_border;
padding-bottom: $content_padding - $nav_border_width;
@include media {
order: 2;
flex: 1 1 auto;
border-bottom: none;
padding-bottom: $content_padding;
}
> section {
padding: 0 $content_padding;
&:last-child {
border-bottom: none;
}
> .wrapper {
max-width: $content_max_width;
margin: 0 auto;
}
}
}
.declaration .highlight {
overflow-x: initial; // This allows the scrollbar to be displayed
margin: 0;
border: none;
border-radius: 0;
padding: 0;
background-color: transparent;
}
.toc {
border-top: $toc_border;
border-bottom: $toc_border;
background-color: $toc_background_color;
details {
max-width: $content_max_width;
margin: 0 auto;
padding: 4 * $unit - $toc_border_width 0;
&[open] {
> summary {
margin-bottom: 2 * $unit;
&::after {
content: ' \2212';
}
/*
& ~ * {
animation: appear .2s ease-in-out;
}
*/
}
}
> summary {
display: block;
margin: 0;
padding-bottom: 0;
color: lighten($toc_title_color, 20%);
font-weight: $heading_font_weight;
font-size: 3 * $unit;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
outline: none;
&::-webkit-details-marker {
display: none;
}
&::after {
content: ' +';
}
}
> .wrapper {
columns: 1;
@include media {
columns: 2;
column-gap: 4 * $unit;
}
p {
margin: 0;
color: $toc_title_color;
font-weight: $heading_font_weight;
break-after: avoid-column;
-webkit-column-break-after: avoid;
a[href] {
color: inherit;
}
}
ul {
margin: 0;
padding-left: 0;
color: lighten($toc_task_color, 20%);
list-style: square inside;
a[href] {
color: $toc_task_color;
}
}
}
}
}
.group {
border-bottom: $nav_border;
padding-top: 0;
&:last-child {
border-bottom: none;
> ul > li:last-child {
padding-bottom: 4 * $unit;
}
}
a[name] {
&::before {
content: "";
display: block;
}
}
> ul {
margin: 0;
padding: 0;
> li {
width: 100%;
border-bottom: $nav_border;
padding: 0 0 (4 * $unit - $nav_border_width);
list-style: none;
&:last-child {
border-bottom: none;
}
.declaration-note {
color: #808080;
font-weight: normal;
font-size: 4 * $unit;
}
}
}
}
.aside, .language {
overflow-y: hidden;
margin: 4 * $unit 0;
border-left: $aside_border;
border-radius: $border_radius;
padding: (2 * $unit) (3 * $unit);
background-color: $aside_background_color;
.aside-title {
margin: 0;
padding-bottom: 0;
color: $aside_color;
font-weight: $heading_font_weight;
font-size: 3 * $unit;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
}
p:last-child {
margin-bottom: 0;
}
}
.language {
border-left: $declaration_language_border;
background-color: $declaration_language_background_color;
.aside-title {
color: $declaration_language_title_color;
}
}
.aside-warning {
border-left: $aside_warning_border;
background-color: $aside_warning_background_color;
.aside-title {
color: $aside_warning_color;
}
}
// ===========================================================================
// Footer
// ===========================================================================
footer {
padding: 4 * $unit;
background: $footer_background_color;
color: $footer_text_color;
font-size: 3.5 * $unit;
line-height: inherit;
p {
margin: 0;
}
a[href] {
color: $footer_link_color;
}
}
// ===========================================================================
// Dash
// ===========================================================================
html.dash {
header, nav {
display: none;
}
}

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.jazzy.numericannex</string>
<key>CFBundleName</key>
<string>NumericAnnex</string>
<key>DocSetPlatformFamily</key>
<string>numericannex</string>
<key>isDashDocset</key>
<true/>
<key>dashIndexFilePath</key>
<string>index.html</string>
<key>isJavaScriptEnabled</key>
<true/>
<key>DashDocSetFamily</key>
<string>dashtoc</string>
</dict>
</plist>

View File

@ -1,213 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Classes Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Classes Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Classes</h1>
<p>The following classes are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex6RandomC">Random</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC"></a>
<a name="//apple_ref/swift/Class/Random" class="dashAnchor"></a>
<h4>
<code>Random</code>
</h4>
</div>
<div class="abstract">
<p>A pseudo-random number generator (PRNG) that implements
<a href="http://vigna.di.unimi.it/ftp/papers/xorshiftplus.pdf"><code>xorshift128+</code></a>, an efficient linear-feedback shift register.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
Once seeded from cryptographically secure random bytes, an
instance of <code>Random</code> generates high-quality random numbers but is <em>not</em> a
cryptographically secure PRNG.
</div>
<p>To generate random numbers, create your own instance of <code>Random</code> with an
internal state seeded from cryptographically secure random bytes:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">random</span> <span class="o">=</span> <span class="kt">Random</span><span class="p">()</span><span class="o">!</span>
<span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">()</span> <span class="k">as</span> <span class="kt">Int</span>
<span class="c1">// You can also pass the desired result type as an argument.</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="kt">Int</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="n">y</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between 0 and 42 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">42</span><span class="p">))</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between -42 and 0 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="o">-</span><span class="mi">42</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">0</span><span class="p">))</span>
<span class="p">}</span>
</code></pre>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="Classes/Random/Xoroshiro.html">Random.Xoroshiro</a></code>, <code><a href="Protocols/PRNG.html">PRNG</a></code>
</div>
<a href="Classes/Random.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Random</span> <span class="p">:</span> <span class="kt"><a href="Protocols/PRNG.html">PRNG</a></span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,351 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Random Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/Random" class="dashAnchor"></a>
<a title="Random Class Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Random</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Random</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/PRNG.html">PRNG</a></span></code></pre>
</div>
</div>
<p>A pseudo-random number generator (PRNG) that implements
<a href="http://vigna.di.unimi.it/ftp/papers/xorshiftplus.pdf"><code>xorshift128+</code></a>, an efficient linear-feedback shift register.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
Once seeded from cryptographically secure random bytes, an
instance of <code>Random</code> generates high-quality random numbers but is <em>not</em> a
cryptographically secure PRNG.
</div>
<p>To generate random numbers, create your own instance of <code>Random</code> with an
internal state seeded from cryptographically secure random bytes:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">random</span> <span class="o">=</span> <span class="kt">Random</span><span class="p">()</span><span class="o">!</span>
<span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">()</span> <span class="k">as</span> <span class="kt">Int</span>
<span class="c1">// You can also pass the desired result type as an argument.</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="kt">Int</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="n">y</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between 0 and 42 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">42</span><span class="p">))</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between -42 and 0 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="o">-</span><span class="mi">42</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">0</span><span class="p">))</span>
<span class="p">}</span>
</code></pre>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Classes/Random/Xoroshiro.html">Random.Xoroshiro</a></code>, <code><a href="../Protocols/PRNG.html">PRNG</a></code>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex6RandomC5states6UInt64V_AFtv">state</a></li>
<li><a href="#/s:12NumericAnnex6RandomCACs6UInt64V_AEt5state_tcfc">init(state:)</a></li>
<li><a href="#/s:12NumericAnnex6RandomCACSgycfc">init()</a></li>
<li><a href="#/s:s16IteratorProtocolP4next7ElementQzSgyF">next()</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex6RandomC9XoroshiroC">Xoroshiro</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC5states6UInt64V_AFtv"></a>
<a name="//apple_ref/swift/Property/state" class="dashAnchor"></a>
<h4>
<code>state</code>
</h4>
</div>
<div class="abstract">
<p>The internal state of the pseudo-random number generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">state</span><span class="p">:</span> <span class="p">(</span><span class="kt">UInt64</span><span class="p">,</span> <span class="kt">UInt64</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex6RandomCACs6UInt64V_AEt5state_tcfc"></a>
<a name="//apple_ref/swift/Method/init(state:)" class="dashAnchor"></a>
<h4>
<code>init(state:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with the given internal state.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="p">(</span><span class="kt">UInt64</span><span class="p">,</span> <span class="kt">UInt64</span><span class="p">))</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex6RandomCACSgycfc"></a>
<a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
<h4>
<code>init()</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with an internal state seeded
using cryptographically secure random bytes.</p>
<p>If cryptographically secure random bytes are unavailable, the result is
<code>nil</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?()</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s16IteratorProtocolP4next7ElementQzSgyF"></a>
<a name="//apple_ref/swift/Method/next()" class="dashAnchor"></a>
<h4>
<code>next()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">next</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">UInt64</span><span class="p">?</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC9XoroshiroC"></a>
<a name="//apple_ref/swift/Class/Xoroshiro" class="dashAnchor"></a>
<h4>
<code>Xoroshiro</code>
</h4>
</div>
<div class="abstract">
<p>A pseudo-random number generator (PRNG) that implements <code>xoroshiro128+</code>, a
successor to <code>xorshift128+</code> devised by S. Vigna and D. Blackman.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
Once seeded from cryptographically secure random bytes, an
instance of <code>Random.Xoroshiro</code> generates high-quality random numbers but
is <em>not</em> a cryptographically secure PRNG.
</div>
<p>To generate random numbers, create your own instance of <code>Random.Xoroshiro</code>
with an internal state seeded from cryptographically secure random bytes:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">random</span> <span class="o">=</span> <span class="kt">Random</span><span class="o">.</span><span class="kt">Xoroshiro</span><span class="p">()</span><span class="o">!</span>
<span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">()</span> <span class="k">as</span> <span class="kt">Int</span>
<span class="c1">// You can also pass the desired result type as an argument.</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="kt">Int</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="n">y</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between 0 and 42 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">42</span><span class="p">))</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between -42 and 0 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="o">-</span><span class="mi">42</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">0</span><span class="p">))</span>
<span class="p">}</span>
</code></pre>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Classes/Random.html">Random</a></code>, <code><a href="../Protocols/PRNG.html">PRNG</a></code>
</div>
<a href="../Classes/Random/Xoroshiro.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Xoroshiro</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/PRNG.html">PRNG</a></span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,292 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Xoroshiro Class Reference</title>
<link rel="stylesheet" type="text/css" href="../../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../../css/jazzy.css">
<script src="../../js/jquery.min.js" defer></script>
<script src="../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/Xoroshiro" class="dashAnchor"></a>
<a title="Xoroshiro Class Reference"></a>
<header>
<p class="primary">
<a href="../../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../../Classes/Random.html">Random</a>
</li>
<li>
<a href="../../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Xoroshiro</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Xoroshiro</span> <span class="p">:</span> <span class="kt"><a href="../../Protocols/PRNG.html">PRNG</a></span></code></pre>
</div>
</div>
<p>A pseudo-random number generator (PRNG) that implements <code>xoroshiro128+</code>, a
successor to <code>xorshift128+</code> devised by S. Vigna and D. Blackman.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
Once seeded from cryptographically secure random bytes, an
instance of <code>Random.Xoroshiro</code> generates high-quality random numbers but
is <em>not</em> a cryptographically secure PRNG.
</div>
<p>To generate random numbers, create your own instance of <code>Random.Xoroshiro</code>
with an internal state seeded from cryptographically secure random bytes:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">random</span> <span class="o">=</span> <span class="kt">Random</span><span class="o">.</span><span class="kt">Xoroshiro</span><span class="p">()</span><span class="o">!</span>
<span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">()</span> <span class="k">as</span> <span class="kt">Int</span>
<span class="c1">// You can also pass the desired result type as an argument.</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="kt">Int</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="n">y</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between 0 and 42 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">42</span><span class="p">))</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nf">print</span><span class="p">(</span><span class="s">"Here's a random value between -42 and 0 (inclusive):"</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="nf">uniform</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="o">-</span><span class="mi">42</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="mi">0</span><span class="p">))</span>
<span class="p">}</span>
</code></pre>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../../Classes/Random.html">Random</a></code>, <code><a href="../../Protocols/PRNG.html">PRNG</a></code>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex6RandomC9XoroshiroC5states6UInt64V_AHtv">state</a></li>
<li><a href="#/s:12NumericAnnex6RandomC9XoroshiroCAEs6UInt64V_AGt5state_tcfc">init(state:)</a></li>
<li><a href="#/s:12NumericAnnex6RandomC9XoroshiroCAESgycfc">init()</a></li>
<li><a href="#/s:s16IteratorProtocolP4next7ElementQzSgyF">next()</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC9XoroshiroC5states6UInt64V_AHtv"></a>
<a name="//apple_ref/swift/Property/state" class="dashAnchor"></a>
<h4>
<code>state</code>
</h4>
</div>
<div class="abstract">
<p>The internal state of the pseudo-random number generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">state</span><span class="p">:</span> <span class="p">(</span><span class="kt">UInt64</span><span class="p">,</span> <span class="kt">UInt64</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC9XoroshiroCAEs6UInt64V_AGt5state_tcfc"></a>
<a name="//apple_ref/swift/Method/init(state:)" class="dashAnchor"></a>
<h4>
<code>init(state:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with the given internal state.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="p">(</span><span class="kt">UInt64</span><span class="p">,</span> <span class="kt">UInt64</span><span class="p">))</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex6RandomC9XoroshiroCAESgycfc"></a>
<a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
<h4>
<code>init()</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with an internal state seeded
using cryptographically secure random bytes.</p>
<p>If cryptographically secure random bytes are unavailable, the result is
<code>nil</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?()</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s16IteratorProtocolP4next7ElementQzSgyF"></a>
<a name="//apple_ref/swift/Method/next()" class="dashAnchor"></a>
<h4>
<code>next()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">next</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">UInt64</span><span class="p">?</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,282 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Extensions Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Extensions Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Extensions</h1>
<p>The following extensions are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:s13BinaryIntegerP">BinaryInteger</a></li>
<li><a href="#/s:s15UnsignedIntegerP">UnsignedInteger</a></li>
</ul>
<ul>
<li><a href="#/s:Sf">Float</a></li>
<li><a href="#/s:Sd">Double</a></li>
</ul>
<ul>
<li><a href="#/s:s13FloatingPointP">FloatingPoint</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP"></a>
<a name="//apple_ref/swift/Extension/BinaryInteger" class="dashAnchor"></a>
<h4>
<code>BinaryInteger</code>
</h4>
</div>
<div class="abstract">
<a href="Extensions/BinaryInteger.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">BinaryInteger</span> <span class="p">:</span> <span class="kt">Hashable</span><span class="p">,</span> <span class="kt">Numeric</span><span class="p">,</span> <span class="kt">CustomStringConvertible</span><span class="p">,</span> <span class="kt">Strideable</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s15UnsignedIntegerP"></a>
<a name="//apple_ref/swift/Extension/UnsignedInteger" class="dashAnchor"></a>
<h4>
<code>UnsignedInteger</code>
</h4>
</div>
<div class="abstract">
<a href="Extensions/UnsignedInteger.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">UnsignedInteger</span> <span class="p">:</span> <span class="kt">BinaryInteger</span> <span class="k">where</span> <span class="k">Self</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">BinaryInteger</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:Sf"></a>
<a name="//apple_ref/swift/Extension/Float" class="dashAnchor"></a>
<h4>
<code>Float</code>
</h4>
</div>
<div class="abstract">
<a href="Extensions/Float.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">struct</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:Sd"></a>
<a name="//apple_ref/swift/Extension/Double" class="dashAnchor"></a>
<h4>
<code>Double</code>
</h4>
</div>
<div class="abstract">
<a href="Extensions/Double.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">struct</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:s13FloatingPointP"></a>
<a name="//apple_ref/swift/Extension/FloatingPoint" class="dashAnchor"></a>
<h4>
<code>FloatingPoint</code>
</h4>
</div>
<div class="abstract">
<a href="Extensions/FloatingPoint.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">FloatingPoint</span> <span class="p">:</span> <span class="kt">SignedNumeric</span><span class="p">,</span> <span class="kt">Strideable</span><span class="p">,</span> <span class="kt">Hashable</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,475 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>BinaryInteger Extension Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Extension/BinaryInteger" class="dashAnchor"></a>
<a title="BinaryInteger Extension Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>BinaryInteger</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">BinaryInteger</span> <span class="p">:</span> <span class="kt">Hashable</span><span class="p">,</span> <span class="kt">Numeric</span><span class="p">,</span> <span class="kt">CustomStringConvertible</span><span class="p">,</span> <span class="kt">Strideable</span></code></pre>
</div>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<p><a href="#/Exponentiation">Exponentiation</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexE3powxx_xtFZ">pow(_:_:)</a></li>
</ul>
<p><a href="#/Square%20Root">Square Root</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexE4sqrtxxFZ">sqrt(_:)</a></li>
</ul>
<p><a href="#/Cube%20Root">Cube Root</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE4cbrtxxFZ">cbrt(_:)</a></li>
</ul>
<p><a href="#/Factoring">Factoring</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE3gcdxx_xtFZ">gcd(_:_:)</a></li>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE3lcmxx_xtFZ">lcm(_:_:)</a></li>
</ul>
<p><a href="#/Factoring%20(Fixed-Width)">Factoring (Fixed-Width)</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE20gcdReportingOverflowx12partialValue_Sb8overflowtx_xtFZ">gcdReportingOverflow(_:_:)</a></li>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE20lcmReportingOverflowx12partialValue_Sb8overflowtx_xtFZ">lcmReportingOverflow(_:_:)</a></li>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE07lcmFullF0x4high_AF3lowtx_xtFZ">lcmFullWidth(_:_:)</a></li>
</ul>
<p><a href="#/Initializers">Initializers</a></p>
<ul>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexExSgAC8RationalVyqd__G7exactly_tcs9DecodableRd__s9EncodableRd__s06SignedB0Rd__s021_ExpressibleByBuiltinB7LiteralRd__s08UnsignedB09Magnitudes0C0PRpd__AnP_ANQYd__AQRSlufc">init(exactly:)</a></li>
<li><a href="#/s:s13BinaryIntegerP12NumericAnnexExAC8RationalVyqd__Gcs9DecodableRd__s9EncodableRd__s06SignedB0Rd__s021_ExpressibleByBuiltinB7LiteralRd__s08UnsignedB09Magnitudes0C0PRpd__AlN_ALQYd__AORSlufc">init(_:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<div>
<a name="/Exponentiation"></a>
<a name="//apple_ref/swift/Section/Exponentiation" class="dashAnchor"></a>
<h3>Exponentiation</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexE3powxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/pow(_:_:)" class="dashAnchor"></a>
<h4>
<code>pow(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the result of raising <code>base</code> to the power of <code>exponent</code>, rounded
to a representable value.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">pow</span><span class="p">(</span><span class="n">_</span> <span class="nv">base</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">exponent</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Square%20Root"></a>
<a name="//apple_ref/swift/Section/Square Root" class="dashAnchor"></a>
<h3>Square Root</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexE4sqrtxxFZ"></a>
<a name="//apple_ref/swift/Method/sqrt(_:)" class="dashAnchor"></a>
<h4>
<code>sqrt(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the square root of <code>x</code>, rounding toward zero. If <code>x</code> is negative,
a runtime error may occur.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">sqrt</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Cube%20Root"></a>
<a name="//apple_ref/swift/Section/Cube Root" class="dashAnchor"></a>
<h3>Cube Root</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE4cbrtxxFZ"></a>
<a name="//apple_ref/swift/Method/cbrt(_:)" class="dashAnchor"></a>
<h4>
<code>cbrt(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the cube root of <code>x</code>, rounding toward zero.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">cbrt</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Factoring"></a>
<a name="//apple_ref/swift/Section/Factoring" class="dashAnchor"></a>
<h3>Factoring</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE3gcdxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/gcd(_:_:)" class="dashAnchor"></a>
<h4>
<code>gcd(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the greatest common divisor of <code>a</code> and <code>b</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">gcd</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexsAARzs08UnsignedB09MagnitudeRpzlE3lcmxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcm(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcm(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the least common multiple of <code>a</code> and <code>b</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcm</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Factoring%20(Fixed-Width)"></a>
<a name="//apple_ref/swift/Section/Factoring (Fixed-Width)" class="dashAnchor"></a>
<h3>Factoring (Fixed-Width)</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE20gcdReportingOverflowx12partialValue_Sb8overflowtx_xtFZ"></a>
<a name="//apple_ref/swift/Method/gcdReportingOverflow(_:_:)" class="dashAnchor"></a>
<h4>
<code>gcdReportingOverflow(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the greatest common divisor of <code>a</code> and <code>b</code> and a flag to indicate
whether overflow occurred during the operation.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">gcdReportingOverflow</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span>
<span class="o">-&gt;</span> <span class="p">(</span><span class="nv">partialValue</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="nv">overflow</span><span class="p">:</span> <span class="kt">Bool</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE20lcmReportingOverflowx12partialValue_Sb8overflowtx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcmReportingOverflow(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcmReportingOverflow(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the least common multiple of <code>a</code> and <code>b</code> and a flag to indicate
whether overflow occurred during the operation.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcmReportingOverflow</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span>
<span class="o">-&gt;</span> <span class="p">(</span><span class="nv">partialValue</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="nv">overflow</span><span class="p">:</span> <span class="kt">Bool</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexs010FixedWidthB0RzsAD9MagnitudeRpzs08UnsignedB0AFRQAE_AEs0C0PQZAFRSlE07lcmFullF0x4high_AF3lowtx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcmFullWidth(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcmFullWidth(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the high and low parts of the least common multiple of <code>a</code> and <code>b</code>
computed using full-width arithmetic.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcmFullWidth</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span>
<span class="o">-&gt;</span> <span class="p">(</span><span class="nv">high</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="nv">low</span><span class="p">:</span> <span class="k">Self</span><span class="o">.</span><span class="kt">Magnitude</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<h3>Initializers</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexExSgAC8RationalVyqd__G7exactly_tcs9DecodableRd__s9EncodableRd__s06SignedB0Rd__s021_ExpressibleByBuiltinB7LiteralRd__s08UnsignedB09Magnitudes0C0PRpd__AnP_ANQYd__AQRSlufc"></a>
<a name="//apple_ref/swift/Method/init(exactly:)" class="dashAnchor"></a>
<h4>
<code>init(exactly:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new binary integer from the given rational value, if it can be
represented exactly.</p>
<p>If <code>source</code> is not representable exactly, the result is <code>nil</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="p">?</span><span class="o">&lt;</span><span class="kt">U</span><span class="o">&gt;</span><span class="p">(</span><span class="n">exactly</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">U</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A rational value to convert to a binary integer.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:s13BinaryIntegerP12NumericAnnexExAC8RationalVyqd__Gcs9DecodableRd__s9EncodableRd__s06SignedB0Rd__s021_ExpressibleByBuiltinB7LiteralRd__s08UnsignedB09Magnitudes0C0PRpd__AlN_ALQYd__AORSlufc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new binary integer from the given rational value, rounding
toward zero.</p>
<p>If <code>source</code> is outside the bounds of this type after rounding toward zero,
a runtime error may occur.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="o">&lt;</span><span class="kt">U</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">U</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>A rational value to convert to a binary integer.</p></p>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,816 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Double Extension Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Extension/Double" class="dashAnchor"></a>
<a title="Double Extension Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Double</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">struct</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<p><a href="#/Real">Real</a></p>
<ul>
<li><a href="#/s:12NumericAnnex4MathP1exvZ">e</a></li>
<li><a href="#/s:12NumericAnnex4MathP3phixvZ">phi</a></li>
<li><a href="#/s:12NumericAnnex4MathP3powxx_xtFZ">pow(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4MathP18naturalExponentialxyF">naturalExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17binaryExponentialxyF">binaryExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17commonExponentialxyF">commonExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP26naturalExponentialMinusOnexyF">naturalExponentialMinusOne()</a></li>
<li><a href="#/s:12NumericAnnex4MathP16naturalLogarithmxyF">naturalLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP15binaryLogarithmxyF">binaryLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP15commonLogarithmxyF">commonLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP23naturalLogarithmOnePlusxyF">naturalLogarithmOnePlus()</a></li>
<li><a href="#/s:12NumericAnnex4MathP8cubeRootxyF">cubeRoot()</a></li>
<li><a href="#/s:12NumericAnnex4MathP4sinexyF">sine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP6cosinexyF">cosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP7tangentxyF">tangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP11inverseSinexyF">inverseSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP13inverseCosinexyF">inverseCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP14inverseTangentxyF">inverseTangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP14hyperbolicSinexyF">hyperbolicSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP16hyperbolicCosinexyF">hyperbolicCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17hyperbolicTangentxyF">hyperbolicTangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP21inverseHyperbolicSinexyF">inverseHyperbolicSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP23inverseHyperbolicCosinexyF">inverseHyperbolicCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP24inverseHyperbolicTangentxyF">inverseHyperbolicTangent()</a></li>
<li><a href="#/s:12NumericAnnex4RealP5hypotxx_xtFZ">hypot(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF">inverseTangent(dividingBy:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP5errorxyF">error()</a></li>
<li><a href="#/s:12NumericAnnex4RealP18complementaryErrorxyF">complementaryError()</a></li>
<li><a href="#/s:12NumericAnnex4RealP5gammaxyF">gamma()</a></li>
<li><a href="#/s:12NumericAnnex4RealP16logarithmicGammaxyF">logarithmicGamma()</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<div>
<a name="/Real"></a>
<a name="//apple_ref/swift/Section/Real" class="dashAnchor"></a>
<h3>Real</h3>
</div>
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4MathP1exvZ"></a>
<a name="//apple_ref/swift/Variable/e" class="dashAnchor"></a>
<h4>
<code>e</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">e</span><span class="p">:</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP3phixvZ"></a>
<a name="//apple_ref/swift/Variable/phi" class="dashAnchor"></a>
<h4>
<code>phi</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">phi</span><span class="p">:</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP3powxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/pow(_:_:)" class="dashAnchor"></a>
<h4>
<code>pow(_:_:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">pow</span><span class="p">(</span><span class="n">_</span> <span class="nv">base</span><span class="p">:</span> <span class="kt">Double</span><span class="p">,</span> <span class="n">_</span> <span class="nv">exponent</span><span class="p">:</span> <span class="kt">Double</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: </p>
<p><code><em>exponent</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP18naturalExponentialxyF"></a>
<a name="//apple_ref/swift/Method/naturalExponential()" class="dashAnchor"></a>
<h4>
<code>naturalExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17binaryExponentialxyF"></a>
<a name="//apple_ref/swift/Method/binaryExponential()" class="dashAnchor"></a>
<h4>
<code>binaryExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">binaryExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17commonExponentialxyF"></a>
<a name="//apple_ref/swift/Method/commonExponential()" class="dashAnchor"></a>
<h4>
<code>commonExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">commonExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP26naturalExponentialMinusOnexyF"></a>
<a name="//apple_ref/swift/Method/naturalExponentialMinusOne()" class="dashAnchor"></a>
<h4>
<code>naturalExponentialMinusOne()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalExponentialMinusOne</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP16naturalLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/naturalLogarithm()" class="dashAnchor"></a>
<h4>
<code>naturalLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP15binaryLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/binaryLogarithm()" class="dashAnchor"></a>
<h4>
<code>binaryLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">binaryLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP15commonLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/commonLogarithm()" class="dashAnchor"></a>
<h4>
<code>commonLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">commonLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP23naturalLogarithmOnePlusxyF"></a>
<a name="//apple_ref/swift/Method/naturalLogarithmOnePlus()" class="dashAnchor"></a>
<h4>
<code>naturalLogarithmOnePlus()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalLogarithmOnePlus</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP8cubeRootxyF"></a>
<a name="//apple_ref/swift/Method/cubeRoot()" class="dashAnchor"></a>
<h4>
<code>cubeRoot()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cubeRoot</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP4sinexyF"></a>
<a name="//apple_ref/swift/Method/sine()" class="dashAnchor"></a>
<h4>
<code>sine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP6cosinexyF"></a>
<a name="//apple_ref/swift/Method/cosine()" class="dashAnchor"></a>
<h4>
<code>cosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP7tangentxyF"></a>
<a name="//apple_ref/swift/Method/tangent()" class="dashAnchor"></a>
<h4>
<code>tangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">tangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP11inverseSinexyF"></a>
<a name="//apple_ref/swift/Method/inverseSine()" class="dashAnchor"></a>
<h4>
<code>inverseSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP13inverseCosinexyF"></a>
<a name="//apple_ref/swift/Method/inverseCosine()" class="dashAnchor"></a>
<h4>
<code>inverseCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP14inverseTangentxyF"></a>
<a name="//apple_ref/swift/Method/inverseTangent()" class="dashAnchor"></a>
<h4>
<code>inverseTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP14hyperbolicSinexyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicSine()" class="dashAnchor"></a>
<h4>
<code>hyperbolicSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP16hyperbolicCosinexyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicCosine()" class="dashAnchor"></a>
<h4>
<code>hyperbolicCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17hyperbolicTangentxyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicTangent()" class="dashAnchor"></a>
<h4>
<code>hyperbolicTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP21inverseHyperbolicSinexyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicSine()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP23inverseHyperbolicCosinexyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicCosine()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP24inverseHyperbolicTangentxyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicTangent()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5hypotxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/hypot(_:_:)" class="dashAnchor"></a>
<h4>
<code>hypot(_:_:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">hypot</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Double</span><span class="p">,</span> <span class="n">_</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Double</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: </p>
<p><code><em>y</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF"></a>
<a name="//apple_ref/swift/Method/inverseTangent(dividingBy:)" class="dashAnchor"></a>
<h4>
<code>inverseTangent(dividingBy:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseTangent</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">other</span><span class="p">:</span> <span class="kt">Double</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5errorxyF"></a>
<a name="//apple_ref/swift/Method/error()" class="dashAnchor"></a>
<h4>
<code>error()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">error</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP18complementaryErrorxyF"></a>
<a name="//apple_ref/swift/Method/complementaryError()" class="dashAnchor"></a>
<h4>
<code>complementaryError()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">complementaryError</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5gammaxyF"></a>
<a name="//apple_ref/swift/Method/gamma()" class="dashAnchor"></a>
<h4>
<code>gamma()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP16logarithmicGammaxyF"></a>
<a name="//apple_ref/swift/Method/logarithmicGamma()" class="dashAnchor"></a>
<h4>
<code>logarithmicGamma()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logarithmicGamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Double</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,816 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Float Extension Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Extension/Float" class="dashAnchor"></a>
<a title="Float Extension Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Float</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">struct</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<p><a href="#/Real">Real</a></p>
<ul>
<li><a href="#/s:12NumericAnnex4MathP1exvZ">e</a></li>
<li><a href="#/s:12NumericAnnex4MathP3phixvZ">phi</a></li>
<li><a href="#/s:12NumericAnnex4MathP3powxx_xtFZ">pow(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4MathP18naturalExponentialxyF">naturalExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17binaryExponentialxyF">binaryExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17commonExponentialxyF">commonExponential()</a></li>
<li><a href="#/s:12NumericAnnex4MathP26naturalExponentialMinusOnexyF">naturalExponentialMinusOne()</a></li>
<li><a href="#/s:12NumericAnnex4MathP16naturalLogarithmxyF">naturalLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP15binaryLogarithmxyF">binaryLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP15commonLogarithmxyF">commonLogarithm()</a></li>
<li><a href="#/s:12NumericAnnex4MathP23naturalLogarithmOnePlusxyF">naturalLogarithmOnePlus()</a></li>
<li><a href="#/s:12NumericAnnex4MathP8cubeRootxyF">cubeRoot()</a></li>
<li><a href="#/s:12NumericAnnex4MathP4sinexyF">sine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP6cosinexyF">cosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP7tangentxyF">tangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP11inverseSinexyF">inverseSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP13inverseCosinexyF">inverseCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP14inverseTangentxyF">inverseTangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP14hyperbolicSinexyF">hyperbolicSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP16hyperbolicCosinexyF">hyperbolicCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP17hyperbolicTangentxyF">hyperbolicTangent()</a></li>
<li><a href="#/s:12NumericAnnex4MathP21inverseHyperbolicSinexyF">inverseHyperbolicSine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP23inverseHyperbolicCosinexyF">inverseHyperbolicCosine()</a></li>
<li><a href="#/s:12NumericAnnex4MathP24inverseHyperbolicTangentxyF">inverseHyperbolicTangent()</a></li>
<li><a href="#/s:12NumericAnnex4RealP5hypotxx_xtFZ">hypot(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF">inverseTangent(dividingBy:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP5errorxyF">error()</a></li>
<li><a href="#/s:12NumericAnnex4RealP18complementaryErrorxyF">complementaryError()</a></li>
<li><a href="#/s:12NumericAnnex4RealP5gammaxyF">gamma()</a></li>
<li><a href="#/s:12NumericAnnex4RealP16logarithmicGammaxyF">logarithmicGamma()</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<div>
<a name="/Real"></a>
<a name="//apple_ref/swift/Section/Real" class="dashAnchor"></a>
<h3>Real</h3>
</div>
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4MathP1exvZ"></a>
<a name="//apple_ref/swift/Variable/e" class="dashAnchor"></a>
<h4>
<code>e</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">e</span><span class="p">:</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP3phixvZ"></a>
<a name="//apple_ref/swift/Variable/phi" class="dashAnchor"></a>
<h4>
<code>phi</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">phi</span><span class="p">:</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP3powxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/pow(_:_:)" class="dashAnchor"></a>
<h4>
<code>pow(_:_:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">pow</span><span class="p">(</span><span class="n">_</span> <span class="nv">base</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="n">_</span> <span class="nv">exponent</span><span class="p">:</span> <span class="kt">Float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>base</em></code>: </p>
<p><code><em>exponent</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP18naturalExponentialxyF"></a>
<a name="//apple_ref/swift/Method/naturalExponential()" class="dashAnchor"></a>
<h4>
<code>naturalExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17binaryExponentialxyF"></a>
<a name="//apple_ref/swift/Method/binaryExponential()" class="dashAnchor"></a>
<h4>
<code>binaryExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">binaryExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17commonExponentialxyF"></a>
<a name="//apple_ref/swift/Method/commonExponential()" class="dashAnchor"></a>
<h4>
<code>commonExponential()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">commonExponential</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP26naturalExponentialMinusOnexyF"></a>
<a name="//apple_ref/swift/Method/naturalExponentialMinusOne()" class="dashAnchor"></a>
<h4>
<code>naturalExponentialMinusOne()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalExponentialMinusOne</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP16naturalLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/naturalLogarithm()" class="dashAnchor"></a>
<h4>
<code>naturalLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP15binaryLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/binaryLogarithm()" class="dashAnchor"></a>
<h4>
<code>binaryLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">binaryLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP15commonLogarithmxyF"></a>
<a name="//apple_ref/swift/Method/commonLogarithm()" class="dashAnchor"></a>
<h4>
<code>commonLogarithm()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">commonLogarithm</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP23naturalLogarithmOnePlusxyF"></a>
<a name="//apple_ref/swift/Method/naturalLogarithmOnePlus()" class="dashAnchor"></a>
<h4>
<code>naturalLogarithmOnePlus()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">naturalLogarithmOnePlus</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP8cubeRootxyF"></a>
<a name="//apple_ref/swift/Method/cubeRoot()" class="dashAnchor"></a>
<h4>
<code>cubeRoot()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cubeRoot</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP4sinexyF"></a>
<a name="//apple_ref/swift/Method/sine()" class="dashAnchor"></a>
<h4>
<code>sine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP6cosinexyF"></a>
<a name="//apple_ref/swift/Method/cosine()" class="dashAnchor"></a>
<h4>
<code>cosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP7tangentxyF"></a>
<a name="//apple_ref/swift/Method/tangent()" class="dashAnchor"></a>
<h4>
<code>tangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">tangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP11inverseSinexyF"></a>
<a name="//apple_ref/swift/Method/inverseSine()" class="dashAnchor"></a>
<h4>
<code>inverseSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP13inverseCosinexyF"></a>
<a name="//apple_ref/swift/Method/inverseCosine()" class="dashAnchor"></a>
<h4>
<code>inverseCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP14inverseTangentxyF"></a>
<a name="//apple_ref/swift/Method/inverseTangent()" class="dashAnchor"></a>
<h4>
<code>inverseTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP14hyperbolicSinexyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicSine()" class="dashAnchor"></a>
<h4>
<code>hyperbolicSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP16hyperbolicCosinexyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicCosine()" class="dashAnchor"></a>
<h4>
<code>hyperbolicCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP17hyperbolicTangentxyF"></a>
<a name="//apple_ref/swift/Method/hyperbolicTangent()" class="dashAnchor"></a>
<h4>
<code>hyperbolicTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">hyperbolicTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP21inverseHyperbolicSinexyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicSine()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicSine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicSine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP23inverseHyperbolicCosinexyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicCosine()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicCosine()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicCosine</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4MathP24inverseHyperbolicTangentxyF"></a>
<a name="//apple_ref/swift/Method/inverseHyperbolicTangent()" class="dashAnchor"></a>
<h4>
<code>inverseHyperbolicTangent()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseHyperbolicTangent</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5hypotxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/hypot(_:_:)" class="dashAnchor"></a>
<h4>
<code>hypot(_:_:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">hypot</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="n">_</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: </p>
<p><code><em>y</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF"></a>
<a name="//apple_ref/swift/Method/inverseTangent(dividingBy:)" class="dashAnchor"></a>
<h4>
<code>inverseTangent(dividingBy:)</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">inverseTangent</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">other</span><span class="p">:</span> <span class="kt">Float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: </p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5errorxyF"></a>
<a name="//apple_ref/swift/Method/error()" class="dashAnchor"></a>
<h4>
<code>error()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">error</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP18complementaryErrorxyF"></a>
<a name="//apple_ref/swift/Method/complementaryError()" class="dashAnchor"></a>
<h4>
<code>complementaryError()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">complementaryError</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5gammaxyF"></a>
<a name="//apple_ref/swift/Method/gamma()" class="dashAnchor"></a>
<h4>
<code>gamma()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP16logarithmicGammaxyF"></a>
<a name="//apple_ref/swift/Method/logarithmicGamma()" class="dashAnchor"></a>
<h4>
<code>logarithmicGamma()</code>
</h4>
</div>
<div class="abstract">
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logarithmicGamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Float</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,332 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>FloatingPoint Extension Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Extension/FloatingPoint" class="dashAnchor"></a>
<a title="FloatingPoint Extension Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>FloatingPoint</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">FloatingPoint</span> <span class="p">:</span> <span class="kt">SignedNumeric</span><span class="p">,</span> <span class="kt">Strideable</span><span class="p">,</span> <span class="kt">Hashable</span></code></pre>
</div>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<p><a href="#/Initializers">Initializers</a></p>
<ul>
<li><a href="#/s:s13FloatingPointP12NumericAnnexExAC8RationalVySiGcfc">init(_:)</a></li>
<li><a href="#/s:s13FloatingPointP12NumericAnnexExAC8RationalVys4Int8VGcfc">init(_:)</a></li>
<li><a href="#/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int16VGcfc">init(_:)</a></li>
<li><a href="#/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int32VGcfc">init(_:)</a></li>
<li><a href="#/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int64VGcfc">init(_:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<div>
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<h3>Initializers</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s13FloatingPointP12NumericAnnexExAC8RationalVySiGcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new floating-point value from the given rational value, after
rounding the whole part, the numerator of the fractional part, and the
denominator of the fractional part each to the closest possible
representation.</p>
<p>If two representable values are equally close, the result of rounding is
the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">Int</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:s13FloatingPointP12NumericAnnexExAC8RationalVys4Int8VGcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new floating-point value from the given rational value, after
rounding the whole part, the numerator of the fractional part, and the
denominator of the fractional part each to the closest possible
representation.</p>
<p>If two representable values are equally close, the result of rounding is
the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">Int8</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int16VGcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new floating-point value from the given rational value, after
rounding the whole part, the numerator of the fractional part, and the
denominator of the fractional part each to the closest possible
representation.</p>
<p>If two representable values are equally close, the result of rounding is
the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">Int16</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int32VGcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new floating-point value from the given rational value, after
rounding the whole part, the numerator of the fractional part, and the
denominator of the fractional part each to the closest possible
representation.</p>
<p>If two representable values are equally close, the result of rounding is
the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">Int32</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:s13FloatingPointP12NumericAnnexExAC8RationalVys5Int64VGcfc"></a>
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
<h4>
<code>init(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a new floating-point value from the given rational value, after
rounding the whole part, the numerator of the fractional part, and the
denominator of the fractional part each to the closest possible
representation.</p>
<p>If two representable values are equally close, the result of rounding is
the value with more trailing zeros in its significand bit pattern.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">Int64</span><span class="o">&gt;</span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>source</em></code>: <p>The rational value to convert to a floating-point value.</p></p>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,310 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>UnsignedInteger Extension Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Extension/UnsignedInteger" class="dashAnchor"></a>
<a title="UnsignedInteger Extension Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>UnsignedInteger</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">protocol</span> <span class="kt">UnsignedInteger</span> <span class="p">:</span> <span class="kt">BinaryInteger</span> <span class="k">where</span> <span class="k">Self</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">BinaryInteger</span></code></pre>
</div>
</div>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<p><a href="#/Cube%20Root">Cube Root</a></p>
<ul>
<li><a href="#/s:s15UnsignedIntegerP12NumericAnnexE4cbrtxxFZ">cbrt(_:)</a></li>
</ul>
<p><a href="#/Factoring">Factoring</a></p>
<ul>
<li><a href="#/s:s15UnsignedIntegerP12NumericAnnexE3gcdxx_xtFZ">gcd(_:_:)</a></li>
<li><a href="#/s:s15UnsignedIntegerP12NumericAnnexE3lcmxx_xtFZ">lcm(_:_:)</a></li>
</ul>
<p><a href="#/Factoring%20(Fixed-Width)">Factoring (Fixed-Width)</a></p>
<ul>
<li><a href="#/s:s15UnsignedIntegerP12NumericAnnexs010FixedWidthB0RzsAARzlE20lcmReportingOverflowx12partialValue_Sb8overflowtx_xtFZ">lcmReportingOverflow(_:_:)</a></li>
<li><a href="#/s:s15UnsignedIntegerP12NumericAnnexs010FixedWidthB0RzsAARzlE07lcmFullF0x4high_9Magnitudes0C0PQz3lowtx_xtFZ">lcmFullWidth(_:_:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<div>
<a name="/Cube%20Root"></a>
<a name="//apple_ref/swift/Section/Cube Root" class="dashAnchor"></a>
<h3>Cube Root</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s15UnsignedIntegerP12NumericAnnexE4cbrtxxFZ"></a>
<a name="//apple_ref/swift/Method/cbrt(_:)" class="dashAnchor"></a>
<h4>
<code>cbrt(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the cube root of <code>x</code>, rounding toward zero.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">cbrt</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Factoring"></a>
<a name="//apple_ref/swift/Section/Factoring" class="dashAnchor"></a>
<h3>Factoring</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s15UnsignedIntegerP12NumericAnnexE3gcdxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/gcd(_:_:)" class="dashAnchor"></a>
<h4>
<code>gcd(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the greatest common divisor of <code>a</code> and <code>b</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">gcd</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s15UnsignedIntegerP12NumericAnnexE3lcmxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcm(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcm(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the least common multiple of <code>a</code> and <code>b</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcm</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<div>
<a name="/Factoring%20(Fixed-Width)"></a>
<a name="//apple_ref/swift/Section/Factoring (Fixed-Width)" class="dashAnchor"></a>
<h3>Factoring (Fixed-Width)</h3>
</div>
<ul>
<li>
<div>
<a name="/s:s15UnsignedIntegerP12NumericAnnexs010FixedWidthB0RzsAARzlE20lcmReportingOverflowx12partialValue_Sb8overflowtx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcmReportingOverflow(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcmReportingOverflow(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the least common multiple of <code>a</code> and <code>b</code> and a flag to indicate
whether overflow occurred during the operation.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcmReportingOverflow</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span>
<span class="o">-&gt;</span> <span class="p">(</span><span class="nv">partialValue</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="nv">overflow</span><span class="p">:</span> <span class="kt">Bool</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:s15UnsignedIntegerP12NumericAnnexs010FixedWidthB0RzsAARzlE07lcmFullF0x4high_9Magnitudes0C0PQz3lowtx_xtFZ"></a>
<a name="//apple_ref/swift/Method/lcmFullWidth(_:_:)" class="dashAnchor"></a>
<h4>
<code>lcmFullWidth(_:_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the high and low parts of the least common multiple of <code>a</code> and <code>b</code>
computed using full-width arithmetic.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lcmFullWidth</span><span class="p">(</span><span class="n">_</span> <span class="nv">a</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">b</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span>
<span class="o">-&gt;</span> <span class="p">(</span><span class="nv">high</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="nv">low</span><span class="p">:</span> <span class="k">Self</span><span class="o">.</span><span class="kt">Magnitude</span><span class="p">)</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,322 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Functions Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Functions Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Functions</h1>
<p>The following functions are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a></li>
<li><a href="#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a></li>
<li><a href="#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a></li>
<li><a href="#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a></li>
<li><a href="#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a></li>
<li><a href="#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF"></a>
<a name="//apple_ref/swift/Function/abs(_:)" class="dashAnchor"></a>
<h4>
<code>abs(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the absolute value (magnitude, modulus) of <code>z</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">abs</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">z</span><span class="p">:</span> <span class="kt"><a href="Structs/Complex.html">Complex</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Complex.html">Complex</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF"></a>
<a name="//apple_ref/swift/Function/sqrt(_:)" class="dashAnchor"></a>
<h4>
<code>sqrt(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the square root of <code>z</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">sqrt</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">z</span><span class="p">:</span> <span class="kt"><a href="Structs/Complex.html">Complex</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Complex.html">Complex</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF"></a>
<a name="//apple_ref/swift/Function/abs(_:)" class="dashAnchor"></a>
<h4>
<code>abs(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the absolute value (magnitude) of <code>x</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">abs</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF"></a>
<a name="//apple_ref/swift/Function/ceil(_:)" class="dashAnchor"></a>
<h4>
<code>ceil(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the closest integral value greater than or equal to <code>x</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">ceil</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF"></a>
<a name="//apple_ref/swift/Function/floor(_:)" class="dashAnchor"></a>
<h4>
<code>floor(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the closest integral value less than or equal to <code>x</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">floor</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF"></a>
<a name="//apple_ref/swift/Function/round(_:)" class="dashAnchor"></a>
<h4>
<code>round(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the closest integral value; if two values are equally close, returns
the one with greater magnitude.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">round</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF"></a>
<a name="//apple_ref/swift/Function/trunc(_:)" class="dashAnchor"></a>
<h4>
<code>trunc(_:)</code>
</h4>
</div>
<div class="abstract">
<p>Returns the closest integral value with magnitude less than or equal to that
of <code>x</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">trunc</span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="Structs/Rational.html">Rational</a></span><span class="o">&lt;</span><span class="kt">T</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,286 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Protocols Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Protocols Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Protocols</h1>
<p>The following protocols are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex4PRNGP">PRNG</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4RealP">Real</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4MathP">Math</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGP"></a>
<a name="//apple_ref/swift/Protocol/PRNG" class="dashAnchor"></a>
<h4>
<code>PRNG</code>
</h4>
</div>
<div class="abstract">
<p>A pseudo-random number generator (PRNG).</p>
<p>Reference types that conform to <code>PRNG</code> are infinite sequences of
pseudo-random elements. Protocol extension methods iterate over such a
sequence as necessary to generate pseudo-random values from the desired
distribution.</p>
<h2 id='considerations-for-conforming-types' class='heading'>Considerations for Conforming Types</h2>
<p>For clarity to end users, custom PRNGs may be implemented in an extension to
<code><a href="Classes/Random.html">Random</a></code>. For instance, the <code>xoroshiro128+</code> algorithm is implemented in a
final class named <code><a href="Classes/Random/Xoroshiro.html">Random.Xoroshiro</a></code>.</p>
<p>The static methods <code>_entropy(_:)</code> and <code>_entropy(_:count:)</code> return
cryptographically secure random bytes that may be useful for seeding your
custom PRNG. However, these methods may return <code>nil</code> if the requested number
of random bytes is not available, and they are not recommended as a routine
source of random data.</p>
<h2 id='adding-other-probability-distributions' class='heading'>Adding Other Probability Distributions</h2>
<p>Many built-in protocol extension methods make use of the primitive,
overloaded method <code>_random(_:bitCount:)</code>. You may wish to use the same
method in new protocol extension methods that return pseudo-random
values from other probability distributions.</p>
<p>The method <code>_random(_:bitCount:)</code> generates uniformly distributed binary
floating-point values in the half-open range [0, 1) with a precision of
either <code>bitCount</code> or the significand bit count of the floating-point type,
whichever is less. Additionally, this method generates uniformly distributed
unsigned integers in the half-open range [0, 2 ** <em>x</em>), where ** is the
exponentiation operator and <em>x</em> is the lesser of <code>bitCount</code> and the bit
width of the integer type.</p>
<p>For end users, however, the recommended spelling for a uniformly distributed
numeric value is <code>uniform()</code>; that method is overloaded to permit custom
minimum and maximum values for the uniform distribution.</p>
<a href="Protocols/PRNG.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">PRNG</span> <span class="p">:</span> <span class="kd">class</span><span class="p">,</span> <span class="kt">IteratorProtocol</span><span class="p">,</span> <span class="kt">Sequence</span>
<span class="k">where</span> <span class="kt">Element</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="p">,</span>
<span class="kt">SubSequence</span> <span class="p">:</span> <span class="kt">Sequence</span><span class="p">,</span>
<span class="kt">Element</span> <span class="o">==</span> <span class="kt">SubSequence</span><span class="o">.</span><span class="kt">Element</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4RealP"></a>
<a name="//apple_ref/swift/Protocol/Real" class="dashAnchor"></a>
<h4>
<code>Real</code>
</h4>
</div>
<div class="abstract">
<p>A floating-point type that supports elementary functions and a selection of
special functions.</p>
<p>The <code>Real</code> protocol provides a suitable basis for writing functions that
work on any floating-point type that supports the required functions.</p>
<a href="Protocols/Real.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">Real</span> <span class="p">:</span> <span class="kt"><a href="Protocols/Math.html">Math</a></span><span class="p">,</span> <span class="kt">FloatingPoint</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4MathP"></a>
<a name="//apple_ref/swift/Protocol/Math" class="dashAnchor"></a>
<h4>
<code>Math</code>
</h4>
</div>
<div class="abstract">
<p>A signed numeric type that supports elementary functions.</p>
<p>The <code>Math</code> protocol provides a suitable basis for writing functions that
work on any real or complex floating-point type that supports the required
functions.</p>
<a href="Protocols/Math.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">Math</span> <span class="p">:</span> <span class="kt">SignedNumeric</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,819 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PRNG Protocol Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Protocol/PRNG" class="dashAnchor"></a>
<a title="PRNG Protocol Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>PRNG</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">PRNG</span> <span class="p">:</span> <span class="kd">class</span><span class="p">,</span> <span class="kt">IteratorProtocol</span><span class="p">,</span> <span class="kt">Sequence</span>
<span class="k">where</span> <span class="kt">Element</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="p">,</span>
<span class="kt">SubSequence</span> <span class="p">:</span> <span class="kt">Sequence</span><span class="p">,</span>
<span class="kt">Element</span> <span class="o">==</span> <span class="kt">SubSequence</span><span class="o">.</span><span class="kt">Element</span></code></pre>
</div>
</div>
<p>A pseudo-random number generator (PRNG).</p>
<p>Reference types that conform to <code>PRNG</code> are infinite sequences of
pseudo-random elements. Protocol extension methods iterate over such a
sequence as necessary to generate pseudo-random values from the desired
distribution.</p>
<h2 id='considerations-for-conforming-types' class='heading'>Considerations for Conforming Types</h2>
<p>For clarity to end users, custom PRNGs may be implemented in an extension to
<code><a href="../Classes/Random.html">Random</a></code>. For instance, the <code>xoroshiro128+</code> algorithm is implemented in a
final class named <code><a href="../Classes/Random/Xoroshiro.html">Random.Xoroshiro</a></code>.</p>
<p>The static methods <code>_entropy(_:)</code> and <code>_entropy(_:count:)</code> return
cryptographically secure random bytes that may be useful for seeding your
custom PRNG. However, these methods may return <code>nil</code> if the requested number
of random bytes is not available, and they are not recommended as a routine
source of random data.</p>
<h2 id='adding-other-probability-distributions' class='heading'>Adding Other Probability Distributions</h2>
<p>Many built-in protocol extension methods make use of the primitive,
overloaded method <code>_random(_:bitCount:)</code>. You may wish to use the same
method in new protocol extension methods that return pseudo-random
values from other probability distributions.</p>
<p>The method <code>_random(_:bitCount:)</code> generates uniformly distributed binary
floating-point values in the half-open range [0, 1) with a precision of
either <code>bitCount</code> or the significand bit count of the floating-point type,
whichever is less. Additionally, this method generates uniformly distributed
unsigned integers in the half-open range [0, 2 ** <em>x</em>), where ** is the
exponentiation operator and <em>x</em> is the lesser of <code>bitCount</code> and the bit
width of the integer type.</p>
<p>For end users, however, the recommended spelling for a uniformly distributed
numeric value is <code>uniform()</code>; that method is overloaded to permit custom
minimum and maximum values for the uniform distribution.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex4PRNGP5State">State</a></li>
<li><a href="#/s:12NumericAnnex4PRNGP5state5StateQzv">state</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPx5StateQz5state_tcfc">init(state:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPxSgycfc">init()</a></li>
<li><a href="#/s:12NumericAnnex4PRNGP3max7ElementQzvZ">max</a></li>
<li><a href="#/s:12NumericAnnex4PRNGP3min7ElementQzvZ">min</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4PRNGPAAE15_randomBitWidthSivZ">_randomBitWidth</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE8_entropyqd__Sgqd__ms17FixedWidthIntegerRd__s08UnsignedG0Rd__lFZ">_entropy(_:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE8_entropySayqd__GSgqd__m_Si5countts17FixedWidthIntegerRd__s08UnsignedH0Rd__lFZ">_entropy(_:count:)</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7_randomqd__qd__m_Si8bitCountts17FixedWidthIntegerRd__s08UnsignedI0Rd__lF">_random(_:bitCount:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__m_qd__1aqd__1bts17FixedWidthIntegerRd__s08UnsignedG0Rd__lF">uniform(_:a:b:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__ms17FixedWidthIntegerRd__s08UnsignedG0Rd__lF">uniform(_:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts17FixedWidthIntegerRd__s08UnsignedJ0Rd__lF">uniform(_:a:b:count:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts17FixedWidthIntegerRd__s08UnsignedJ0Rd__lF">uniform(_:count:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__m_qd__1aqd__1bts17FixedWidthIntegerRd__s06SignedG0Rd__sAG9Magnitudes0A0PRpd__s08UnsignedG0ALRQlF">uniform(_:a:b:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__ms17FixedWidthIntegerRd__s06SignedG0Rd__sAE9Magnitudes0A0PRpd__s08UnsignedG0AJRQlF">uniform(_:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts17FixedWidthIntegerRd__s06SignedJ0Rd__sAK9Magnitudes0A0PRpd__s08UnsignedJ0APRQlF">uniform(_:a:b:count:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts17FixedWidthIntegerRd__s06SignedJ0Rd__sAI9Magnitudes0A0PRpd__s08UnsignedJ0ANRQlF">uniform(_:count:)</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7_randomqd__qd__m_Si8bitCountts19BinaryFloatingPointRd__lF">_random(_:bitCount:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniformqd__qd__m_qd__1aqd__1bts19BinaryFloatingPointRd__lF">uniform(_:a:b:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniformqd__qd__ms19BinaryFloatingPointRd__lF">uniform(_:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts19BinaryFloatingPointRd__lF">uniform(_:a:b:count:)</a></li>
<li><a href="#/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts19BinaryFloatingPointRd__lF">uniform(_:count:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGP5State"></a>
<a name="//apple_ref/swift/Alias/State" class="dashAnchor"></a>
<h4>
<code>State</code>
</h4>
</div>
<div class="abstract">
<p>A type that can represent the internal state of the pseudo-random number
generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="k">associatedtype</span> <span class="kt">State</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGP5state5StateQzv"></a>
<a name="//apple_ref/swift/Property/state" class="dashAnchor"></a>
<h4>
<code>state</code>
</h4>
</div>
<div class="abstract">
<p>The internal state of the pseudo-random number generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="k">var</span> <span class="nv">state</span><span class="p">:</span> <span class="kt"><a href="../Protocols/PRNG.html#/s:12NumericAnnex4PRNGP5State">State</a></span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPx5StateQz5state_tcfc"></a>
<a name="//apple_ref/swift/Method/init(state:)" class="dashAnchor"></a>
<h4>
<code>init(state:)</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with the given internal state.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="nf">init</span><span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="kt"><a href="../Protocols/PRNG.html#/s:12NumericAnnex4PRNGP5State">State</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>state</em></code>: <p>The value to be used as the generator&rsquo;s internal state.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPxSgycfc"></a>
<a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
<h4>
<code>init()</code>
</h4>
</div>
<div class="abstract">
<p>Creates a pseudo-random number generator with an internal state seeded
using cryptographically secure random bytes.</p>
<p>If cryptographically secure random bytes are unavailable, the result is
<code>nil</code>.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="nf">init</span><span class="p">?()</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGP3max7ElementQzvZ"></a>
<a name="//apple_ref/swift/Variable/max" class="dashAnchor"></a>
<h4>
<code>max</code>
<span class="declaration-note">Default implementation</span>
</h4>
</div>
<div class="abstract">
<p>The maximum value that may be generated by the pseudo-random number
generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">static</span> <span class="k">var</span> <span class="nv">max</span><span class="p">:</span> <span class="kt">Element</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGP3min7ElementQzvZ"></a>
<a name="//apple_ref/swift/Variable/min" class="dashAnchor"></a>
<h4>
<code>min</code>
<span class="declaration-note">Default implementation</span>
</h4>
</div>
<div class="abstract">
<p>The minimum value that may be generated by the pseudo-random number
generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">static</span> <span class="k">var</span> <span class="nv">min</span><span class="p">:</span> <span class="kt">Element</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE15_randomBitWidthSivZ"></a>
<a name="//apple_ref/swift/Variable/_randomBitWidth" class="dashAnchor"></a>
<h4>
<code>_randomBitWidth</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>The number of pseudo-random bits available from a value generated by the
pseudo-random number generator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">_randomBitWidth</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE8_entropyqd__Sgqd__ms17FixedWidthIntegerRd__s08UnsignedG0Rd__lFZ"></a>
<a name="//apple_ref/swift/Method/_entropy(_:)" class="dashAnchor"></a>
<h4>
<code>_entropy(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns a value filled with data from a source of cryptographically secure
random bytes, or <code>nil</code> if a sufficient number of cryptographically secure
random bytes is unavailable.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="n">_entropy</span><span class="o">&lt;</span>
<span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span>
<span class="o">&gt;</span><span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span><span class="p">?</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE8_entropySayqd__GSgqd__m_Si5countts17FixedWidthIntegerRd__s08UnsignedH0Rd__lFZ"></a>
<a name="//apple_ref/swift/Method/_entropy(_:count:)" class="dashAnchor"></a>
<h4>
<code>_entropy(_:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns an array of <code>count</code> values filled with data from a source of
cryptographically secure random bytes, or <code>nil</code> if a sufficient number of
cryptographically secure random bytes is unavailable.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="n">_entropy</span><span class="o">&lt;</span>
<span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span>
<span class="o">&gt;</span><span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">T</span><span class="p">]?</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7_randomqd__qd__m_Si8bitCountts17FixedWidthIntegerRd__s08UnsignedI0Rd__lF"></a>
<a name="//apple_ref/swift/Method/_random(_:bitCount:)" class="dashAnchor"></a>
<h4>
<code>_random(_:bitCount:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random unsigned integer of type <code>T</code> in the range from 0
to <code>2 ** min(bitCount, T.bitWidth)</code> (exclusive), where <code>**</code> is the
exponentiation operator.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">_random</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">bitCount</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="n">bitWidth</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__m_qd__1aqd__1bts17FixedWidthIntegerRd__s08UnsignedG0Rd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random unsigned integer of type <code>T</code> in the range from
<code>a</code> through <code>b</code> (inclusive) from the discrete uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__ms17FixedWidthIntegerRd__s08UnsignedG0Rd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random unsigned integer of type <code>T</code> in the range from
<code>T.min</code> through <code>T.max</code> (inclusive) from the discrete uniform
distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts17FixedWidthIntegerRd__s08UnsignedJ0Rd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random unsigned integers of type
<code>T</code> in the range from <code>a</code> through <code>b</code> (inclusive) from the discrete
uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts17FixedWidthIntegerRd__s08UnsignedJ0Rd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random unsigned integers of type
<code>T</code> in the range from <code>T.min</code> through <code>T.max</code> (inclusive) from the
discrete uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__m_qd__1aqd__1bts17FixedWidthIntegerRd__s06SignedG0Rd__sAG9Magnitudes0A0PRpd__s08UnsignedG0ALRQlF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random signed integer of type <code>T</code> in the range from <code>a</code>
through <code>b</code> (inclusive) from the discrete uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">SignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span> <span class="k">where</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniformqd__qd__ms17FixedWidthIntegerRd__s06SignedG0Rd__sAE9Magnitudes0A0PRpd__s08UnsignedG0AJRQlF"></a>
<a name="//apple_ref/swift/Method/uniform(_:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random signed integer of type <code>T</code> in the range from
<code>T.min</code> through <code>T.max</code> (inclusive) from the discrete uniform
distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">SignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span> <span class="k">where</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts17FixedWidthIntegerRd__s06SignedJ0Rd__sAK9Magnitudes0A0PRpd__s08UnsignedJ0APRQlF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random signed integers of type <code>T</code>
in the range from <code>a</code> through <code>b</code> (inclusive) from the discrete uniform
distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">SignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span>
<span class="k">where</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPAAE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts17FixedWidthIntegerRd__s06SignedJ0Rd__sAI9Magnitudes0A0PRpd__s08UnsignedJ0ANRQlF"></a>
<a name="//apple_ref/swift/Method/uniform(_:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random signed integers of type <code>T</code>
in the range from <code>T.min</code> through <code>T.max</code> (inclusive) from the discrete
uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">SignedInteger</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span>
<span class="k">where</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">FixedWidthInteger</span> <span class="o">&amp;</span> <span class="kt">UnsignedInteger</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7_randomqd__qd__m_Si8bitCountts19BinaryFloatingPointRd__lF"></a>
<a name="//apple_ref/swift/Method/_random(_:bitCount:)" class="dashAnchor"></a>
<h4>
<code>_random(_:bitCount:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random binary floating-point value of type <code>T</code> in the
range from 0 to 1 (exclusive) with <code>min(bitCount, T.significandBitCount)</code>
bits of precision.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">_random</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">bitCount</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="n">significandBitCount</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniformqd__qd__m_qd__1aqd__1bts19BinaryFloatingPointRd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random binary floating-point value of type <code>T</code> in the
range from <code>a</code> to <code>b</code> (exclusive) from the uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniformqd__qd__ms19BinaryFloatingPointRd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a pseudo-random binary floating-point value of type <code>T</code> in the
range from 0 to 1 (exclusive) from the uniform distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">&gt;</span><span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">T</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniforms14UnfoldSequenceVyqd__SiGqd__m_qd__1aqd__1bSi5countts19BinaryFloatingPointRd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:a:b:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:a:b:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random binary floating-point values
of type <code>T</code> in the range from <code>a</code> to <code>b</code> (exclusive) from the uniform
distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4PRNGPA2aBRzs6UInt64V7ElementRtzlE7uniforms14UnfoldSequenceVyqd__SiGqd__m_Si5countts19BinaryFloatingPointRd__lF"></a>
<a name="//apple_ref/swift/Method/uniform(_:count:)" class="dashAnchor"></a>
<h4>
<code>uniform(_:count:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Generates a sequence of <code>count</code> pseudo-random binary floating-point values
of type <code>T</code> in the range from 0 to 1 (exclusive) from the uniform
distribution.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="n">uniform</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">&gt;</span><span class="p">(</span>
<span class="nv">_</span><span class="p">:</span> <span class="kt">T</span><span class="o">.</span><span class="k">Type</span> <span class="o">=</span> <span class="kt">T</span><span class="o">.</span><span class="k">self</span><span class="p">,</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UnfoldSequence</span><span class="o">&lt;</span><span class="kt">T</span><span class="p">,</span> <span class="kt">Int</span><span class="o">&gt;</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,540 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Real Protocol Reference</title>
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Protocol/Real" class="dashAnchor"></a>
<a title="Real Protocol Reference"></a>
<header>
<p class="primary">
<a href="../index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="../Classes.html">Classes</a></p>
<ul>
<li>
<a href="../Classes/Random.html">Random</a>
</li>
<li>
<a href="../Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="../Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="../Extensions/Double.html">Double</a>
</li>
<li>
<a href="../Extensions/Float.html">Float</a>
</li>
<li>
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="../Functions.html">Functions</a></p>
<ul>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="../Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="../Protocols/Math.html">Math</a>
</li>
<li>
<a href="../Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="../Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="../Structs.html">Structs</a></p>
<ul>
<li>
<a href="../Structs/Complex.html">Complex</a>
</li>
<li>
<a href="../Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="../Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Real</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">Real</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/Math.html">Math</a></span><span class="p">,</span> <span class="kt">FloatingPoint</span></code></pre>
</div>
</div>
<p>A floating-point type that supports elementary functions and a selection of
special functions.</p>
<p>The <code>Real</code> protocol provides a suitable basis for writing functions that
work on any floating-point type that supports the required functions.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex4RealP5hypotxx_xtFZ">hypot(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF">inverseTangent(dividingBy:)</a></li>
<li><a href="#/s:12NumericAnnex4RealP5errorxyF">error()</a></li>
<li><a href="#/s:12NumericAnnex4RealP18complementaryErrorxyF">complementaryError()</a></li>
<li><a href="#/s:12NumericAnnex4RealP5gammaxyF">gamma()</a></li>
<li><a href="#/s:12NumericAnnex4RealP16logarithmicGammaxyF">logarithmicGamma()</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4RealPAAE8cubeRootxyF">cubeRoot()</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex4RealPAAE5atan2xx_xtFZ">atan2(_:_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealPAAE3erfxxFZ">erf(_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealPAAE4erfcxxFZ">erfc(_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealPAAE6tgammaxxFZ">tgamma(_:)</a></li>
<li><a href="#/s:12NumericAnnex4RealPAAE6lgammaxxFZ">lgamma(_:)</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5hypotxx_xtFZ"></a>
<a name="//apple_ref/swift/Method/hypot(_:_:)" class="dashAnchor"></a>
<h4>
<code>hypot(_:_:)</code>
<span class="declaration-note">Default implementation</span>
</h4>
</div>
<div class="abstract">
<p>Returns the hypotenuse of a right-angle triangle with legs (catheti) of
length <code>x</code> and <code>y</code>, preventing avoidable arithmetic overflow and
underflow. The return value is the square root of the sum of squares of
the arguments.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">hypot</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">y</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>x</em></code>: <p>The length of one leg (cathetus) of a right-angle triangle.</p></p>
<p><code><em>y</em></code>: <p>The length of the other leg (cathetus) of a right-angle triangle.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF"></a>
<a name="//apple_ref/swift/Method/inverseTangent(dividingBy:)" class="dashAnchor"></a>
<h4>
<code>inverseTangent(dividingBy:)</code>
<span class="declaration-note">Default implementation</span>
</h4>
</div>
<div class="abstract">
<p>Returns the inverse tangent of <code>self / other</code>, using the signs of <code>self</code>
and <code>other</code> to determine the quadrant of the computed angle.</p>
<p>If <code>self == 0 &amp;&amp; other == 0</code>, the return value is still finite.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<p><code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealPAAE5atan2xx_xtFZ">atan2(_:_:)</a></code></p>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">func</span> <span class="nf">inverseTangent</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">other</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>other</em></code>: <p>The divisor by which to divide <code>self</code>.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5errorxyF"></a>
<a name="//apple_ref/swift/Method/error()" class="dashAnchor"></a>
<h4>
<code>error()</code>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/Erf.html">error function</a> of <code>self</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealPAAE3erfxxFZ">erf(_:)</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">func</span> <span class="nf">error</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP18complementaryErrorxyF"></a>
<a name="//apple_ref/swift/Method/complementaryError()" class="dashAnchor"></a>
<h4>
<code>complementaryError()</code>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/Erfc.html">complementary error function</a> of <code>self</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealPAAE4erfcxxFZ">erfc(_:)</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">func</span> <span class="nf">complementaryError</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP5gammaxyF"></a>
<a name="//apple_ref/swift/Method/gamma()" class="dashAnchor"></a>
<h4>
<code>gamma()</code>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/GammaFunction.html">gamma function</a> of <code>self</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealPAAE6tgammaxxFZ">tgamma(_:)</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">func</span> <span class="nf">gamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealP16logarithmicGammaxyF"></a>
<a name="//apple_ref/swift/Method/logarithmicGamma()" class="dashAnchor"></a>
<h4>
<code>logarithmicGamma()</code>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/LogGammaFunction.html">logarithmic gamma function</a> of <code>self</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealPAAE6lgammaxxFZ">lgamma(_:)</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">func</span> <span class="nf">logarithmicGamma</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE8cubeRootxyF"></a>
<a name="//apple_ref/swift/Method/cubeRoot()" class="dashAnchor"></a>
<h4>
<code>cubeRoot()</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the cube root of the value, rounded to a representable value
(default implementation).</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>This method is required by the protocol <code><a href="../Protocols/Math.html">Math</a></code>; it is not an
extension method.</p>
</div>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<p><code>cbrt(_:)</code></p>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cubeRoot</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE5atan2xx_xtFZ"></a>
<a name="//apple_ref/swift/Method/atan2(_:_:)" class="dashAnchor"></a>
<h4>
<code>atan2(_:_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the inverse tangent of <code>y / x</code>, using the signs of <code>y</code> and <code>x</code> to
determine the quadrant of the computed angle.</p>
<p>If <code>x == 0 &amp;&amp; y == 0</code>, the return value is still finite.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<p><code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealP14inverseTangentxx10dividingBy_tF">inverseTangent(dividingBy:)</a></code></p>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">atan2</span><span class="p">(</span><span class="n">_</span> <span class="nv">y</span><span class="p">:</span> <span class="k">Self</span><span class="p">,</span> <span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
<div class="parameters">
<h5>Parameters</h5>
<p><code><em>y</em></code>: <p>The value to divide.</p></p>
<p><code><em>x</em></code>: <p>The divisor by which to divide <code>y</code>.</p></p>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE3erfxxFZ"></a>
<a name="//apple_ref/swift/Method/erf(_:)" class="dashAnchor"></a>
<h4>
<code>erf(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/Erf.html">error function</a> of <code>x</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealP5errorxyF">error()</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">erf</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE4erfcxxFZ"></a>
<a name="//apple_ref/swift/Method/erfc(_:)" class="dashAnchor"></a>
<h4>
<code>erfc(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/Erfc.html">complementary error function</a> of <code>x</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealP18complementaryErrorxyF">complementaryError()</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">erfc</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE6tgammaxxFZ"></a>
<a name="//apple_ref/swift/Method/tgamma(_:)" class="dashAnchor"></a>
<h4>
<code>tgamma(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/GammaFunction.html">gamma function</a> of <code>x</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealP5gammaxyF">gamma()</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">tgamma</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
<li>
<div>
<a name="/s:12NumericAnnex4RealPAAE6lgammaxxFZ"></a>
<a name="//apple_ref/swift/Method/lgamma(_:)" class="dashAnchor"></a>
<h4>
<code>lgamma(_:)</code>
<span class="declaration-note">Extension method</span>
</h4>
</div>
<div class="abstract">
<p>Returns the value of the <a href="http://mathworld.wolfram.com/LogGammaFunction.html">logarithmic gamma function</a> of <code>x</code>.</p>
<div class="aside aside-see-also">
<p class="aside-title">See also</p>
<code><a href="../Protocols/Real.html#/s:12NumericAnnex4RealP16logarithmicGammaxyF">logarithmicGamma()</a></code>
</div>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lgamma</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="k">Self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,304 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Structs Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Structs Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Structs</h1>
<p>The following structs are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex7ComplexV">Complex</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex8RationalV">Rational</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex7ComplexV"></a>
<a name="//apple_ref/swift/Struct/Complex" class="dashAnchor"></a>
<h4>
<code>Complex</code>
</h4>
</div>
<div class="abstract">
<p>A type to represent a complex value in Cartesian form.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<code>Complex64</code> is a type alias for <code>Complex&lt;Float&gt;</code> and <code>Complex128</code> is
a type alias for <code>Complex&lt;Double&gt;</code>.
</div>
<p>Create new instances of <code>Complex&lt;T&gt;</code> using integer or floating-point
literals and the imaginary unit <code><a href="Structs/Complex.html#/s:12NumericAnnex7ComplexV1iACyxGvZ">Complex&lt;T&gt;.i</a></code>. For example:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">*</span> <span class="o">.</span><span class="n">i</span> <span class="c1">// `x` is of type `Complex&lt;Double&gt;`</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="mf">3.5</span> <span class="o">+</span> <span class="mi">7</span> <span class="o">*</span> <span class="o">.</span><span class="n">i</span> <span class="c1">// `y` is of type `Complex&lt;Double&gt;`</span>
<span class="k">let</span> <span class="nv">z</span><span class="p">:</span> <span class="kt">Complex64</span> <span class="o">=</span> <span class="o">.</span><span class="n">e</span> <span class="o">+</span> <span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="o">.</span><span class="n">i</span> <span class="c1">// `z` is of type `Complex&lt;Float&gt;`</span>
</code></pre>
<h2 id='additional-considerations' class='heading'>Additional Considerations</h2>
<p>Floating-point types have special values that represent infinity or NaN
(<q>not a number</q>). Complex functions in different languages may return
different results when working with special values.</p>
<p>Many complex functions have <a href="http://mathworld.wolfram.com/BranchCut.html">branch cuts</a>, which are curves in the
complex plane across which a function is discontinuous. Different languages
may adopt different branch cut structures for the same complex function.</p>
<p>Implementations in <code>Complex&lt;T&gt;</code> adhere to the <a href="http://www.open-std.org/JTC1/SC22/WG14/www/standards.html#9899">C standard</a> (Annex G) as
closely as possible with respect to special values and branch cuts.</p>
<p>To users unfamiliar with complex functions, the principal value returned by
some complex functions may be unexpected. For example,
<code>Double.cbrt(-8) == -2</code>, which is the <strong>real root</strong>, while
<code>Complex.cbrt(-8) == 2 * Complex.exp(.i * .pi / 3)</code>, which is the
<strong>principal root</strong>.</p>
<a href="Structs/Complex.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Complex</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt"><a href="Protocols/Real.html">Real</a></span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt">Codable</span>
<span class="k">where</span> <span class="kt">T</span> <span class="p">:</span> <span class="kt">Codable</span> <span class="o">&amp;</span> <span class="n">_ExpressibleByBuiltinFloatLiteral</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex8RationalV"></a>
<a name="//apple_ref/swift/Struct/Rational" class="dashAnchor"></a>
<h4>
<code>Rational</code>
</h4>
</div>
<div class="abstract">
<p>A type to represent a rational value.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<code>Ratio</code> is a type alias for <code>Rational&lt;Int&gt;</code>.
</div>
<p>Create new instances of <code>Rational&lt;T&gt;</code> by using integer literals and the
division (<code>/</code>) operator. For example:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">/</span> <span class="mi">3</span> <span class="k">as</span> <span class="kt">Ratio</span> <span class="c1">// `x` is of type `Rational&lt;Int&gt;`</span>
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Ratio</span> <span class="c1">// `y` is of type `Rational&lt;Int&gt;`</span>
<span class="k">let</span> <span class="nv">z</span><span class="p">:</span> <span class="kt">Ratio</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">/</span> <span class="mi">3</span> <span class="c1">// `z` is also of type `Rational&lt;Int&gt;`</span>
<span class="nf">print</span><span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">y</span> <span class="o">+</span> <span class="n">z</span><span class="p">)</span> <span class="c1">// Prints "3"</span>
</code></pre>
<p>You can create an unreduced fraction by using the initializer
<code><a href="Structs/Rational.html#/s:12NumericAnnex8RationalVACyxGx9numerator_x11denominatortcfc">Rational&lt;T&gt;.init(numerator:denominator:)</a></code>. For example:</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="kt">Ratio</span><span class="p">(</span><span class="nv">numerator</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="nv">denominator</span><span class="p">:</span> <span class="mi">3</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="c1">// Prints "3/3"</span>
</code></pre>
<p>All arithmetic operations on values in canonical form (i.e. reduced to
lowest terms) return results in canonical form. However, operations on
values not in canonical form may or may not return results that are
themselves in canonical form. The property <code>canonicalized</code> is the canonical
form of any value.</p>
<h2 id='additional-considerations' class='heading'>Additional Considerations</h2>
<h3 id='special-values' class='heading'>Special Values</h3>
<p><code>Rational&lt;T&gt;</code> does not prohibit zero as a denominator. Any instance with a
positive numerator and zero denominator represents (positive) infinity; any
instance with a negative numerator and zero denominator represents negative
infinity; and any instance with zero numerator and zero denominator
represents NaN (<q>not a number</q>).</p>
<p>As with floating-point types, <code><a href="Structs/Rational.html#/s:12NumericAnnex8RationalV8infinityACyxGvZ">Rational&lt;T&gt;.infinity</a></code> compares greater than
every finite value and negative infinity, and <code>-Rational&lt;T&gt;.infinity</code>
compares less than every finite value and positive infinity. Infinite values
of the same sign compare equal to each other.</p>
<p>As with floating-point types, <code><a href="Structs/Rational.html#/s:12NumericAnnex8RationalV3nanACyxGvZ">Rational&lt;T&gt;.nan</a></code> does not compare equal to
any other value, including another NaN. Use the property <code>isNaN</code> to test if
a value is NaN. <code>Rational&lt;T&gt;</code> arithmetic operations are intended to
propagate NaN in the same manner as analogous floating-point operations.</p>
<h3 id='numerical-limits' class='heading'>Numerical Limits</h3>
<p>When a value of type <code>Rational&lt;T&gt;</code> is in canonical form, the sign of the
numerator is the sign of the value; that is, in canonical form, the sign of
the denominator is always positive. Therefore, <code>-1 / T.min</code> cannot be
represented as a value of type <code>Rational&lt;T&gt;</code> because <code>abs(T.min)</code> cannot be
represented as a value of type <code>T</code>.</p>
<p>To ensure that every representable value of type <code>Rational&lt;T&gt;</code> has a
representable magnitude and reciprocal of the same type, an overflow trap
occurs when the division (<code>/</code>) operator is used to create a value of type
<code>Rational&lt;T&gt;</code> with numerator <code>T.min</code>.</p>
<a href="Structs/Rational.html">See more…</a>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Rational</span><span class="o">&lt;</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">SignedInteger</span><span class="o">&gt;</span> <span class="p">:</span> <span class="kt">Codable</span>
<span class="k">where</span> <span class="kt">T</span> <span class="p">:</span> <span class="kt">Codable</span> <span class="o">&amp;</span> <span class="n">_ExpressibleByBuiltinIntegerLiteral</span><span class="p">,</span>
<span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">UnsignedInteger</span><span class="p">,</span>
<span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="o">==</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,210 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Typealiases Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="Typealiases Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1>Typealiases</h1>
<p>The following typealiases are available globally.</p>
</div>
</div>
</section>
<section class="toc">
<details open>
<summary>Topics</summary>
<div class="wrapper">
<ul>
<li><a href="#/s:12NumericAnnex4Signa">Sign</a></li>
</ul>
<ul>
<li><a href="#/s:12NumericAnnex12RoundingRulea">RoundingRule</a></li>
</ul>
</div>
</details>
</section>
<section>
<div class="wrapper">
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex4Signa"></a>
<a name="//apple_ref/swift/Alias/Sign" class="dashAnchor"></a>
<h4>
<code>Sign</code>
</h4>
</div>
<div class="abstract">
<p>The mathematical sign of a number.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">Sign</span> <span class="o">=</span> <span class="kt">FloatingPointSign</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="group">
<ul>
<li>
<div>
<a name="/s:12NumericAnnex12RoundingRulea"></a>
<a name="//apple_ref/swift/Alias/RoundingRule" class="dashAnchor"></a>
<h4>
<code>RoundingRule</code>
</h4>
</div>
<div class="abstract">
<p>A rule for rounding a number.</p>
</div>
<div class="declaration">
<h5>Declaration</h5>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">RoundingRule</span> <span class="o">=</span> <span class="kt">FloatingPointRoundingRule</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,186 +0,0 @@
/* Credit to https://gist.github.com/wataru420/2048287 */
.highlight {
/* Comment */
/* Error */
/* Keyword */
/* Operator */
/* Comment.Multiline */
/* Comment.Preproc */
/* Comment.Single */
/* Comment.Special */
/* Generic.Deleted */
/* Generic.Deleted.Specific */
/* Generic.Emph */
/* Generic.Error */
/* Generic.Heading */
/* Generic.Inserted */
/* Generic.Inserted.Specific */
/* Generic.Output */
/* Generic.Prompt */
/* Generic.Strong */
/* Generic.Subheading */
/* Generic.Traceback */
/* Keyword.Constant */
/* Keyword.Declaration */
/* Keyword.Pseudo */
/* Keyword.Reserved */
/* Keyword.Type */
/* Literal.Number */
/* Literal.String */
/* Name.Attribute */
/* Name.Builtin */
/* Name.Class */
/* Name.Constant */
/* Name.Entity */
/* Name.Exception */
/* Name.Function */
/* Name.Namespace */
/* Name.Tag */
/* Name.Variable */
/* Operator.Word */
/* Text.Whitespace */
/* Literal.Number.Float */
/* Literal.Number.Hex */
/* Literal.Number.Integer */
/* Literal.Number.Oct */
/* Literal.String.Backtick */
/* Literal.String.Char */
/* Literal.String.Doc */
/* Literal.String.Double */
/* Literal.String.Escape */
/* Literal.String.Heredoc */
/* Literal.String.Interpol */
/* Literal.String.Other */
/* Literal.String.Regex */
/* Literal.String.Single */
/* Literal.String.Symbol */
/* Name.Builtin.Pseudo */
/* Name.Variable.Class */
/* Name.Variable.Global */
/* Name.Variable.Instance */
/* Literal.Number.Integer.Long */ }
.highlight a {
color: inherit; }
.highlight .c {
color: #007400; }
.highlight .err {
color: #a61717;
background-color: #e3d2d2; }
.highlight .k {
color: #aa0d91; }
.highlight .o {
color: #000; }
.highlight .cm {
color: #007400; }
.highlight .cp {
color: #007400; }
.highlight .c1 {
color: #007400; }
.highlight .cs {
color: #007400; }
.highlight .gd {
color: #000;
background-color: #fdd; }
.highlight .gd .x {
color: #000;
background-color: #faa; }
.highlight .ge {
font-style: italic; }
.highlight .gr {
color: #a00; }
.highlight .gh {
color: #999; }
.highlight .gi {
color: #000;
background-color: #dfd; }
.highlight .gi .x {
color: #000;
background-color: #afa; }
.highlight .go {
color: #888; }
.highlight .gp {
color: #555; }
.highlight .gs {
font-weight: bold; }
.highlight .gu {
color: #aaa; }
.highlight .gt {
color: #a00; }
.highlight .kc {
color: #aa0d91; }
.highlight .kd {
color: #aa0d91; }
.highlight .kp {
color: #aa0d91; }
.highlight .kr {
color: #aa0d91; }
.highlight .kt {
color: #2b839f; }
.highlight .m {
color: #000; }
.highlight .s {
color: #a31515; }
.highlight .na {
color: #2b839f; }
.highlight .nb {
color: #2b839f; }
.highlight .nc {
color: #2b839f; }
.highlight .no {
color: #2b839f; }
.highlight .ni {
color: #2b839f; }
.highlight .ne {
color: #2b839f; }
.highlight .nf {
color: #2b839f; }
.highlight .nn {
color: #2b839f; }
.highlight .nt {
color: #2b839f; }
.highlight .nv {
color: #000; }
.highlight .ow {
color: #000; }
.highlight .w {
color: #bbb; }
.highlight .mf {
color: #1c00cf; }
.highlight .mh {
color: #1c00cf; }
.highlight .mi {
color: #1c00cf; }
.highlight .mo {
color: #1c00cf; }
.highlight .sb {
color: #c41a16; }
.highlight .sc {
color: #1c00cf; }
.highlight .sd {
color: #c41a16; }
.highlight .s2 {
color: #c41a16; }
.highlight .se {
color: #c41a16; }
.highlight .sh {
color: #c41a16; }
.highlight .si {
color: #c41a16; }
.highlight .sx {
color: #c41a16; }
.highlight .sr {
color: #c41a16; }
.highlight .s1 {
color: #c41a16; }
.highlight .ss {
color: #c41a16; }
.highlight .bp {
color: #999; }
.highlight .vc {
color: #2b839f; }
.highlight .vg {
color: #2b839f; }
.highlight .vi {
color: #2b839f; }
.highlight .il {
color: #1c00cf; }

View File

@ -1,333 +0,0 @@
@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600,700");
*, *::before, *::after {
box-sizing: inherit; }
body {
box-sizing: border-box;
margin: 0;
background: #fff;
color: #333;
font: 16px/24px -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
h1 {
margin: 32px 0 16px;
font-weight: 500;
font-size: 28px;
line-height: 32px; }
h2 {
margin: 32px 0 16px;
font-weight: 500;
font-size: 24px;
line-height: 32px; }
h3 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 20px;
line-height: 24px; }
h4 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px; }
h5 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px;
color: #777; }
h6 {
margin: 24px 0 16px;
font-weight: 500;
font-size: 16px;
line-height: 24px;
color: #aaaaaa; }
p {
margin: 0 0 16px; }
ul, ol {
margin: 0 0 16px;
padding: 0 0 0 32px; }
blockquote {
margin: 0 0 16px;
border-left: 6px solid #e6e6e6;
border-radius: 4px;
padding: 16px;
background-color: #fafafa;
color: #858585; }
blockquote > p:last-child {
margin-bottom: 0; }
img {
max-width: 100%; }
a {
color: #4183c4;
text-decoration: none; }
a:hover, a:focus {
outline: 0;
text-decoration: underline; }
table {
width: 100%;
overflow: auto;
margin: 0 0 12px;
border-collapse: collapse;
border-spacing: 0;
background: #fff; }
tr:nth-child(2n) {
background-color: #fbfbfb; }
th, td {
border: 1px solid #ddd;
padding: 7px 11px; }
pre {
overflow: auto;
margin: 0 0 16px;
border: 1px solid #e6e6e6;
border-radius: 4px;
padding: calc(12px - 1px) calc(16px - 1px);
background: #f9f9f9;
font-size: inherit;
line-height: inherit;
font-family: "Source Code Pro", Menlo, Consolas, "Liberation Mono", Courier, monospace; }
code {
font-size: 16px;
line-height: 16px;
font-family: "Source Code Pro", Menlo, Consolas, "Liberation Mono", Courier, monospace; }
pre code {
padding: 0;
white-space: pre; }
body > .wrapper {
display: flex;
flex-direction: column; }
@media only screen and (min-width: 1024px) {
body > .wrapper {
flex-direction: row; } }
header {
display: flex;
padding: 8px;
background: #333;
color: #999;
font-size: 14px;
line-height: inherit; }
header p {
margin: 0;
padding: 0 8px; }
header p.primary {
flex: 1; }
header a[href] {
color: #fff; }
nav {
order: 2; }
@media only screen and (min-width: 1024px) {
nav {
order: 1;
flex: 0 0 25%;
max-width: 239px;
overflow: hidden;
border-right: 1px solid #ddd;
padding-bottom: 32px;
background: #fbfbfb;
word-wrap: normal; } }
nav > ul {
margin: 0;
padding: 0;
font-size: 14px;
line-height: inherit;
list-style: none; }
nav > ul > li {
margin: 8px 0;
border-bottom: 1px solid #ddd;
padding: 8px 0 7px 16px; }
nav > ul > li:last-child {
margin-bottom: 0; }
nav > ul > li > p {
margin: 0; }
nav > ul > li > p > a[href] {
color: #333; }
nav > ul > li > ul {
margin: 8px 0;
padding-left: 16px;
list-style: inherit; }
nav > ul > li > ul > li {
white-space: nowrap; }
nav > ul > li > ul > li > a[href] {
color: #808080; }
/*
@keyframes appear {
0% { opacity: 0 }
100% { opacity: 1 }
}
*/
article {
order: 1;
border-bottom: 1px solid #ddd;
padding-bottom: 31px; }
@media only screen and (min-width: 1024px) {
article {
order: 2;
flex: 1 1 auto;
border-bottom: none;
padding-bottom: 32px; } }
article > section {
padding: 0 32px; }
article > section:last-child {
border-bottom: none; }
article > section > .wrapper {
max-width: 720px;
margin: 0 auto; }
.declaration .highlight {
overflow-x: initial;
margin: 0;
border: none;
border-radius: 0;
padding: 0;
background-color: transparent; }
.toc {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background-color: #fbfbfb; }
.toc details {
max-width: 720px;
margin: 0 auto;
padding: 15px 0; }
.toc details[open] > summary {
margin-bottom: 8px;
/*
& ~ * {
animation: appear .2s ease-in-out;
}
*/ }
.toc details[open] > summary::after {
content: ' \2212'; }
.toc details > summary {
display: block;
margin: 0;
padding-bottom: 0;
color: #666666;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
outline: none; }
.toc details > summary::-webkit-details-marker {
display: none; }
.toc details > summary::after {
content: ' +'; }
.toc details > .wrapper {
columns: 1; }
@media only screen and (min-width: 1024px) {
.toc details > .wrapper {
columns: 2;
column-gap: 16px; } }
.toc details > .wrapper p {
margin: 0;
color: #333;
font-weight: 500;
break-after: avoid-column;
-webkit-column-break-after: avoid; }
.toc details > .wrapper p a[href] {
color: inherit; }
.toc details > .wrapper ul {
margin: 0;
padding-left: 0;
color: #b3b3b3;
list-style: square inside; }
.toc details > .wrapper ul a[href] {
color: #808080; }
.group {
border-bottom: 1px solid #ddd;
padding-top: 0; }
.group:last-child {
border-bottom: none; }
.group:last-child > ul > li:last-child {
padding-bottom: 16px; }
.group a[name]::before {
content: "";
display: block; }
.group > ul {
margin: 0;
padding: 0; }
.group > ul > li {
width: 100%;
border-bottom: 1px solid #ddd;
padding: 0 0 15px;
list-style: none; }
.group > ul > li:last-child {
border-bottom: none; }
.group > ul > li .declaration-note {
color: #808080;
font-weight: normal;
font-size: 16px; }
.aside, .language {
overflow-y: hidden;
margin: 16px 0;
border-left: 6px solid #d0d0d0;
border-radius: 4px;
padding: 8px 12px;
background-color: #f7f7f7; }
.aside .aside-title, .language .aside-title {
margin: 0;
padding-bottom: 0;
color: #aaa;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none; }
.aside p:last-child, .language p:last-child {
margin-bottom: 0; }
.language {
border-left: 6px solid #99bcdf;
background-color: #f0f5fa; }
.language .aside-title {
color: #4183c4; }
.aside-warning {
border-left: 6px solid #ffda73;
background-color: #fff8e6; }
.aside-warning .aside-title {
color: #fb0; }
footer {
padding: 16px;
background: #444;
color: #ddd;
font-size: 14px;
line-height: inherit; }
footer p {
margin: 0; }
footer a[href] {
color: #fff; }
html.dash header, html.dash nav {
display: none; }

View File

@ -1,247 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>NumericAnnex Reference</title>
<link rel="stylesheet" type="text/css" href="css/highlight.css">
<link rel="stylesheet" type="text/css" href="css/jazzy.css">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="NumericAnnex Reference"></a>
<header>
<p class="primary">
<a href="index.html">NumericAnnex Reference</a>
(100% documented)
</p>
<p>
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
</p>
<p>
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
</p>
</header>
<div class="wrapper">
<nav>
<ul>
<li>
<p><a href="Classes.html">Classes</a></p>
<ul>
<li>
<a href="Classes/Random.html">Random</a>
</li>
<li>
<a href="Classes/Random/Xoroshiro.html"> Xoroshiro</a>
</li>
</ul>
</li>
<li>
<p><a href="Extensions.html">Extensions</a></p>
<ul>
<li>
<a href="Extensions/BinaryInteger.html">BinaryInteger</a>
</li>
<li>
<a href="Extensions/Double.html">Double</a>
</li>
<li>
<a href="Extensions/Float.html">Float</a>
</li>
<li>
<a href="Extensions/FloatingPoint.html">FloatingPoint</a>
</li>
<li>
<a href="Extensions/UnsignedInteger.html">UnsignedInteger</a>
</li>
</ul>
</li>
<li>
<p><a href="Functions.html">Functions</a></p>
<ul>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
</li>
<li>
<a href="Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
</li>
</ul>
</li>
<li>
<p><a href="Protocols.html">Protocols</a></p>
<ul>
<li>
<a href="Protocols/Math.html">Math</a>
</li>
<li>
<a href="Protocols/PRNG.html">PRNG</a>
</li>
<li>
<a href="Protocols/Real.html">Real</a>
</li>
</ul>
</li>
<li>
<p><a href="Structs.html">Structs</a></p>
<ul>
<li>
<a href="Structs/Complex.html">Complex</a>
</li>
<li>
<a href="Structs/Rational.html">Rational</a>
</li>
</ul>
</li>
<li>
<p><a href="Typealiases.html">Typealiases</a></p>
<ul>
<li>
<a href="Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
</li>
<li>
<a href="Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
</li>
</ul>
</li>
</ul>
</nav>
<article>
<section>
<div class="wrapper">
<div class="overview">
<h1 id='numericannex' class='heading'>NumericAnnex</h1>
<p><a href="https://travis-ci.org/xwu/NumericAnnex"><img src="https://travis-ci.org/xwu/NumericAnnex.svg?branch=master" alt="Build Status"></a>
<a href="https://codecov.io/gh/xwu/NumericAnnex"><img src="https://codecov.io/gh/xwu/NumericAnnex/branch/master/graph/badge.svg" alt="codecov"></a></p>
<p>NumericAnnex supplements the numeric facilities provided in the Swift standard
library.</p>
<h2 id='features' class='heading'>Features</h2>
<ul>
<li><code>BinaryInteger</code> exponentiation, square root, cube root, greatest common
divisor, and least common multiple functions.</li>
<li><code>Complex</code>, a value type to represent complex values in Cartesian form.</li>
<li><code>Rational</code>, a value type to represent rational values, which supports division
by zero.</li>
<li><code>Random</code> and <code>Random.Xoroshiro</code>, two reference types implementing efficient
pseudo-random number generators.</li>
<li><code>Math</code>, a protocol for types providing square root, cube root, and elementary
transcendental functions.</li>
<li><code>Real</code>, a protocol for floating-point types providing a selection of special
functions.</li>
<li><code>PRNG</code>, a protocol for pseudo-random number generators.</li>
</ul>
<blockquote>
<p>Note: This project is in the early stages of development and is not
production-ready at this time.</p>
</blockquote>
<h2 id='requirements' class='heading'>Requirements</h2>
<p>NumericAnnex now requires Xcode 9 beta 5 or a recent development snapshot of
Swift 4.0 that includes the revised numeric protocols.</p>
<p>It requires either <code>Darwin.C</code> (macOS) or <code>Glibc</code> (Linux) for transcendental
functions provided by the C standard library and either <code>Security</code> (macOS) or
<code>Glibc</code> (Linux) for cryptographically secure random bytes.</p>
<h2 id='installation' class='heading'>Installation</h2>
<p>After NumericAnnex has been cloned or downloaded locally, build the library with
the command <code>swift build</code> (macOS) or <code>swift build -Xcc -D_GNU_SOURCE</code> (Linux).
Tests can be run with the command <code>swift test</code> (macOS) or
<code>swift test -Xcc -D_GNU_SOURCE</code> (Linux). An Xcode project can be generated with
the command <code>swift package generate-xcodeproj</code>.</p>
<p><a href="https://swift.org/package-manager/">Swift Package Manager</a> can also be used to
add the package as a dependency for your own project. See Swift documentation
for details.</p>
<h2 id='basic-usage' class='heading'>Basic Usage</h2>
<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">NumericAnnex</span>
<span class="k">var</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Ratio</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">/</span> <span class="mi">4</span>
<span class="c1">// Ratio is a type alias for Rational&lt;Int&gt;.</span>
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="nf">reciprocal</span><span class="p">())</span>
<span class="c1">// Prints "4".</span>
<span class="n">x</span> <span class="o">*=</span> <span class="mi">8</span>
<span class="nf">print</span><span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">x</span><span class="p">)</span>
<span class="c1">// Prints "4".</span>
<span class="n">x</span> <span class="o">=</span> <span class="kt">Ratio</span><span class="p">(</span><span class="kt">Float</span><span class="o">.</span><span class="n">phi</span><span class="p">)</span> <span class="c1">// Golden ratio.</span>
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
<span class="c1">// Prints "13573053/8388608".</span>
<span class="k">var</span> <span class="nv">z</span><span class="p">:</span> <span class="kt">Complex64</span> <span class="o">=</span> <span class="mi">42</span> <span class="o">*</span> <span class="o">.</span><span class="n">i</span>
<span class="c1">// Complex64 is a type alias for Complex&lt;Float&gt;.</span>
<span class="nf">print</span><span class="p">(</span><span class="kt">Complex</span><span class="o">.</span><span class="nf">sqrt</span><span class="p">(</span><span class="n">z</span><span class="p">))</span>
<span class="c1">// Prints "4.58258 + 4.58258i".</span>
<span class="n">z</span> <span class="o">=</span> <span class="o">.</span><span class="n">pi</span> <span class="o">+</span> <span class="o">.</span><span class="n">i</span> <span class="o">*</span> <span class="o">.</span><span class="nf">log</span><span class="p">(</span><span class="mi">2</span> <span class="o">-</span> <span class="o">.</span><span class="nf">sqrt</span><span class="p">(</span><span class="mi">3</span><span class="p">))</span>
<span class="nf">print</span><span class="p">(</span><span class="kt">Complex</span><span class="o">.</span><span class="nf">cos</span><span class="p">(</span><span class="n">z</span><span class="p">)</span><span class="o">.</span><span class="n">real</span><span class="p">)</span>
<span class="c1">// Prints "-2.0".</span>
</code></pre>
<h2 id='documentation' class='heading'>Documentation</h2>
<p>All public protocols, types, and functions have been carefully documented in the
code. See the <a href="https://xwu.github.io/NumericAnnex/">formatted reference</a> for
details.</p>
<p>The project adheres to many design patterns found in the Swift standard library.
For example, <code>Math</code> types provide methods such as <code>cubeRoot()</code> and <code>tangent()</code>
just as <code>FloatingPoint</code> types provide methods such as <code>squareRoot()</code>.</p>
<p>No free functions are declared in this library unless they overload existing
ones in the Swift standard library. Instead, functions such as <code>cbrt(_:)</code> and
<code>tan(_:)</code> are provided as static members. This avoids collisions with C standard
library functions that you may wish to use. It also promotes clarity at the call
site when the result of a complex operation differs from that of its real
counterpart (e.g., <code>Complex128.cbrt(-8) != -2</code>).</p>
<h2 id='future-directions' class='heading'>Future Directions</h2>
<ul>
<li>[ ] Add more tests, including performance tests</li>
<li>[ ] Design and implement additional methods on <code>PRNG</code></li>
<li>[ ] Design and implement <code>BigInt</code></li>
</ul>
<h2 id='license' class='heading'>License</h2>
<p>All original work is released under the MIT license. See
<a href="https://github.com/xwu/NumericAnnex/blob/master/LICENSE">LICENSE</a> for details.</p>
<p>Portions of the complex square root and elementary transcendental functions use
checks for special values adapted from libc++. Code in libc++ is dual-licensed
under the MIT and UIUC/NCSA licenses.</p>
</div>
</div>
</section>
</article>
</div>
<footer>
<p>&copy; 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</footer>
</body>
</div>
</html>

View File

@ -1,15 +0,0 @@
window.jazzy = { 'docset': false };
if (typeof window.dash != 'undefined') {
document.documentElement.className += ' dash';
window.jazzy.docset = true;
}
if (navigator.userAgent.match(/xcode/i)) {
document.documentElement.className += ' xcode';
window.jazzy.docset = true;
}
// Dumb down quotes within code blocks that delimit strings instead of quotations
// https://github.com/realm/jazzy/issues/714
$("code q").replaceWith(function () {
return ["\"", $(this).contents(), "\""];
});

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1 +0,0 @@
<entry><version>1.0</version><url>https://xwu.github.io/NumericAnnex/docsets/NumericAnnex.tgz</url></entry>