NumericAnnex/docsets/NumericAnnex.docset/Contents/Resources/Documents/Extensions/UnsignedInteger.html

311 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>