mirror of
https://github.com/leif-ibsen/SwiftECC.git
synced 2026-06-06 20:08:03 +00:00
7346 lines
335 KiB
HTML
7346 lines
335 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>BInt Structure Reference</title>
|
|
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
|
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
|
<meta charset='utf-8'>
|
|
<script src="../js/jquery.min.js" defer></script>
|
|
<script src="../js/jazzy.js" defer></script>
|
|
|
|
<script src="../js/lunr.min.js" defer></script>
|
|
<script src="../js/typeahead.jquery.js" defer></script>
|
|
<script src="../js/jazzy.search.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<a name="//apple_ref/swift/Struct/BInt" class="dashAnchor"></a>
|
|
<a title="BInt Structure Reference"></a>
|
|
<header>
|
|
<div class="content-wrapper">
|
|
<p><a href="../index.html">BigInt Docs</a> (100% documented)</p>
|
|
<div class="header-right">
|
|
<form role="search" action="../search.json">
|
|
<input type="text" placeholder="Search documentation" data-typeahead>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="content-wrapper">
|
|
<p id="breadcrumbs">
|
|
<a href="../index.html">BigInt Reference</a>
|
|
<img id="carat" src="../img/carat.png" alt=""/>
|
|
BInt Structure Reference
|
|
</p>
|
|
</div>
|
|
<div class="content-wrapper">
|
|
<nav class="sidebar">
|
|
<ul class="nav-groups">
|
|
<li class="nav-group-name">
|
|
<a href="../Structs.html">Structures</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/BFraction.html">BFraction</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/BInt.html">BInt</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Structs/CRT.html">CRT</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a href="../Typealiases.html">Type Aliases</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:6BigInt4Bytea">Byte</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:6BigInt5Bytesa">Bytes</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:6BigInt4Limba">Limb</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a href="../Typealiases.html#/s:6BigInt5Limbsa">Limbs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<article class="main-content">
|
|
<section>
|
|
<section class="section">
|
|
<h1>BInt</h1>
|
|
<div class="declaration">
|
|
<div class="language">
|
|
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">BInt</span> <span class="p">:</span> <span class="kt">CustomStringConvertible</span><span class="p">,</span> <span class="kt">Comparable</span><span class="p">,</span> <span class="kt">Equatable</span><span class="p">,</span> <span class="kt">Hashable</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<p>A signed integer of unbounded size.
|
|
A BInt value is represented with magnitude and sign.
|
|
The magnitude is an array of unsigned 64 bit integers (a.k.a. Limbs).
|
|
The sign is a boolean value, <em>true</em> means value < 0, <em>false</em> means value >= 0
|
|
The representation is little-endian, least significant Limb has index 0.
|
|
The representation is minimal, there is no leading zero Limbs.
|
|
The exception is that the value 0 is represented as a single 64 bit zero Limb and sign <em>false</em></p>
|
|
|
|
</section>
|
|
<section class="section task-group-section">
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Constants"></a>
|
|
<a name="//apple_ref/swift/Section/Constants" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Constants"></a>
|
|
<h3 class="section-name"><span>Constants</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4ZEROACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/ZERO" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4ZEROACvpZ">ZERO</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(0)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">ZERO</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3ONEACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/ONE" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3ONEACvpZ">ONE</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(1)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">ONE</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3TWOACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/TWO" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3TWOACvpZ">TWO</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(2)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">TWO</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5THREEACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/THREE" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5THREEACvpZ">THREE</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(3)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">THREE</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4FOURACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/FOUR" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4FOURACvpZ">FOUR</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(4)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">FOUR</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4FIVEACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/FIVE" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4FIVEACvpZ">FIVE</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(5)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">FIVE</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3SIXACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/SIX" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3SIXACvpZ">SIX</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(6)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">SIX</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5SEVENACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/SEVEN" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5SEVENACvpZ">SEVEN</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(7)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">SEVEN</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5EIGHTACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/EIGHT" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5EIGHTACvpZ">EIGHT</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(8)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">EIGHT</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4NINEACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/NINE" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4NINEACvpZ">NINE</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(9)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">NINE</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3TENACvpZ"></a>
|
|
<a name="//apple_ref/swift/Variable/TEN" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3TENACvpZ">TEN</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>BInt(10)</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">TEN</span><span class="p">:</span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Initializers"></a>
|
|
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Initializers"></a>
|
|
<h3 class="section-name"><span>Initializers</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntVyACSays6UInt64VG_Sbtcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntVyACSays6UInt64VG_Sbtcfc">init(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from magnitude and sign</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">magnitude</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Limbsa">Limbs</a></span><span class="p">,</span> <span class="n">_</span> <span class="nv">isNegative</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>magnitude</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>magnitude of value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>isNegative</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p><em>true</em> means negative value, <em>false</em> means 0 or positive value, default is <em>false</em></p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntVyACSicfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntVyACSicfc">init(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from an Int value</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Int value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntVyACSgSdcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntVyACSgSdcfc">init(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from a decimal value</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">_</span> <span class="nv">d</span><span class="p">:</span> <span class="kt">Double</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>d</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The decimal value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The BInt corresponding to <em>d</em> truncated to an integer value, <em>nil</em> if <em>d</em> is infinite or NaN</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV_5radixACSgSS_Sitcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(_:radix:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV_5radixACSgSS_Sitcfc">init(_:<wbr>radix:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from a String value and radix</p>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<ul>
|
|
<li>BInt(“90abcdef”, radix = 16)</li>
|
|
<li>BInt(“111110010”, radix = 2)</li>
|
|
<li>BInt(“1cdefghijk44”, radix = 26)</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">radix</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>String value to be converted</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>radix</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Radix of x, from 2 to 36 inclusive, default is 10
|
|
Returns: The BInt corresponding to <em>x</em>, <em>nil</em> if <em>x</em> does not designate an integer in the given radix</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8bitWidthACSi_tcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(bitWidth:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8bitWidthACSi_tcfc">init(bitWidth:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a random BInt with a specified number of bits</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
bitWidth is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">bitWidth</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>bitWidth</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Number of bits</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9magnitudeACSays5UInt8VG_tcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(magnitude:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9magnitudeACSays5UInt8VG_tcfc">init(magnitude:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from a big-endian magnitude byte array representation</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Byte array is not empty
|
|
|
|
</div>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<ul>
|
|
<li>The byte array [1, 0, 0] represents BInt value 65536</li>
|
|
<li>The byte array [128, 0] represents BInt value 32768</li>
|
|
<li>The byte array [255, 127] represents BInt value 65407</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n"><a href="../Structs/BInt.html#/s:6BigInt4BIntV9magnitudeSays6UInt64VGvp">magnitude</a></span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Bytesa">Bytes</a></span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Magnitude big-endian byte array</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6signedACSays5UInt8VG_tcfc"></a>
|
|
<a name="//apple_ref/swift/Method/init(signed:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6signedACSays5UInt8VG_tcfc">init(signed:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Constructs a BInt from a big-endian 2’s complement byte array representation</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Byte array is not empty
|
|
|
|
</div>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<ul>
|
|
<li>The byte array [1, 0, 0] represents BInt value 65536</li>
|
|
<li>The byte array [128, 0] represents BInt value -32768</li>
|
|
<li>The byte array [255, 127] represents BInt value -129</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">signed</span> <span class="nv">x</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Bytesa">Bytes</a></span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>2’s complement big-endian byte array</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Stored%20properties"></a>
|
|
<a name="//apple_ref/swift/Section/Stored properties" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Stored%20properties"></a>
|
|
<h3 class="section-name"><span>Stored properties</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10isNegativeSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isNegative" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10isNegativeSbvp">isNegative</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The sign, <em>true</em> if <em>self</em> < 0, <em>false</em> otherwise</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">isNegative</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9magnitudeSays6UInt64VGvp"></a>
|
|
<a name="//apple_ref/swift/Property/magnitude" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9magnitudeSays6UInt64VGvp">magnitude</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The magnitude limb array</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">internal(set)</span> <span class="k">var</span> <span class="nv">magnitude</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Limbsa">Limbs</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Computed%20properties"></a>
|
|
<a name="//apple_ref/swift/Section/Computed properties" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Computed%20properties"></a>
|
|
<h3 class="section-name"><span>Computed properties</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3absACvp"></a>
|
|
<a name="//apple_ref/swift/Property/abs" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3absACvp">abs</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The absolute value of <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">abs</span><span class="p">:</span> <span class="kt">BInt</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8bitWidthSivp"></a>
|
|
<a name="//apple_ref/swift/Property/bitWidth" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8bitWidthSivp">bitWidth</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The number of bits in the binary representation of the magnitude of <em>self</em>. 0 if <em>self</em> = 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">bitWidth</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV11descriptionSSvp"></a>
|
|
<a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV11descriptionSSvp">description</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Base 10 string value of <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6isEvenSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isEven" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6isEvenSbvp">isEven</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> if <em>self</em> is even, <em>false</em> if <em>self</em> is odd</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isEven</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9isNotZeroSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isNotZero" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9isNotZeroSbvp">isNotZero</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>false</em> if <em>self</em> = 0, <em>true</em> otherwise</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isNotZero</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5isOddSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isOdd" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5isOddSbvp">isOdd</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> if <em>self</em> is odd, <em>false</em> if <em>self</em> is even</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isOdd</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5isOneSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isOne" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5isOneSbvp">isOne</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> if <em>self</em> = 1, <em>false</em> otherwise</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isOne</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10isPositiveSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isPositive" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10isPositiveSbvp">isPositive</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> if <em>self</em> > 0, <em>false</em> otherwise</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isPositive</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6isZeroSbvp"></a>
|
|
<a name="//apple_ref/swift/Property/isZero" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6isZeroSbvp">isZero</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is <em>true</em> if <em>self</em> = 0, <em>false</em> otherwise</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isZero</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV19leadingZeroBitCountSivp"></a>
|
|
<a name="//apple_ref/swift/Property/leadingZeroBitCount" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV19leadingZeroBitCountSivp">leadingZeroBitCount</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The number of leading zero bits in the magnitude of <em>self</em>. 0 if <em>self</em> = 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">leadingZeroBitCount</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10populationSivp"></a>
|
|
<a name="//apple_ref/swift/Property/population" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10populationSivp">population</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The number of 1 bits in the magnitude of <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">population</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6signumSivp"></a>
|
|
<a name="//apple_ref/swift/Property/signum" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6signumSivp">signum</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Is 0 if <em>self</em> = 0, 1 if <em>self</em> > 0, and -1 if <em>self</em> < 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">signum</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV20trailingZeroBitCountSivp"></a>
|
|
<a name="//apple_ref/swift/Property/trailingZeroBitCount" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV20trailingZeroBitCountSivp">trailingZeroBitCount</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The number of trailing zero bits in the magnitude of <em>self</em>. 0 if <em>self</em> = 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">trailingZeroBitCount</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Conversion%20functions%20to%20Double%2C%20Int%2C%20String%2C%20and%20Bytes"></a>
|
|
<a name="//apple_ref/swift/Section/Conversion functions to Double, Int, String, and Bytes" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Conversion%20functions%20to%20Double%2C%20Int%2C%20String%2C%20and%20Bytes"></a>
|
|
<h3 class="section-name"><span>Conversion functions to Double, Int, String, and Bytes</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8asDoubleSdyF"></a>
|
|
<a name="//apple_ref/swift/Method/asDouble()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8asDoubleSdyF">asDouble()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p><em>self</em> as a Double</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asDouble</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Double</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>self</em> as a Double or <em>Infinity</em> if <em>self</em> is not representable as a Double</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV02asB0SiSgyF"></a>
|
|
<a name="//apple_ref/swift/Method/asInt()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV02asB0SiSgyF">asInt()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p><em>self</em> as an Int</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asInt</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Int</span><span class="p">?</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>self</em> as an Int or <em>nil</em> if <em>self</em> is not representable as an Int</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV16asMagnitudeBytesSays5UInt8VGyF"></a>
|
|
<a name="//apple_ref/swift/Method/asMagnitudeBytes()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV16asMagnitudeBytesSays5UInt8VGyF">asMagnitudeBytes()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Byte array representation of magnitude value</p>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<ul>
|
|
<li>BInt(1).asMagnitudeBytes() = [1]</li>
|
|
<li>BInt(-1).asMagnitudeBytes() = [1]</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asMagnitudeBytes</span><span class="p">()</span> <span class="o">-></span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Bytesa">Bytes</a></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Minimal big-endian magnitude byte array representation</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13asSignedBytesSays5UInt8VGyF"></a>
|
|
<a name="//apple_ref/swift/Method/asSignedBytes()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13asSignedBytesSays5UInt8VGyF">asSignedBytes()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Byte array representation of 2’s complement value</p>
|
|
|
|
<p>Examples:</p>
|
|
|
|
<ul>
|
|
<li>BInt(1).asSignedBytes() = [1]</li>
|
|
<li>BInt(-1).asSignedBytes() = [255]</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asSignedBytes</span><span class="p">()</span> <span class="o">-></span> <span class="kt"><a href="../Typealiases.html#/s:6BigInt5Bytesa">Bytes</a></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Minimal big-endian 2’s complement byte array representation</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8asString5radix9uppercaseSSSi_SbtF"></a>
|
|
<a name="//apple_ref/swift/Method/asString(radix:uppercase:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8asString5radix9uppercaseSSSi_SbtF">asString(radix:<wbr>uppercase:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p><em>self</em> as a String with a given radix</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Radix between 2 and 36 inclusive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asString</span><span class="p">(</span><span class="nv">radix</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="nv">uppercase</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">)</span> <span class="o">-></span> <span class="kt">String</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>radix</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Radix from 2 to 36 inclusive</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>uppercase</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p><em>true</em> to use uppercase letters, <em>false</em> to use lowercase letters, default is <em>false</em></p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>self</em> as a String in the given radix</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Bit%20operation%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Bit operation functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Bit%20operation%20functions"></a>
|
|
<h3 class="section-name"><span>Bit operation functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1aoiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/&(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1aoiyA2C_ACtFZ">&(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Bitwise <strong>and</strong> operator - behaves as if two’s complement representation were used,</br>
|
|
although this is not actually the case</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">&</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>BInt(signed: bx & by) where
|
|
|
|
<ul>
|
|
<li>bx = x.asSignedBytes()</li>
|
|
<li>by = y.asSignedBytes()</li>
|
|
</ul></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2aeoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/&=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2aeoiyyACz_ACtFZ">&=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x & y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">&=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1ooiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/|(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1ooiyA2C_ACtFZ">|(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Bitwise <strong>or</strong> operator - behaves as if two’s complement representation were used,</br>
|
|
although this is not actually the case</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">|</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>BInt(signed: bx | by) where
|
|
|
|
<ul>
|
|
<li>bx = x.asSignedBytes()</li>
|
|
<li>by = y.asSignedBytes()</li>
|
|
</ul></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2oeoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/|=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2oeoiyyACz_ACtFZ">|=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x | y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">|=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1xoiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/^(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1xoiyA2C_ACtFZ">^(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Bitwise <strong>xor</strong> operator - behaves as if two’s complement representation were used,</br>
|
|
although this is not actually the case</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">^</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>BInt(signed: bx ^ by) where
|
|
|
|
<ul>
|
|
<li>bx = x.asSignedBytes()</li>
|
|
<li>by = y.asSignedBytes()</li>
|
|
</ul></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2xeoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/^=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2xeoiyyACz_ACtFZ">^=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x ^ y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">^=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1topyA2CFZ"></a>
|
|
<a name="//apple_ref/swift/Method/~(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1topyA2CFZ">~(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Bitwise <strong>not</strong> operator - behaves as if two’s complement arithmetic were used,</br>
|
|
although this is not actually the case</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">prefix</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">~</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>BInt value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>-x - 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8clearBityySiF"></a>
|
|
<a name="//apple_ref/swift/Method/clearBit(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8clearBityySiF">clearBit(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Clear a specified bit - a no-op if bit number < 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">clearBit</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Bit number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV7flipBityySiF"></a>
|
|
<a name="//apple_ref/swift/Method/flipBit(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV7flipBityySiF">flipBit(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Invert a specified bit - a no-op if bit number < 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">flipBit</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Bit number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6setBityySiF"></a>
|
|
<a name="//apple_ref/swift/Method/setBit(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6setBityySiF">setBit(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Set a specified bit - a no-op if bit number < 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">setBit</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Bit number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV7testBitySbSiF"></a>
|
|
<a name="//apple_ref/swift/Method/testBit(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV7testBitySbSiF">testBit(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Test a specified bit - <em>false</em> if bit number < 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">testBit</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Bit number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if bit is set, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Addition%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Addition functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Addition%20functions"></a>
|
|
<h3 class="section-name"><span>Addition functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1popyA2CFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1popyA2CFZ">+(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Prefix plus</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">prefix</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>BInt value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1poiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1poiyA2C_ACtFZ">+(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Addition</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x + y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1poiyACSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1poiyACSi_ACtFZ">+(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Addition</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x + y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1poiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1poiyA2C_SitFZ">+(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Addition</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x + y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2peoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2peoiyyACz_ACtFZ">+=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x + y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2peoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/+=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2peoiyyACz_SitFZ">+=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x + y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand addend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Negation%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Negation functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Negation%20functions"></a>
|
|
<h3 class="section-name"><span>Negation functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6negateyyF"></a>
|
|
<a name="//apple_ref/swift/Method/negate()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6negateyyF">negate()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Negates <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">negate</span><span class="p">()</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1sopyA2CFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1sopyA2CFZ">-(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Negation</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">prefix</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>-x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Subtraction%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Subtraction functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Subtraction%20functions"></a>
|
|
<h3 class="section-name"><span>Subtraction functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1soiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1soiyA2C_ACtFZ">-(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Subtraction</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Minuend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Subtrahend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x - y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1soiyACSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1soiyACSi_ACtFZ">-(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Subtraction</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Minuend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Subtrahend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x - y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1soiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1soiyA2C_SitFZ">-(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Subtraction</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Minuend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Subtrahend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x - y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2seoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2seoiyyACz_ACtFZ">-=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x - y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand minuend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand subtrahend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2seoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/-=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2seoiyyACz_SitFZ">-=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x - y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand minuend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand subtrahend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Multiplication%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Multiplication functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Multiplication%20functions"></a>
|
|
<h3 class="section-name"><span>Multiplication functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1moiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/*(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1moiyA2C_ACtFZ">*(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Multiplication</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplier</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplicand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x * y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1moiyACSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/*(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1moiyACSi_ACtFZ">*(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Multiplication</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplier</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplicand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x * y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1moiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/*(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1moiyA2C_SitFZ">*(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Multiplication</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplier</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Multiplicand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x * y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2meoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/*=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2meoiyyACz_ACtFZ">*=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x * y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand multiplier</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand multiplicand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2meoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/*=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2meoiyyACz_SitFZ">*=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x * y</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand multiplier</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand multiplicand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Division%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Division functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Division%20functions"></a>
|
|
<h3 class="section-name"><span>Division functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV20quotientAndRemainder10dividingByAC0D0_AC9remaindertAC_tF"></a>
|
|
<a name="//apple_ref/swift/Method/quotientAndRemainder(dividingBy:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV20quotientAndRemainder10dividingByAC0D0_AC9remaindertAC_tF">quotientAndRemainder(dividingBy:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">quotientAndRemainder</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="nv">quotient</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">remainder</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor - a BInt value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Quotient and remainder of <em>self</em> / x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV20quotientAndRemainder10dividingBy__yAC_ACzACztF"></a>
|
|
<a name="//apple_ref/swift/Method/quotientAndRemainder(dividingBy:_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV20quotientAndRemainder10dividingBy__yAC_ACzACztF">quotientAndRemainder(dividingBy:<wbr>_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">quotientAndRemainder</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">quotient</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">remainder</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor - a BInt value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>quotient</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Set to the quotient of <em>self</em> / x</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>remainder</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Set to the remainder of <em>self</em> / x</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV20quotientAndRemainder10dividingByAC0D0_Si9remaindertSi_tF"></a>
|
|
<a name="//apple_ref/swift/Method/quotientAndRemainder(dividingBy:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV20quotientAndRemainder10dividingByAC0D0_Si9remaindertSi_tF">quotientAndRemainder(dividingBy:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">quotientAndRemainder</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="nv">quotient</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">remainder</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor - an Int value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Quotient and remainder of <em>self</em> / x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV20quotientAndRemainder10dividingBy__ySi_ACzSiztF"></a>
|
|
<a name="//apple_ref/swift/Method/quotientAndRemainder(dividingBy:_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV20quotientAndRemainder10dividingBy__ySi_ACzSiztF">quotientAndRemainder(dividingBy:<wbr>_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">quotientAndRemainder</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="n">_</span> <span class="nv">quotient</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">remainder</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor - an Int value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>quotient</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Set to the quotient of <em>self</em> / x</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>remainder</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Set to the remainder of <em>self</em> / x</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13quotientExact10dividingByA2C_tF"></a>
|
|
<a name="//apple_ref/swift/Method/quotientExact(dividingBy:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13quotientExact10dividingByA2C_tF">quotientExact(dividingBy:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Exact division - that is, the remainder of the division is known to be 0</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">quotientExact</span><span class="p">(</span><span class="n">dividingBy</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor - a BInt value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Quotient of <em>self</em> / x - undefined if the remainder is in fact not 0</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1doiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method//(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1doiyA2C_ACtFZ">/(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x / y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1doiyACSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method//(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1doiyACSi_ACtFZ">/(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x / y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1doiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method//(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1doiyA2C_SitFZ">/(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Division</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x / y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2deoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method//=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2deoiyyACz_ACtFZ">/=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x / y</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2deoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method//=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2deoiyyACz_SitFZ">/=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x / y</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Left hand dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Right hand divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Remainder%20and%20modulus%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Remainder and modulus functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Remainder%20and%20modulus%20functions"></a>
|
|
<h3 class="section-name"><span>Remainder and modulus functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1roiyA2C_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/%(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1roiyA2C_ACtFZ">%(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Remainder</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">%</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x % y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1roiyACSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/%(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1roiyACSi_ACtFZ">%(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Remainder</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">%</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x % y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1roiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/%(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1roiyA2C_SitFZ">%(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Remainder</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">%</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x % y</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2reoiyyACz_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/%=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2reoiyyACz_ACtFZ">%=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x % y</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">%=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2reoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/%=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2reoiyyACz_SitFZ">%=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x % y</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">%=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Dividend</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3modyA2CF"></a>
|
|
<a name="//apple_ref/swift/Method/mod(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3modyA2CF">mod(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Modulus - BInt parameter</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">mod</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>self</em> <em>mod</em> x, a non-negative value</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3modyS2iF"></a>
|
|
<a name="//apple_ref/swift/Method/mod(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3modyS2iF">mod(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Modulus - Int parameter</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Divisor is not zero
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">mod</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Divisor</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>self</em> <em>mod</em> x, a non-negative value</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10modInverseyA2CF"></a>
|
|
<a name="//apple_ref/swift/Method/modInverse(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10modInverseyA2CF">modInverse(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Inverse modulus - BInt parameter</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<em>self</em> and modulus are coprime, modulus is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">modInverse</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Modulus</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>If <em>self</em> and m are coprime, x such that (<em>self</em> * x) mod m = 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10modInverseyS2iF"></a>
|
|
<a name="//apple_ref/swift/Method/modInverse(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10modInverseyS2iF">modInverse(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Inverse modulus - Int parameter</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<em>self</em> and modulus are coprime, modulus is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">modInverse</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Modulus</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>If <em>self</em> and m are coprime, x such that (<em>self</em> * x) mod m = 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Exponentiation%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Exponentiation functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Exponentiation%20functions"></a>
|
|
<h3 class="section-name"><span>Exponentiation functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2mmoiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/**(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2mmoiyA2C_SitFZ">**(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Exponentiation</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Exponent is non-negative
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">**</span> <span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>a</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Non-negative exponent</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>a^x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6expModyA2C_ACtF"></a>
|
|
<a name="//apple_ref/swift/Method/expMod(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6expModyA2C_ACtF">expMod(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Modular exponentiation - BInt modulus</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Modulus is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">expMod</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The exponent</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The modulus, a positive number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>(<em>self</em>^x) mod m for positive x, ((<em>self</em>^-x) mod m) modInverse m for negative x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6expModySiAC_SitF"></a>
|
|
<a name="//apple_ref/swift/Method/expMod(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6expModySiAC_SitF">expMod(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Modular exponentiation - Int modulus</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Modulus is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">expMod</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The exponent</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The modulus, a positive integer</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>(<em>self</em>^x) mod m for positive x, ((<em>self</em>^-x) mod m) modInverse m for negative x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Comparison%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Comparison functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Comparison%20functions"></a>
|
|
<h3 class="section-name"><span>Comparison functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2eeoiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2eeoiySbAC_ACtFZ">==(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x = y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2eeoiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2eeoiySbAC_SitFZ">==(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x = y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2eeoiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2eeoiySbSi_ACtFZ">==(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x = y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2neoiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/!=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2neoiySbAC_ACtFZ">!=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Not equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">!=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x != y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2neoiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/!=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2neoiySbAC_SitFZ">!=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Not equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">!=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x != y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2neoiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/!=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2neoiySbSi_ACtFZ">!=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Not equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">!=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x != y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1loiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1loiySbAC_ACtFZ"><(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x < y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1loiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1loiySbAC_SitFZ"><(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x < y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1loiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1loiySbSi_ACtFZ"><(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x < y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1goiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1goiySbAC_ACtFZ">>(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">></span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x > y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1goiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1goiySbSi_ACtFZ">>(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">></span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x > y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV1goiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV1goiySbAC_SitFZ">>(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">></span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x > y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2leoiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2leoiySbAC_ACtFZ"><=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x <= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2leoiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2leoiySbSi_ACtFZ"><=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x <= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2leoiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2leoiySbAC_SitFZ"><=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Less than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x <= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2geoiySbAC_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2geoiySbAC_ACtFZ">>=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x >= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2geoiySbSi_ACtFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2geoiySbSi_ACtFZ">>=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x >= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2geoiySbAC_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2geoiySbAC_SitFZ">>=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greater than or equal</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>y</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if x >= y, <em>false</em> otherwise</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Shift%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Shift functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Shift%20functions"></a>
|
|
<h3 class="section-name"><span>Shift functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2lloiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<<(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2lloiyA2C_SitFZ"><<(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Logical left shift</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><<</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Shift count</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><ul>
|
|
<li>BInt(x.magnitude << n, x.isNegative) if n > 0</li>
|
|
<li>BInt(x.magnitude >> -n, x.isNegative) if n < 0</li>
|
|
<li>x if n = 0</li>
|
|
</ul></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3lleoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/<<=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3lleoiyyACz_SitFZ"><<=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x << n</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><<=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Shift count</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV2ggoiyA2C_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>>(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV2ggoiyA2C_SitFZ">>>(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Logical right shift</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>></span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Shift count</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><ul>
|
|
<li>BInt(x.magnitude >> n, x.isNegative) if n > 0</li>
|
|
<li>BInt(x.magnitude << -n, x.isNegative) if n < 0</li>
|
|
<li>x if n = 0</li>
|
|
</ul></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3ggeoiyyACz_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/>>=(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3ggeoiyyACz_SitFZ">>>=(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>x = x >> n</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>>=</span> <span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Shift count</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Prime%20number%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Prime number functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Prime%20number%20functions"></a>
|
|
<h3 class="section-name"><span>Prime number functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV15isProbablyPrimeySbSiF"></a>
|
|
<a name="//apple_ref/swift/Method/isProbablyPrime(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV15isProbablyPrimeySbSiF">isProbablyPrime(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Checks whether <em>self</em> is prime using the Miller-Rabin algorithm</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
Probability parameter is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isProbablyPrime</span><span class="p">(</span><span class="n">_</span> <span class="nv">p</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">30</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>If <em>true</em> is returned, <em>self</em> is prime with probability > 1-½^p</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> if <em>self</em> is probably prime, <em>false</em> if <em>self</em> is definitely not prime</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9nextPrimeyACSiF"></a>
|
|
<a name="//apple_ref/swift/Method/nextPrime(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9nextPrimeyACSiF">nextPrime(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>The next probable prime greater than <em>self</em></p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">nextPrime</span><span class="p">(</span><span class="n">_</span> <span class="nv">p</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">30</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The returned number is prime with probability > 1-½^p, default value is 30</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The smallest probable prime greater than <em>self</em>, returns 2 if <em>self</em> is negative</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13probablePrimeyACSi_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/probablePrime(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13probablePrimeyACSi_SitFZ">probablePrime(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>A probable prime number with a given bitwidth</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
bitWidth > 1
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">probablePrime</span><span class="p">(</span><span class="n">_</span> <span class="nv">bitWidth</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="n">_</span> <span class="nv">p</span><span class="p">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">30</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>bitWidth</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The bitWidth - must be > 1</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The returned number is prime with probability > 1-½^p, default value is 30</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>A prime number with the specified bitwidth and probability</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9primorialyACSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/primorial(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9primorialyACSiFZ">primorial(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Product of primes up to n</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
n >= 0
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">primorial</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>number to compute primorial for</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The product of primes less than or equal to n</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Root%20extraction%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Root extraction functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Root%20extraction%20functions"></a>
|
|
<h3 class="section-name"><span>Root extraction functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4rootyACSiF"></a>
|
|
<a name="//apple_ref/swift/Method/root(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4rootyACSiF">root(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>n'th root</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<ul>
|
|
<li><em>self</em> is non-negative or <em>n</em> is odd</li>
|
|
<li>n is positive</li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">root</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The root</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The integer part of the n'th root of <em>self</em></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13rootRemainderyAC0D0_AC3remtSiF"></a>
|
|
<a name="//apple_ref/swift/Method/rootRemainder(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13rootRemainderyAC0D0_AC3remtSiF">rootRemainder(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>n'th root and remainder</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<ul>
|
|
<li><em>self</em> is non-negative or <em>n</em> is odd</li>
|
|
<li>n is positive</li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">rootRemainder</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="nv">root</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">rem</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The root</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>root = the integer part of the n'th root of <em>self</em>, rem = <em>self</em> - root^n</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13isPerfectRootSbyF"></a>
|
|
<a name="//apple_ref/swift/Method/isPerfectRoot()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13isPerfectRootSbyF">isPerfectRoot()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Check whether <em>self</em> is a perfect root, that is, for some integer x and n > 1 <em>self</em> = x^n</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isPerfectRoot</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> iff <em>self</em> is a perfect root</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV4sqrtACyF"></a>
|
|
<a name="//apple_ref/swift/Method/sqrt()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV4sqrtACyF">sqrt()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Square root of a non-negative number</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<em>self</em> is non-negative
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sqrt</span><span class="p">()</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The integer part of the square root of <em>self</em></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV13sqrtRemainderAC4root_AC3remtyF"></a>
|
|
<a name="//apple_ref/swift/Method/sqrtRemainder()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV13sqrtRemainderAC4root_AC3remtyF">sqrtRemainder()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Square root and remainder of a non-negative number</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<em>self</em> is non-negative
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sqrtRemainder</span><span class="p">()</span> <span class="o">-></span> <span class="p">(</span><span class="nv">root</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">rem</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>root = the integer part of the square root of <em>self</em>, rem = <em>self</em> - root^2</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV15isPerfectSquareSbyF"></a>
|
|
<a name="//apple_ref/swift/Method/isPerfectSquare()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV15isPerfectSquareSbyF">isPerfectSquare()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Check whether <em>self</em> is a perfect square, that is, for some integer x <em>self</em> = x^2</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isPerfectSquare</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p><em>true</em> iff <em>self</em> is a perfect square</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV7sqrtModyACSgACF"></a>
|
|
<a name="//apple_ref/swift/Method/sqrtMod(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV7sqrtModyACSgACF">sqrtMod(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Square root modulo a prime number - BInt prime</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sqrtMod</span><span class="p">(</span><span class="n">_</span> <span class="nv">p</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span><span class="p">?</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>An odd prime number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x, such that x^2 = <em>self</em> (mod p), or <em>nil</em> if no such x exists</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV7sqrtModySiSgSiF"></a>
|
|
<a name="//apple_ref/swift/Method/sqrtMod(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV7sqrtModySiSgSiF">sqrtMod(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Square root modulo a prime number - Int prime</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sqrtMod</span><span class="p">(</span><span class="n">_</span> <span class="nv">p</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span><span class="p">?</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>p</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>An odd prime number</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>x, such that x^2 = <em>self</em> (mod p), or <em>nil</em> if no such x exists</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="task-group">
|
|
<div class="task-name-container">
|
|
<a name="/Miscellaneous%20functions"></a>
|
|
<a name="//apple_ref/swift/Section/Miscellaneous functions" class="dashAnchor"></a>
|
|
<div class="section-name-container">
|
|
<a class="section-name-link" href="#/Miscellaneous%20functions"></a>
|
|
<h3 class="section-name"><span>Miscellaneous functions</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
<ul>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV8binomialyACSi_SitFZ"></a>
|
|
<a name="//apple_ref/swift/Method/binomial(_:_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV8binomialyACSi_SitFZ">binomial(_:<wbr>_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Compute binomial coefficient <em>n</em> over <em>k</em></p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
n >= k and k >= 0
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">binomial</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="n">_</span> <span class="nv">k</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>First binomial parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>k</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Second binomial parameter</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Binomial coefficient <em>n</em> over <em>k</em></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9factorialyACSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/factorial(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9factorialyACSiFZ">factorial(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Factorial function</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
n >= 0
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">factorial</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Number to compute factorial for</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>n!</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV9fibonacciyACSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/fibonacci(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV9fibonacciyACSiFZ">fibonacci(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>n'th Fibonacci number</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
n >= 0
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fibonacci</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The fibonacci index</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The n'th fibonacci number</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV10fibonacci2yAC_ACtSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/fibonacci2(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV10fibonacci2yAC_ACtSiFZ">fibonacci2(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Fibonacci pair, n'th and n'th + 1 Fibonacci number</p>
|
|
|
|
<p>Precondition: n >= 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fibonacci2</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="kt">BInt</span><span class="p">,</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The fibonacci index</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The n'th and n'th + 1 fibonacci number</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3gcdyA2CF"></a>
|
|
<a name="//apple_ref/swift/Method/gcd(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3gcdyA2CF">gcd(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Greatest common divisor</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gcd</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Greatest common divisor of <em>self</em> and x</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV11gcdExtendedyAC1g_AC1aAC1btACF"></a>
|
|
<a name="//apple_ref/swift/Method/gcdExtended(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV11gcdExtendedyAC1g_AC1aAC1btACF">gcdExtended(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Extended greatest common divisor</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gcdExtended</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="nv">g</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">,</span> <span class="nv">b</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Greatest common divisor <em>g</em> of <em>self</em> and <em>x</em>, and <em>a</em> and <em>b</em> such that <em>a</em> * <em>self</em> + <em>b</em> * <em>x</em> = <em>g</em></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV12jacobiSymbolySiACF"></a>
|
|
<a name="//apple_ref/swift/Method/jacobiSymbol(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV12jacobiSymbolySiACF">jacobiSymbol(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Jacobi symbol - BInt parameter. If m is an odd prime, this is also the Legendre symbol</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
m is positive and odd
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">jacobiSymbol</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>A positive, odd integer</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The Jacobi symbol of <em>self</em> and m: -1, 0, or 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV12jacobiSymbolyS2iF"></a>
|
|
<a name="//apple_ref/swift/Method/jacobiSymbol(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV12jacobiSymbolyS2iF">jacobiSymbol(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Jacobi symbol - Int parameter. If m is an odd prime, this is also the Legendre symbol</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
m is positive and odd
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">jacobiSymbol</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>A positive, odd integer</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The Jacobi symbol of <em>self</em> and m: -1, 0, or 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV15kroneckerSymbolySiACF"></a>
|
|
<a name="//apple_ref/swift/Method/kroneckerSymbol(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV15kroneckerSymbolySiACF">kroneckerSymbol(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Kronecker symbol - BInt parameter. If m is positive and odd, this is also the Jacobi symbol</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">kroneckerSymbol</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>An integer value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The Kronecker symbol of <em>self</em> and m: -1, 0, or 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV15kroneckerSymbolyS2iF"></a>
|
|
<a name="//apple_ref/swift/Method/kroneckerSymbol(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV15kroneckerSymbolyS2iF">kroneckerSymbol(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Kronecker symbol - Int parameter. If m is positive and odd, this is also the Jacobi symbol</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">kroneckerSymbol</span><span class="p">(</span><span class="n">_</span> <span class="nv">m</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Int</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>m</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>An integer value</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The Kronecker symbol of <em>self</em> and m: -1, 0, or 1</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV3lcmyA2CF"></a>
|
|
<a name="//apple_ref/swift/Method/lcm(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV3lcmyA2CF">lcm(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Least common multiple</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">lcm</span><span class="p">(</span><span class="n">_</span> <span class="nv">x</span><span class="p">:</span> <span class="kt">BInt</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>x</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>Operand</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>Least common multiple of <em>self</em> and <em>x</em> - a non-negative number</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV5lucasyACSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/lucas(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV5lucasyACSiFZ">lucas(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>n'th Lucas number</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
n >= 0
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lucas</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The lucas index</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The n'th lucas number</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV6lucas2yAC_ACtSiFZ"></a>
|
|
<a name="//apple_ref/swift/Method/lucas2(_:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV6lucas2yAC_ACtSiFZ">lucas2(_:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Lucas pair, n'th and n'th + 1 Lucas number</p>
|
|
|
|
<p>Precondition: n >= 0</p>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">lucas2</span><span class="p">(</span><span class="n">_</span> <span class="nv">n</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-></span> <span class="p">(</span><span class="kt">BInt</span><span class="p">,</span> <span class="kt">BInt</span><span class="p">)</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>n</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The lucas index</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>The n'th and n'th + 1 lucas number</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:6BigInt4BIntV14randomLessThanACyF"></a>
|
|
<a name="//apple_ref/swift/Method/randomLessThan()" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:6BigInt4BIntV14randomLessThanACyF">randomLessThan()</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Random value</p>
|
|
<div class="aside aside-precondition">
|
|
<p class="aside-title">Precondition</p>
|
|
<em>self</em> is positive
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">randomLessThan</span><span class="p">()</span> <span class="o">-></span> <span class="kt">BInt</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>A random value < absolute value of <em>self</em></p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section id="footer">
|
|
<p>© 2023 <a class="link" href="" target="_blank" rel="external noopener"></a>. All rights reserved. (Last updated: 2023-06-02)</p>
|
|
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
|
|
</section>
|
|
</article>
|
|
</div>
|
|
</body>
|
|
</html>
|