1635 lines
80 KiB
HTML
1635 lines
80 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>Rational Struct Reference</title>
|
||
<link rel="stylesheet" type="text/css" href="../css/highlight.css">
|
||
<link rel="stylesheet" type="text/css" href="../css/jazzy.css">
|
||
<script src="../js/jquery.min.js" defer></script>
|
||
<script src="../js/jazzy.js" defer></script>
|
||
|
||
</head>
|
||
<body>
|
||
<a name="//apple_ref/swift/Struct/Rational" class="dashAnchor"></a>
|
||
<a title="Rational Struct Reference"></a>
|
||
<header>
|
||
<p class="primary">
|
||
<a href="../index.html">NumericAnnex Reference</a>
|
||
(100% documented)
|
||
</p>
|
||
<p>
|
||
<a href="https://github.com/xwu/NumericAnnex">View on GitHub</a>
|
||
</p>
|
||
<p>
|
||
<a href="dash-feed://https%3A%2F%2Fxwu%2Egithub%2Eio%2FNumericAnnex%2Fdocsets%2FNumericAnnex%2Exml">Install in Dash</a>
|
||
</p>
|
||
</header>
|
||
<div class="wrapper">
|
||
<nav>
|
||
<ul>
|
||
<li>
|
||
<p><a href="../Classes.html">Classes</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Classes/Random.html">Random</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Classes/Random/Xoroshiro.html">– Xoroshiro</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><a href="../Extensions.html">Extensions</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Extensions/BinaryInteger.html">BinaryInteger</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Extensions/Double.html">Double</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Extensions/Float.html">Float</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Extensions/FloatingPoint.html">FloatingPoint</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Extensions/UnsignedInteger.html">UnsignedInteger</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><a href="../Functions.html">Functions</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex3absAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">abs(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex3absAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">abs(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex4ceilAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">ceil(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex5floorAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">floor(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex5roundAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">round(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex4sqrtAA7ComplexVyxGAeA4RealRzs9DecodableRzs9EncodableRzs33_ExpressibleByBuiltinFloatLiteralRzlF">sqrt(_:)</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Functions.html#/s:12NumericAnnex5truncAA8RationalVyxGAEs9DecodableRzs9EncodableRzs13SignedIntegerRzs021_ExpressibleByBuiltinH7LiteralRzs08UnsignedH09Magnitudes0A0PRpzAkM_AKQZANRSlF">trunc(_:)</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><a href="../Protocols.html">Protocols</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Protocols/Math.html">Math</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Protocols/PRNG.html">PRNG</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Protocols/Real.html">Real</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><a href="../Structs.html">Structs</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Structs/Complex.html">Complex</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Structs/Rational.html">Rational</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<p><a href="../Typealiases.html">Typealiases</a></p>
|
||
<ul>
|
||
<li>
|
||
<a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a>
|
||
</li>
|
||
<li>
|
||
<a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
<article>
|
||
<section>
|
||
<div class="wrapper">
|
||
<div class="overview">
|
||
<h1>Rational</h1>
|
||
<div class="declaration">
|
||
<div class="language">
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">T</span> <span class="p">:</span> <span class="kt">SignedInteger</span><span class="o">></span> <span class="p">:</span> <span class="kt">Codable</span>
|
||
<span class="k">where</span> <span class="kt">T</span> <span class="p">:</span> <span class="kt">Codable</span> <span class="o">&</span> <span class="n">_ExpressibleByBuiltinIntegerLiteral</span><span class="p">,</span>
|
||
<span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="p">:</span> <span class="kt">UnsignedInteger</span><span class="p">,</span>
|
||
<span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span><span class="o">.</span><span class="kt">Magnitude</span> <span class="o">==</span> <span class="kt">T</span><span class="o">.</span><span class="kt">Magnitude</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<p>A type to represent a rational value.</p>
|
||
<div class="aside aside-note">
|
||
<p class="aside-title">Note</p>
|
||
<code>Ratio</code> is a type alias for <code>Rational<Int></code>.
|
||
|
||
</div>
|
||
|
||
<p>Create new instances of <code>Rational<T></code> by using integer literals and the
|
||
division (<code>/</code>) operator. For example:</p>
|
||
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">/</span> <span class="mi">3</span> <span class="k">as</span> <span class="kt">Ratio</span> <span class="c1">// `x` is of type `Rational<Int>`</span>
|
||
<span class="k">let</span> <span class="nv">y</span> <span class="o">=</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Ratio</span> <span class="c1">// `y` is of type `Rational<Int>`</span>
|
||
<span class="k">let</span> <span class="nv">z</span><span class="p">:</span> <span class="kt">Ratio</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">/</span> <span class="mi">3</span> <span class="c1">// `z` is also of type `Rational<Int>`</span>
|
||
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">y</span> <span class="o">+</span> <span class="n">z</span><span class="p">)</span> <span class="c1">// Prints "3"</span>
|
||
</code></pre>
|
||
|
||
<p>You can create an unreduced fraction by using the initializer
|
||
<code><a href="../Structs/Rational.html#/s:12NumericAnnex8RationalVACyxGx9numerator_x11denominatortcfc">Rational<T>.init(numerator:denominator:)</a></code>. For example:</p>
|
||
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="kt">Ratio</span><span class="p">(</span><span class="nv">numerator</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="nv">denominator</span><span class="p">:</span> <span class="mi">3</span><span class="p">)</span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="c1">// Prints "3/3"</span>
|
||
</code></pre>
|
||
|
||
<p>All arithmetic operations on values in canonical form (i.e. reduced to
|
||
lowest terms) return results in canonical form. However, operations on
|
||
values not in canonical form may or may not return results that are
|
||
themselves in canonical form. The property <code>canonicalized</code> is the canonical
|
||
form of any value.</p>
|
||
<h2 id='additional-considerations' class='heading'>Additional Considerations</h2>
|
||
<h3 id='special-values' class='heading'>Special Values</h3>
|
||
|
||
<p><code>Rational<T></code> does not prohibit zero as a denominator. Any instance with a
|
||
positive numerator and zero denominator represents (positive) infinity; any
|
||
instance with a negative numerator and zero denominator represents negative
|
||
infinity; and any instance with zero numerator and zero denominator
|
||
represents NaN (<q>not a number</q>).</p>
|
||
|
||
<p>As with floating-point types, <code><a href="../Structs/Rational.html#/s:12NumericAnnex8RationalV8infinityACyxGvZ">Rational<T>.infinity</a></code> compares greater than
|
||
every finite value and negative infinity, and <code>-Rational<T>.infinity</code>
|
||
compares less than every finite value and positive infinity. Infinite values
|
||
of the same sign compare equal to each other.</p>
|
||
|
||
<p>As with floating-point types, <code><a href="../Structs/Rational.html#/s:12NumericAnnex8RationalV3nanACyxGvZ">Rational<T>.nan</a></code> does not compare equal to
|
||
any other value, including another NaN. Use the property <code>isNaN</code> to test if
|
||
a value is NaN. <code>Rational<T></code> arithmetic operations are intended to
|
||
propagate NaN in the same manner as analogous floating-point operations.</p>
|
||
<h3 id='numerical-limits' class='heading'>Numerical Limits</h3>
|
||
|
||
<p>When a value of type <code>Rational<T></code> is in canonical form, the sign of the
|
||
numerator is the sign of the value; that is, in canonical form, the sign of
|
||
the denominator is always positive. Therefore, <code>-1 / T.min</code> cannot be
|
||
represented as a value of type <code>Rational<T></code> because <code>abs(T.min)</code> cannot be
|
||
represented as a value of type <code>T</code>.</p>
|
||
|
||
<p>To ensure that every representable value of type <code>Rational<T></code> has a
|
||
representable magnitude and reciprocal of the same type, an overflow trap
|
||
occurs when the division (<code>/</code>) operator is used to create a value of type
|
||
<code>Rational<T></code> with numerator <code>T.min</code>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<section class="toc">
|
||
<details open>
|
||
<summary>Topics</summary>
|
||
<div class="wrapper">
|
||
<p><a href="#/Stored%20Properties">Stored Properties</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalV9numeratorxv">numerator</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV11denominatorxv">denominator</a></li>
|
||
</ul>
|
||
<p><a href="#/Initializers">Initializers</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalVACyxGx9numerator_x11denominatortcfc">init(numerator:denominator:)</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalVACyxGqd__cs13BinaryIntegerRd__lufc">init(_:)</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalVACyxGqd__cs19BinaryFloatingPointRd__lufc">init(_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Initializers%20(Constrained)">Initializers (Constrained)</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalVAAs9DecodableRzs9EncodableRzs17FixedWidthIntegerRzs06SignedH0Rzs021_ExpressibleByBuiltinH7LiteralRzsAF9Magnitudes0A0PRpzs08UnsignedH0ALRQAiK_AiKQZALRSlEACyxGSgqd__7exactly_tcs19BinaryFloatingPointRd__lufc">init(exactly:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Static%20Properties">Static Properties</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalV8infinityACyxGvZ">infinity</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV3nanACyxGvZ">nan</a></li>
|
||
</ul>
|
||
<p><a href="#/Static%20Methods">Static Methods</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalV1doiACyxGAE_AEtFZ">/(_:_:)</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV2deoiyACyxGz_AEtFZ">/=(_:_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Computed%20Properties">Computed Properties</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalV9canonicalACyxGv">canonical</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV11isCanonicalSbv">isCanonical</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV8isFiniteSbv">isFinite</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV10isInfiniteSbv">isInfinite</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV5isNaNSbv">isNaN</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV8isProperSbv">isProper</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV6isZeroSbv">isZero</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV9magnitudeACyxGv">magnitude</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV5mixedx5whole_ACyxG10fractionaltv">mixed</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV4signs17FloatingPointSignOv">sign</a></li>
|
||
</ul>
|
||
<p><a href="#/Methods">Methods</a></p>
|
||
<ul>
|
||
<li><a href="#/s:12NumericAnnex8RationalV10reciprocalACyxGyF">reciprocal()</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV7roundedACyxGs25FloatingPointRoundingRuleOF">rounded(_:)</a></li>
|
||
<li><a href="#/s:12NumericAnnex8RationalV5roundys25FloatingPointRoundingRuleOF">round(_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/ExpressibleByIntegerLiteral">ExpressibleByIntegerLiteral</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s27ExpressibleByIntegerLiteralPx0cD4TypeQz07integerD0_tcfc">init(integerLiteral:)</a></li>
|
||
</ul>
|
||
<p><a href="#/CustomStringConvertible">CustomStringConvertible</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s23CustomStringConvertibleP11descriptionSSv">description</a></li>
|
||
</ul>
|
||
<p><a href="#/Equatable">Equatable</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s9EquatableP2eeoiSbx_xtFZ">==(_:_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Hashable">Hashable</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s8HashableP9hashValueSiv">hashValue</a></li>
|
||
</ul>
|
||
<p><a href="#/Comparable">Comparable</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s10ComparableP1loiSbx_xtFZ"><(_:_:)</a></li>
|
||
<li><a href="#/s:s10ComparableP1goiSbx_xtFZ">>(_:_:)</a></li>
|
||
<li><a href="#/s:s10ComparableP2leoiSbx_xtFZ"><=(_:_:)</a></li>
|
||
<li><a href="#/s:s10ComparableP2geoiSbx_xtFZ">>=(_:_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Strideable">Strideable</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s10StrideableP8distance6StrideQzx2to_tF">distance(to:)</a></li>
|
||
<li><a href="#/s:s10StrideableP8advancedx6StrideQz2by_tF">advanced(by:)</a></li>
|
||
</ul>
|
||
<p><a href="#/Numeric">Numeric</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s7NumericPxSgqd__7exactly_tcs13BinaryIntegerRd__lufc">init(exactly:)</a></li>
|
||
<li><a href="#/s:s7NumericP1poixx_xtFZ">+(_:_:)</a></li>
|
||
<li><a href="#/s:s7NumericP2peoiyxz_xtFZ">+=(_:_:)</a></li>
|
||
<li><a href="#/s:s7NumericP1soixx_xtFZ">-(_:_:)</a></li>
|
||
<li><a href="#/s:s7NumericP2seoiyxz_xtFZ">-=(_:_:)</a></li>
|
||
<li><a href="#/s:s7NumericP1moixx_xtFZ">*(_:_:)</a></li>
|
||
<li><a href="#/s:s7NumericP2meoiyxz_xtFZ">*=(_:_:)</a></li>
|
||
</ul>
|
||
<p><a href="#/SignedNumeric">SignedNumeric</a></p>
|
||
<ul>
|
||
<li><a href="#/s:s13SignedNumericP1sopxxFZ">-(_:)</a></li>
|
||
<li><a href="#/s:s13SignedNumericP6negateyyF">negate()</a></li>
|
||
</ul>
|
||
</div>
|
||
</details>
|
||
</section>
|
||
<section>
|
||
<div class="wrapper">
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Stored%20Properties"></a>
|
||
<a name="//apple_ref/swift/Section/Stored Properties" class="dashAnchor"></a>
|
||
<h3>Stored Properties</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV9numeratorxv"></a>
|
||
<a name="//apple_ref/swift/Property/numerator" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>numerator</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The numerator of the rational value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">numerator</span><span class="p">:</span> <span class="kt">T</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV11denominatorxv"></a>
|
||
<a name="//apple_ref/swift/Property/denominator" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>denominator</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The denominator of the rational value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">denominator</span><span class="p">:</span> <span class="kt">T</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Initializers"></a>
|
||
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
|
||
<h3>Initializers</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalVACyxGx9numerator_x11denominatortcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(numerator:denominator:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(numerator:denominator:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Creates a new value from the given numerator and denominator without
|
||
computing its canonical form (i.e., without reducing to lowest terms).</p>
|
||
|
||
<p>To create a value reduced to lowest terms, use the division (<code>/</code>)
|
||
operator. For example:</p>
|
||
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">3</span> <span class="o">/</span> <span class="mi">3</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="c1">// Prints "1"</span>
|
||
</code></pre>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">numerator</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">denominator</span><span class="p">:</span> <span class="kt">T</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>numerator</code></dt>
|
||
<dd>
|
||
<p>The new value’s numerator.</p>
|
||
</dd>
|
||
<dt><code>denominator</code></dt>
|
||
<dd>
|
||
<p>The new value’s denominator.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalVACyxGqd__cs13BinaryIntegerRd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Creates a new rational value from the given binary integer.</p>
|
||
|
||
<p>If <code>source</code> or its magnitude is not representable as a numerator of type
|
||
<code>T</code>, a runtime error may occur.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="o"><</span><span class="kt">Source</span> <span class="p">:</span> <span class="kt">BinaryInteger</span><span class="o">></span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">Source</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>source</code></dt>
|
||
<dd>
|
||
<p>A binary integer to convert to a rational value.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalVACyxGqd__cs19BinaryFloatingPointRd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Creates a new rational value from the given binary floating-point value.</p>
|
||
|
||
<p>If <code>source</code> or its magnitude is not representable exactly as a ratio of
|
||
two signed integers of type <code>T</code>, a runtime error may occur.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="o"><</span><span class="kt">Source</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">></span><span class="p">(</span><span class="n">_</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">Source</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>source</code></dt>
|
||
<dd>
|
||
<p>A binary floating-point value to convert to a rational value.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Initializers%20(Constrained)"></a>
|
||
<a name="//apple_ref/swift/Section/Initializers (Constrained)" class="dashAnchor"></a>
|
||
<h3>Initializers (Constrained)</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalVAAs9DecodableRzs9EncodableRzs17FixedWidthIntegerRzs06SignedH0Rzs021_ExpressibleByBuiltinH7LiteralRzsAF9Magnitudes0A0PRpzs08UnsignedH0ALRQAiK_AiKQZALRSlEACyxGSgqd__7exactly_tcs19BinaryFloatingPointRd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(exactly:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(exactly:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Creates a new rational value from the given binary floating-point value,
|
||
if it can be represented exactly.</p>
|
||
|
||
<p>If <code>source</code> or its magnitude is not representable exactly as a ratio of
|
||
two signed integers of type <code>T</code>, the result is <code>nil</code>.</p>
|
||
<div class="aside aside-note">
|
||
<p class="aside-title">Note</p>
|
||
<p>This initializer creates only instances of
|
||
<code>Rational<T> where T : FixedWidthInteger</code>.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="p">?</span><span class="o"><</span><span class="kt">Source</span> <span class="p">:</span> <span class="kt">BinaryFloatingPoint</span><span class="o">></span><span class="p">(</span><span class="n">exactly</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">Source</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>source</code></dt>
|
||
<dd>
|
||
<p>A floating-point value to convert to a rational value.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Static%20Properties"></a>
|
||
<a name="//apple_ref/swift/Section/Static Properties" class="dashAnchor"></a>
|
||
<h3>Static Properties</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV8infinityACyxGvZ"></a>
|
||
<a name="//apple_ref/swift/Variable/infinity" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>infinity</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Positive infinity.</p>
|
||
|
||
<p>Infinity compares greater than all finite numbers and equal to other
|
||
(positive) infinite values.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">infinity</span><span class="p">:</span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV3nanACyxGvZ"></a>
|
||
<a name="//apple_ref/swift/Variable/nan" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>nan</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A quiet NaN (<q>not a number</q>).</p>
|
||
|
||
<p>A NaN compares not equal, not greater than, and not less than every value,
|
||
including itself. Passing a NaN to an operation generally results in NaN.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">nan</span><span class="p">:</span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Static%20Methods"></a>
|
||
<a name="//apple_ref/swift/Section/Static Methods" class="dashAnchor"></a>
|
||
<h3>Static Methods</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV1doiACyxGAE_AEtFZ"></a>
|
||
<a name="//apple_ref/swift/Method//(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>/(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Returns the quotient obtained by dividing the first value by the second,
|
||
trapping in case of arithmetic overflow.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
<p>The value to divide.</p>
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
<p>The value by which to divide <code>lhs</code>.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV2deoiyACyxGz_AEtFZ"></a>
|
||
<a name="//apple_ref/swift/Method//=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>/=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Divides the left-hand side by the right-hand side and stores the quotient
|
||
in the left-hand side, trapping in case of arithmetic overflow.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">/=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
<p>The value to divide.</p>
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
<p>The value by which to divide <code>lhs</code>.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Computed%20Properties"></a>
|
||
<a name="//apple_ref/swift/Section/Computed Properties" class="dashAnchor"></a>
|
||
<h3>Computed Properties</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV9canonicalACyxGv"></a>
|
||
<a name="//apple_ref/swift/Property/canonical" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>canonical</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The canonical representation of this value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">canonical</span><span class="p">:</span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV11isCanonicalSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isCanonical" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isCanonical</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance’s representation is in
|
||
canonical form.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isCanonical</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV8isFiniteSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isFinite" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isFinite</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance is finite.</p>
|
||
|
||
<p>All values other than NaN and infinity are considered finite.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isFinite</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV10isInfiniteSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isInfinite" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isInfinite</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance is infinite.</p>
|
||
|
||
<p>Note that <code><a href="../Structs/Rational.html#/s:12NumericAnnex8RationalV8isFiniteSbv">isFinite</a></code> and <code>isInfinite</code> do not form a dichotomy because NaN
|
||
is neither finite nor infinite.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isInfinite</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV5isNaNSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isNaN" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isNaN</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance is NaN (<q>not a number</q>).</p>
|
||
|
||
<p>Because NaN is not equal to any value, including NaN, use this property
|
||
instead of the equal-to operator (<code>==</code>) or not-equal-to operator (<code>!=</code>) to
|
||
test whether a value is or is not NaN.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isNaN</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV8isProperSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isProper" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isProper</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance is a proper fraction.</p>
|
||
|
||
<p>A fraction is proper if and only if the absolute value of the fraction is
|
||
less than 1.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isProper</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV6isZeroSbv"></a>
|
||
<a name="//apple_ref/swift/Property/isZero" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>isZero</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>A Boolean value indicating whether the instance is equal to zero.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isZero</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV9magnitudeACyxGv"></a>
|
||
<a name="//apple_ref/swift/Property/magnitude" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>magnitude</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The magnitude (absolute value) of this value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">magnitude</span><span class="p">:</span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV5mixedx5whole_ACyxG10fractionaltv"></a>
|
||
<a name="//apple_ref/swift/Property/mixed" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>mixed</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The mixed form representing this value.</p>
|
||
|
||
<p>If the value is not finite, the mixed form has zero as its whole part and
|
||
the value as its fractional part.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">mixed</span><span class="p">:</span> <span class="p">(</span><span class="nv">whole</span><span class="p">:</span> <span class="kt">T</span><span class="p">,</span> <span class="nv">fractional</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV4signs17FloatingPointSignOv"></a>
|
||
<a name="//apple_ref/swift/Property/sign" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>sign</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>The sign of this value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">sign</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:12NumericAnnex4Signa">Sign</a></span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Methods"></a>
|
||
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
|
||
<h3>Methods</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV10reciprocalACyxGyF"></a>
|
||
<a name="//apple_ref/swift/Method/reciprocal()" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>reciprocal()</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Returns the reciprocal (multiplicative inverse) of this value.</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">reciprocal</span><span class="p">()</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV7roundedACyxGs25FloatingPointRoundingRuleOF"></a>
|
||
<a name="//apple_ref/swift/Method/rounded(_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>rounded(_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Returns this value rounded to an integral value using the specified
|
||
rounding rule.</p>
|
||
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">/</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="nf">rounded</span><span class="p">())</span> <span class="c1">// Prints "4"</span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="nf">rounded</span><span class="p">(</span><span class="o">.</span><span class="n">towardZero</span><span class="p">))</span> <span class="c1">// Prints "3"</span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="nf">rounded</span><span class="p">(</span><span class="o">.</span><span class="n">up</span><span class="p">))</span> <span class="c1">// Prints "4"</span>
|
||
<span class="nf">print</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="nf">rounded</span><span class="p">(</span><span class="o">.</span><span class="n">down</span><span class="p">))</span> <span class="c1">// Prints "3"</span>
|
||
</code></pre>
|
||
|
||
<p>See the <code>FloatingPointRoundingRule</code> enumeration for more information about
|
||
the available rounding rules.</p>
|
||
<div class="aside aside-see-also">
|
||
<p class="aside-title">See also</p>
|
||
<p><code><a href="../Structs/Rational.html#/s:12NumericAnnex8RationalV5roundys25FloatingPointRoundingRuleOF">round(_:)</a></code>, <code><a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a></code></p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">rounded</span><span class="p">(</span>
|
||
<span class="n">_</span> <span class="nv">rule</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">toNearestOrAwayFromZero</span>
|
||
<span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>rule</code></dt>
|
||
<dd>
|
||
<p>The rounding rule to use.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:12NumericAnnex8RationalV5roundys25FloatingPointRoundingRuleOF"></a>
|
||
<a name="//apple_ref/swift/Method/round(_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>round(_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
<p>Rounds the value to an integral value using the specified rounding rule.</p>
|
||
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">/</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="n">x</span><span class="o">.</span><span class="nf">round</span><span class="p">()</span> <span class="c1">// x == 4</span>
|
||
|
||
<span class="k">var</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">/</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="n">x</span><span class="o">.</span><span class="nf">round</span><span class="p">(</span><span class="o">.</span><span class="n">towardZero</span><span class="p">)</span> <span class="c1">// x == 3</span>
|
||
|
||
<span class="k">var</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">/</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="n">x</span><span class="o">.</span><span class="nf">round</span><span class="p">(</span><span class="o">.</span><span class="n">up</span><span class="p">)</span> <span class="c1">// x == 4</span>
|
||
|
||
<span class="k">var</span> <span class="nv">x</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">/</span> <span class="mi">2</span> <span class="k">as</span> <span class="kt">Rational</span><span class="o"><</span><span class="kt">Int</span><span class="o">></span>
|
||
<span class="n">x</span><span class="o">.</span><span class="nf">round</span><span class="p">(</span><span class="o">.</span><span class="n">down</span><span class="p">)</span> <span class="c1">// x == 3</span>
|
||
</code></pre>
|
||
|
||
<p>See the <code>FloatingPointRoundingRule</code> enumeration for more information about
|
||
the available rounding rules.</p>
|
||
<div class="aside aside-see-also">
|
||
<p class="aside-title">See also</p>
|
||
<p><code>round(_:)</code>, <code><a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a></code></p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">round</span><span class="p">(</span><span class="n">_</span> <span class="nv">rule</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:12NumericAnnex12RoundingRulea">RoundingRule</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">toNearestOrAwayFromZero</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>rule</code></dt>
|
||
<dd>
|
||
<p>The rounding rule to use.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/ExpressibleByIntegerLiteral"></a>
|
||
<a name="//apple_ref/swift/Section/ExpressibleByIntegerLiteral" class="dashAnchor"></a>
|
||
<h3>ExpressibleByIntegerLiteral</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s27ExpressibleByIntegerLiteralPx0cD4TypeQz07integerD0_tcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(integerLiteral:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(integerLiteral:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">integerLiteral</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">T</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>value</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/CustomStringConvertible"></a>
|
||
<a name="//apple_ref/swift/Section/CustomStringConvertible" class="dashAnchor"></a>
|
||
<h3>CustomStringConvertible</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s23CustomStringConvertibleP11descriptionSSv"></a>
|
||
<a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>description</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">description</span><span class="p">:</span> <span class="kt">String</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Equatable"></a>
|
||
<a name="//apple_ref/swift/Section/Equatable" class="dashAnchor"></a>
|
||
<h3>Equatable</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s9EquatableP2eeoiSbx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/==(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>==(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">==</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Hashable"></a>
|
||
<a name="//apple_ref/swift/Section/Hashable" class="dashAnchor"></a>
|
||
<h3>Hashable</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s8HashableP9hashValueSiv"></a>
|
||
<a name="//apple_ref/swift/Property/hashValue" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>hashValue</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">hashValue</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Comparable"></a>
|
||
<a name="//apple_ref/swift/Section/Comparable" class="dashAnchor"></a>
|
||
<h3>Comparable</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10ComparableP1loiSbx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/<(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code><(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10ComparableP1goiSbx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/>(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>>(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">></span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10ComparableP2leoiSbx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/<=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code><=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o"><=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10ComparableP2geoiSbx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/>=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>>=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">>=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Bool</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Strideable"></a>
|
||
<a name="//apple_ref/swift/Section/Strideable" class="dashAnchor"></a>
|
||
<h3>Strideable</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10StrideableP8distance6StrideQzx2to_tF"></a>
|
||
<a name="//apple_ref/swift/Method/distance(to:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>distance(to:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">distance</span><span class="p">(</span><span class="n">to</span> <span class="nv">other</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s10StrideableP8advancedx6StrideQz2by_tF"></a>
|
||
<a name="//apple_ref/swift/Method/advanced(by:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>advanced(by:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">advanced</span><span class="p">(</span><span class="n">by</span> <span class="nv">amount</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/Numeric"></a>
|
||
<a name="//apple_ref/swift/Section/Numeric" class="dashAnchor"></a>
|
||
<h3>Numeric</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericPxSgqd__7exactly_tcs13BinaryIntegerRd__lufc"></a>
|
||
<a name="//apple_ref/swift/Method/init(exactly:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>init(exactly:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">init</span><span class="p">?</span><span class="o"><</span><span class="kt">U</span><span class="o">></span><span class="p">(</span><span class="n">exactly</span> <span class="nv">source</span><span class="p">:</span> <span class="kt">U</span><span class="p">)</span> <span class="k">where</span> <span class="kt">U</span> <span class="p">:</span> <span class="kt">BinaryInteger</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>source</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP1poixx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/+(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>+(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP2peoiyxz_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/+=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>+=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">+=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP1soixx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/-(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>-(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP2seoiyxz_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/-=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>-=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">-=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP1moixx_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/*(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>*(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s7NumericP2meoiyxz_xtFZ"></a>
|
||
<a name="//apple_ref/swift/Method/*=(_:_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>*=(_:_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="o">*=</span> <span class="p">(</span><span class="nv">lhs</span><span class="p">:</span> <span class="k">inout</span> <span class="kt">Rational</span><span class="p">,</span> <span class="nv">rhs</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="parameters">
|
||
<h5>Parameters</h5>
|
||
<dl>
|
||
<dt><code>lhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
<dt><code>rhs</code></dt>
|
||
<dd>
|
||
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="group">
|
||
<div>
|
||
<a name="/SignedNumeric"></a>
|
||
<a name="//apple_ref/swift/Section/SignedNumeric" class="dashAnchor"></a>
|
||
<h3>SignedNumeric</h3>
|
||
</div>
|
||
<ul>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s13SignedNumericP1sopxxFZ"></a>
|
||
<a name="//apple_ref/swift/Method/-(_:)" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>-(_:)</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">prefix</span> <span class="kd">func</span> <span class="o">-</span> <span class="p">(</span><span class="nv">operand</span><span class="p">:</span> <span class="kt">Rational</span><span class="p">)</span> <span class="o">-></span> <span class="kt">Rational</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
<li>
|
||
<div>
|
||
<a name="/s:s13SignedNumericP6negateyyF"></a>
|
||
<a name="//apple_ref/swift/Method/negate()" class="dashAnchor"></a>
|
||
<h4>
|
||
<code>negate()</code>
|
||
</h4>
|
||
</div>
|
||
<div class="abstract">
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h5>Declaration</h5>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight"><code><span class="kd">public</span> <span class="k">mutating</span> <span class="kd">func</span> <span class="nf">negate</span><span class="p">()</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</article>
|
||
</div>
|
||
<footer>
|
||
<p>© 2017 <a class="link" href="https://diploid.ca" target="_blank" rel="external">Xiaodi Wu</a>. All rights reserved. (Last updated: 2017-08-12)</p>
|
||
<p>Generated by <a href="https://github.com/realm/jazzy" target="_blank" rel="external">Jazzy</a> v0.8.3, a <a href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
|
||
</footer>
|
||
</body>
|
||
</div>
|
||
</html>
|