2026-02-17 15:51:23 +08:00

2675 lines
68 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Struct Fraction&lt;TEva&gt; | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Struct Fraction&lt;TEva&gt; | HiAPI-C# 2025 ">
<meta name="description" content="Pure C# unlimited precision fraction.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.Geom.Fraction`1">
<h1 id="Hi_Geom_Fraction_1" data-uid="Hi.Geom.Fraction`1" class="text-break">
Struct Fraction&lt;TEva&gt;
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Geom.html">Geom</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
</div>
<div class="markdown summary"><p>Pure C# unlimited precision fraction.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public struct Fraction&lt;TEva&gt; : IComparable&lt;Fraction&lt;TEva&gt;&gt;, IEquatable&lt;Fraction&lt;TEva&gt;&gt; where TEva : struct, INumber&lt;TEva&gt;</code></pre>
</div>
<h4 class="section">Type Parameters</h4>
<dl class="parameters">
<dt><code>TEva</code></dt>
<dd><p>Evaluated floating point type (e.g. double, decimal).</p>
</dd>
</dl>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.icomparable-1">IComparable</a>&lt;<a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;&gt;</div>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;<a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;&gt;</div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>
<dd>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke&lt;TSrc&gt;(TSrc, Action&lt;TSrc&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke&lt;TSrc, TDst&gt;(TSrc, Func&lt;TSrc, TDst&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_GetMaskedValue__1___0___0_System_Boolean_">MaskUtil.GetMaskedValue&lt;T&gt;(T, T, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_SetMask__1___0____0_System_Boolean_">MaskUtil.SetMask&lt;T&gt;(ref T, T, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Geom.MathUtil.html#Hi_Geom_MathUtil_Clamp__1___0___0___0_">MathUtil.Clamp&lt;T&gt;(T, T, T)</a>
</div>
<div>
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
</div>
<div>
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
</div>
</dd></dl>
<h2 id="Hi_Geom_Fraction_1_remarks">Remarks</h2>
<div class="markdown level0 remarks"><p>A fraction consists of a numerator and denominator using <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a>.</p>
<p>The fraction may be not packed or not evaluated.
However, all fraction numerator and denominator are singular managed
and denominator is never negative.</p>
<p>Design mirrors geom::fraction_t&lt;0, EvaType&gt; in CppCore.</p>
</div>
<h2 class="section" id="constructors">Constructors
</h2>
<a id="Hi_Geom_Fraction_1__ctor_" data-uid="Hi.Geom.Fraction`1.#ctor*"></a>
<h3 id="Hi_Geom_Fraction_1__ctor" data-uid="Hi.Geom.Fraction`1.#ctor">
Fraction()
</h3>
<div class="markdown level1 summary"><p>Initializes a zero fraction (0/0, status=None).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction()</code></pre>
</div>
<a id="Hi_Geom_Fraction_1__ctor_" data-uid="Hi.Geom.Fraction`1.#ctor*"></a>
<h3 id="Hi_Geom_Fraction_1__ctor_System_Int64_" data-uid="Hi.Geom.Fraction`1.#ctor(System.Int64)">
Fraction(long)
</h3>
<div class="markdown level1 summary"><p>Initializes a fraction with integer value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction(long num)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>num</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd><p>The integer value.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1__ctor_" data-uid="Hi.Geom.Fraction`1.#ctor*"></a>
<h3 id="Hi_Geom_Fraction_1__ctor_System_Int64_System_Int64_" data-uid="Hi.Geom.Fraction`1.#ctor(System.Int64,System.Int64)">
Fraction(long, long)
</h3>
<div class="markdown level1 summary"><p>Initializes a fraction with numerator and denominator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction(long num, long den)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>num</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd><p>The numerator.</p>
</dd>
<dt><code>den</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd><p>The denominator.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1__ctor_" data-uid="Hi.Geom.Fraction`1.#ctor*"></a>
<h3 id="Hi_Geom_Fraction_1__ctor_System_Numerics_BigInteger_" data-uid="Hi.Geom.Fraction`1.#ctor(System.Numerics.BigInteger)">
Fraction(BigInteger)
</h3>
<div class="markdown level1 summary"><p>Initializes a fraction with integer value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction(BigInteger num)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>num</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a></dt>
<dd><p>The integer value.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1__ctor_" data-uid="Hi.Geom.Fraction`1.#ctor*"></a>
<h3 id="Hi_Geom_Fraction_1__ctor_System_Numerics_BigInteger_System_Numerics_BigInteger_" data-uid="Hi.Geom.Fraction`1.#ctor(System.Numerics.BigInteger,System.Numerics.BigInteger)">
Fraction(BigInteger, BigInteger)
</h3>
<div class="markdown level1 summary"><p>Initializes a fraction with numerator and denominator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction(BigInteger num, BigInteger den)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>num</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a></dt>
<dd><p>The numerator.</p>
</dd>
<dt><code>den</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a></dt>
<dd><p>The denominator.</p>
</dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_Geom_Fraction_1_CeilInt_" data-uid="Hi.Geom.Fraction`1.CeilInt*"></a>
<h3 id="Hi_Geom_Fraction_1_CeilInt" data-uid="Hi.Geom.Fraction`1.CeilInt">
CeilInt
</h3>
<div class="markdown level1 summary"><p>Gets the ceiling integer value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly int CeilInt { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Denominator_" data-uid="Hi.Geom.Fraction`1.Denominator*"></a>
<h3 id="Hi_Geom_Fraction_1_Denominator" data-uid="Hi.Geom.Fraction`1.Denominator">
Denominator
</h3>
<div class="markdown level1 summary"><p>Gets or sets the denominator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public BigInteger Denominator { readonly get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_FloorInt_" data-uid="Hi.Geom.Fraction`1.FloorInt*"></a>
<h3 id="Hi_Geom_Fraction_1_FloorInt" data-uid="Hi.Geom.Fraction`1.FloorInt">
FloorInt
</h3>
<div class="markdown level1 summary"><p>Gets the floor integer value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly int FloorInt { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_IsEvaluated_" data-uid="Hi.Geom.Fraction`1.IsEvaluated*"></a>
<h3 id="Hi_Geom_Fraction_1_IsEvaluated" data-uid="Hi.Geom.Fraction`1.IsEvaluated">
IsEvaluated
</h3>
<div class="markdown level1 summary"><p>Gets whether the fraction value has been evaluated.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool IsEvaluated { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_IsFinite_" data-uid="Hi.Geom.Fraction`1.IsFinite*"></a>
<h3 id="Hi_Geom_Fraction_1_IsFinite" data-uid="Hi.Geom.Fraction`1.IsFinite">
IsFinite
</h3>
<div class="markdown level1 summary"><p>Gets whether the fraction is finite (denominator != 0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool IsFinite { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_IsNaN_" data-uid="Hi.Geom.Fraction`1.IsNaN*"></a>
<h3 id="Hi_Geom_Fraction_1_IsNaN" data-uid="Hi.Geom.Fraction`1.IsNaN">
IsNaN
</h3>
<div class="markdown level1 summary"><p>Gets whether the fraction is NaN (0/0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool IsNaN { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_IsPacked_" data-uid="Hi.Geom.Fraction`1.IsPacked*"></a>
<h3 id="Hi_Geom_Fraction_1_IsPacked" data-uid="Hi.Geom.Fraction`1.IsPacked">
IsPacked
</h3>
<div class="markdown level1 summary"><p>Gets whether the fraction is packed (reduced to irreducible form).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool IsPacked { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_IsZero_" data-uid="Hi.Geom.Fraction`1.IsZero*"></a>
<h3 id="Hi_Geom_Fraction_1_IsZero" data-uid="Hi.Geom.Fraction`1.IsZero">
IsZero
</h3>
<div class="markdown level1 summary"><p>Gets whether the fraction is zero (numerator == 0 and denominator != 0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool IsZero { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_NaN_" data-uid="Hi.Geom.Fraction`1.NaN*"></a>
<h3 id="Hi_Geom_Fraction_1_NaN" data-uid="Hi.Geom.Fraction`1.NaN">
NaN
</h3>
<div class="markdown level1 summary"><p>NaN fraction (0/0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; NaN { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_NegativeInf_" data-uid="Hi.Geom.Fraction`1.NegativeInf*"></a>
<h3 id="Hi_Geom_Fraction_1_NegativeInf" data-uid="Hi.Geom.Fraction`1.NegativeInf">
NegativeInf
</h3>
<div class="markdown level1 summary"><p>Negative infinity fraction (-1/0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; NegativeInf { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Numerator_" data-uid="Hi.Geom.Fraction`1.Numerator*"></a>
<h3 id="Hi_Geom_Fraction_1_Numerator" data-uid="Hi.Geom.Fraction`1.Numerator">
Numerator
</h3>
<div class="markdown level1 summary"><p>Gets or sets the numerator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public BigInteger Numerator { readonly get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.numerics.biginteger">BigInteger</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_One_" data-uid="Hi.Geom.Fraction`1.One*"></a>
<h3 id="Hi_Geom_Fraction_1_One" data-uid="Hi.Geom.Fraction`1.One">
One
</h3>
<div class="markdown level1 summary"><p>One fraction (1/1).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; One { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_PositiveInf_" data-uid="Hi.Geom.Fraction`1.PositiveInf*"></a>
<h3 id="Hi_Geom_Fraction_1_PositiveInf" data-uid="Hi.Geom.Fraction`1.PositiveInf">
PositiveInf
</h3>
<div class="markdown level1 summary"><p>Positive infinity fraction (1/0).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; PositiveInf { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_RoughValue_" data-uid="Hi.Geom.Fraction`1.RoughValue*"></a>
<h3 id="Hi_Geom_Fraction_1_RoughValue" data-uid="Hi.Geom.Fraction`1.RoughValue">
RoughValue
</h3>
<div class="markdown level1 summary"><p>Gets the roughly evaluated value.
If the data has not been reduced, the return value is not evaluated by the reduced numbers.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TEva RoughValue { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><span class="xref">TEva</span></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Sign_" data-uid="Hi.Geom.Fraction`1.Sign*"></a>
<h3 id="Hi_Geom_Fraction_1_Sign" data-uid="Hi.Geom.Fraction`1.Sign">
Sign
</h3>
<div class="markdown level1 summary"><p>Gets the sign of the fraction (-1, 0, or 1).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly int Sign { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Status_" data-uid="Hi.Geom.Fraction`1.Status*"></a>
<h3 id="Hi_Geom_Fraction_1_Status" data-uid="Hi.Geom.Fraction`1.Status">
Status
</h3>
<div class="markdown level1 summary"><p>Gets the status flags.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly FractionStatus Status { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.FractionStatus.html">FractionStatus</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Value_" data-uid="Hi.Geom.Fraction`1.Value*"></a>
<h3 id="Hi_Geom_Fraction_1_Value" data-uid="Hi.Geom.Fraction`1.Value">
Value
</h3>
<div class="markdown level1 summary"><p>Gets the evaluated value. Computes the value if not yet evaluated.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TEva Value { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><span class="xref">TEva</span></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Zero_" data-uid="Hi.Geom.Fraction`1.Zero*"></a>
<h3 id="Hi_Geom_Fraction_1_Zero" data-uid="Hi.Geom.Fraction`1.Zero">
Zero
</h3>
<div class="markdown level1 summary"><p>Zero fraction (0/1).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; Zero { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_Geom_Fraction_1_Abs_" data-uid="Hi.Geom.Fraction`1.Abs*"></a>
<h3 id="Hi_Geom_Fraction_1_Abs" data-uid="Hi.Geom.Fraction`1.Abs">
Abs()
</h3>
<div class="markdown level1 summary"><p>Gets the absolute value as a new fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly Fraction&lt;TEva&gt; Abs()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_CompareTo_" data-uid="Hi.Geom.Fraction`1.CompareTo*"></a>
<h3 id="Hi_Geom_Fraction_1_CompareTo_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.CompareTo(Hi.Geom.Fraction{`0})">
CompareTo(Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Compares this fraction with another.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly int CompareTo(Fraction&lt;TEva&gt; other)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>other</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>The other fraction.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>-1 if less, 0 if equal, 1 if greater.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Equals_" data-uid="Hi.Geom.Fraction`1.Equals*"></a>
<h3 id="Hi_Geom_Fraction_1_Equals_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.Equals(Hi.Geom.Fraction{`0})">
Equals(Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Indicates whether the current object is equal to another object of the same type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly bool Equals(Fraction&lt;TEva&gt; other)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>other</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>An object to compare with this object.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p><a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">true</a> if the current object is equal to the <code class="paramref">other</code> parameter; otherwise, <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">false</a>.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Equals_" data-uid="Hi.Geom.Fraction`1.Equals*"></a>
<h3 id="Hi_Geom_Fraction_1_Equals_System_Object_" data-uid="Hi.Geom.Fraction`1.Equals(System.Object)">
Equals(object)
</h3>
<div class="markdown level1 summary"><p>Indicates whether this instance and a specified object are equal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override readonly bool Equals(object obj)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>obj</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></dt>
<dd><p>The object to compare with the current instance.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p><a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">true</a> if <code class="paramref">obj</code> and this instance are the same type and represent the same value; otherwise, <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">false</a>.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Evaluate_" data-uid="Hi.Geom.Fraction`1.Evaluate*"></a>
<h3 id="Hi_Geom_Fraction_1_Evaluate" data-uid="Hi.Geom.Fraction`1.Evaluate">
Evaluate()
</h3>
<div class="markdown level1 summary"><p>Evaluates the value if not already evaluated.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; Evaluate()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_GetHashCode_" data-uid="Hi.Geom.Fraction`1.GetHashCode*"></a>
<h3 id="Hi_Geom_Fraction_1_GetHashCode" data-uid="Hi.Geom.Fraction`1.GetHashCode">
GetHashCode()
</h3>
<div class="markdown level1 summary"><p>Returns the hash code for this instance.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>A 32-bit signed integer that is the hash code for this instance.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Negate_" data-uid="Hi.Geom.Fraction`1.Negate*"></a>
<h3 id="Hi_Geom_Fraction_1_Negate" data-uid="Hi.Geom.Fraction`1.Negate">
Negate()
</h3>
<div class="markdown level1 summary"><p>Negates this fraction in place.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; Negate()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Pack_" data-uid="Hi.Geom.Fraction`1.Pack*"></a>
<h3 id="Hi_Geom_Fraction_1_Pack" data-uid="Hi.Geom.Fraction`1.Pack">
Pack()
</h3>
<div class="markdown level1 summary"><p>Packs (reduces) the fraction to irreducible form if not already packed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; Pack()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_PerformanceTest_" data-uid="Hi.Geom.Fraction`1.PerformanceTest*"></a>
<h3 id="Hi_Geom_Fraction_1_PerformanceTest_System_Int32_System_Int32_" data-uid="Hi.Geom.Fraction`1.PerformanceTest(System.Int32,System.Int32)">
PerformanceTest(int, int)
</h3>
<div class="markdown level1 summary"><p>Performance test for Fraction (pure C#).
Test 1: Accumulative += with Val (bounded, linear growth).
Test 2: Bounded arithmetic (converging average).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void PerformanceTest(int iterations = 128, int rounds = 16)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>iterations</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Number of steps per round.</p>
</dd>
<dt><code>rounds</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Number of rounds to average timing.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Reciprocal_" data-uid="Hi.Geom.Fraction`1.Reciprocal*"></a>
<h3 id="Hi_Geom_Fraction_1_Reciprocal" data-uid="Hi.Geom.Fraction`1.Reciprocal">
Reciprocal()
</h3>
<div class="markdown level1 summary"><p>Gets the reciprocal as a new fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly Fraction&lt;TEva&gt; Reciprocal()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_SetAbs_" data-uid="Hi.Geom.Fraction`1.SetAbs*"></a>
<h3 id="Hi_Geom_Fraction_1_SetAbs" data-uid="Hi.Geom.Fraction`1.SetAbs">
SetAbs()
</h3>
<div class="markdown level1 summary"><p>Sets this fraction to its absolute value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; SetAbs()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_SetReciprocal_" data-uid="Hi.Geom.Fraction`1.SetReciprocal*"></a>
<h3 id="Hi_Geom_Fraction_1_SetReciprocal" data-uid="Hi.Geom.Fraction`1.SetReciprocal">
SetReciprocal()
</h3>
<div class="markdown level1 summary"><p>Sets this fraction to its reciprocal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; SetReciprocal()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_SetSquare_" data-uid="Hi.Geom.Fraction`1.SetSquare*"></a>
<h3 id="Hi_Geom_Fraction_1_SetSquare" data-uid="Hi.Geom.Fraction`1.SetSquare">
SetSquare()
</h3>
<div class="markdown level1 summary"><p>Sets this fraction to its square.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; SetSquare()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Simplify_" data-uid="Hi.Geom.Fraction`1.Simplify*"></a>
<h3 id="Hi_Geom_Fraction_1_Simplify__0_" data-uid="Hi.Geom.Fraction`1.Simplify(`0)">
Simplify(TEva)
</h3>
<div class="markdown level1 summary"><p>Simplifies the fraction to the specified resolution using Stern-Brocot binary search.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Fraction&lt;TEva&gt; Simplify(TEva resolution)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>resolution</code> <span class="xref">TEva</span></dt>
<dd><p>The resolution tolerance.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>This instance for chaining.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Square_" data-uid="Hi.Geom.Fraction`1.Square*"></a>
<h3 id="Hi_Geom_Fraction_1_Square" data-uid="Hi.Geom.Fraction`1.Square">
Square()
</h3>
<div class="markdown level1 summary"><p>Gets the square as a new fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public readonly Fraction&lt;TEva&gt; Square()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_Test_" data-uid="Hi.Geom.Fraction`1.Test*"></a>
<h3 id="Hi_Geom_Fraction_1_Test" data-uid="Hi.Geom.Fraction`1.Test">
Test()
</h3>
<div class="markdown level1 summary"><p>Test function for Fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Test()</code></pre>
</div>
<a id="Hi_Geom_Fraction_1_ToString_" data-uid="Hi.Geom.Fraction`1.ToString*"></a>
<h3 id="Hi_Geom_Fraction_1_ToString" data-uid="Hi.Geom.Fraction`1.ToString">
ToString()
</h3>
<div class="markdown level1 summary"><p>Returns the fully qualified type name of this instance.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override readonly string ToString()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The fully qualified type name.</p>
</dd>
</dl>
<a id="Hi_Geom_Fraction_1_Val_" data-uid="Hi.Geom.Fraction`1.Val*"></a>
<h3 id="Hi_Geom_Fraction_1_Val__0__0_" data-uid="Hi.Geom.Fraction`1.Val(`0,`0)">
Val(TEva, TEva)
</h3>
<div class="markdown level1 summary"><p>Creates a fraction by approximating a double value with specified resolution.
Uses Stern-Brocot binary search.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; Val(TEva val, TEva resolution)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>val</code> <span class="xref">TEva</span></dt>
<dd><p>The double value to approximate.</p>
</dd>
<dt><code>resolution</code> <span class="xref">TEva</span></dt>
<dd><p>The resolution tolerance.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd><p>The approximated fraction.</p>
</dd>
</dl>
<h2 class="section" id="operators">Operators
</h2>
<a id="Hi_Geom_Fraction_1_op_Addition_" data-uid="Hi.Geom.Fraction`1.op_Addition*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Addition_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Addition(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator +(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Addition: fraction + fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator +(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Addition_" data-uid="Hi.Geom.Fraction`1.op_Addition*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Addition_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Addition(Hi.Geom.Fraction{`0},System.Int64)">
operator +(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Addition: fraction + integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator +(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Addition_" data-uid="Hi.Geom.Fraction`1.op_Addition*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Addition_System_Int64_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Addition(System.Int64,Hi.Geom.Fraction{`0})">
operator +(long, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Addition: integer + fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator +(long a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Division_" data-uid="Hi.Geom.Fraction`1.op_Division*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Division_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Division(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator /(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Division: fraction / fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator /(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Division_" data-uid="Hi.Geom.Fraction`1.op_Division*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Division_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Division(Hi.Geom.Fraction{`0},System.Int64)">
operator /(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Division: fraction / integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator /(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Division_" data-uid="Hi.Geom.Fraction`1.op_Division*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Division_System_Int64_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Division(System.Int64,Hi.Geom.Fraction{`0})">
operator /(long, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Division: integer / fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator /(long a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Equality_" data-uid="Hi.Geom.Fraction`1.op_Equality*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Equality_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Equality(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator ==(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Equality operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator ==(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Equality_" data-uid="Hi.Geom.Fraction`1.op_Equality*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Equality_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Equality(Hi.Geom.Fraction{`0},System.Int64)">
operator ==(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Equality with integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator ==(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Explicit_" data-uid="Hi.Geom.Fraction`1.op_Explicit*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Explicit_Hi_Geom_Fraction__0___System_Double" data-uid="Hi.Geom.Fraction`1.op_Explicit(Hi.Geom.Fraction{`0})~System.Double">
explicit operator double(Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Explicit conversion to double.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static explicit operator double(Fraction&lt;TEva&gt; f)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>f</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_GreaterThan_" data-uid="Hi.Geom.Fraction`1.op_GreaterThan*"></a>
<h3 id="Hi_Geom_Fraction_1_op_GreaterThan_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_GreaterThan(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator &gt;(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Greater than operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &gt;(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_GreaterThan_" data-uid="Hi.Geom.Fraction`1.op_GreaterThan*"></a>
<h3 id="Hi_Geom_Fraction_1_op_GreaterThan_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_GreaterThan(Hi.Geom.Fraction{`0},System.Int64)">
operator &gt;(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Greater than integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &gt;(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_GreaterThanOrEqual_" data-uid="Hi.Geom.Fraction`1.op_GreaterThanOrEqual*"></a>
<h3 id="Hi_Geom_Fraction_1_op_GreaterThanOrEqual_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_GreaterThanOrEqual(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator &gt;=(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Greater than or equal operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &gt;=(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_GreaterThanOrEqual_" data-uid="Hi.Geom.Fraction`1.op_GreaterThanOrEqual*"></a>
<h3 id="Hi_Geom_Fraction_1_op_GreaterThanOrEqual_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_GreaterThanOrEqual(Hi.Geom.Fraction{`0},System.Int64)">
operator &gt;=(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Greater than or equal to integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &gt;=(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Implicit_" data-uid="Hi.Geom.Fraction`1.op_Implicit*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Implicit_System_Int32__Hi_Geom_Fraction__0_" data-uid="Hi.Geom.Fraction`1.op_Implicit(System.Int32)~Hi.Geom.Fraction{`0}">
implicit operator Fraction&lt;TEva&gt;(int)
</h3>
<div class="markdown level1 summary"><p>Implicit conversion from int.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static implicit operator Fraction&lt;TEva&gt;(int v)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>v</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Implicit_" data-uid="Hi.Geom.Fraction`1.op_Implicit*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Implicit_System_Int64__Hi_Geom_Fraction__0_" data-uid="Hi.Geom.Fraction`1.op_Implicit(System.Int64)~Hi.Geom.Fraction{`0}">
implicit operator Fraction&lt;TEva&gt;(long)
</h3>
<div class="markdown level1 summary"><p>Implicit conversion from long.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static implicit operator Fraction&lt;TEva&gt;(long v)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>v</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Inequality_" data-uid="Hi.Geom.Fraction`1.op_Inequality*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Inequality_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Inequality(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator !=(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Inequality operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator !=(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Inequality_" data-uid="Hi.Geom.Fraction`1.op_Inequality*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Inequality_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Inequality(Hi.Geom.Fraction{`0},System.Int64)">
operator !=(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Inequality with integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator !=(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_LessThan_" data-uid="Hi.Geom.Fraction`1.op_LessThan*"></a>
<h3 id="Hi_Geom_Fraction_1_op_LessThan_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_LessThan(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator &lt;(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Less than operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &lt;(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_LessThan_" data-uid="Hi.Geom.Fraction`1.op_LessThan*"></a>
<h3 id="Hi_Geom_Fraction_1_op_LessThan_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_LessThan(Hi.Geom.Fraction{`0},System.Int64)">
operator &lt;(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Less than integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &lt;(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_LessThanOrEqual_" data-uid="Hi.Geom.Fraction`1.op_LessThanOrEqual*"></a>
<h3 id="Hi_Geom_Fraction_1_op_LessThanOrEqual_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_LessThanOrEqual(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator &lt;=(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Less than or equal operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &lt;=(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_LessThanOrEqual_" data-uid="Hi.Geom.Fraction`1.op_LessThanOrEqual*"></a>
<h3 id="Hi_Geom_Fraction_1_op_LessThanOrEqual_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_LessThanOrEqual(Hi.Geom.Fraction{`0},System.Int64)">
operator &lt;=(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Less than or equal to integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool operator &lt;=(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Multiply_" data-uid="Hi.Geom.Fraction`1.op_Multiply*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Multiply_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Multiply(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator *(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Multiplication: fraction * fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator *(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Multiply_" data-uid="Hi.Geom.Fraction`1.op_Multiply*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Multiply_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Multiply(Hi.Geom.Fraction{`0},System.Int64)">
operator *(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Multiplication: fraction * integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator *(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Multiply_" data-uid="Hi.Geom.Fraction`1.op_Multiply*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Multiply_System_Int64_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Multiply(System.Int64,Hi.Geom.Fraction{`0})">
operator *(long, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Multiplication: integer * fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator *(long a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Subtraction_" data-uid="Hi.Geom.Fraction`1.op_Subtraction*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Subtraction_Hi_Geom_Fraction__0__Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Subtraction(Hi.Geom.Fraction{`0},Hi.Geom.Fraction{`0})">
operator -(Fraction&lt;TEva&gt;, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Subtraction: fraction - fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator -(Fraction&lt;TEva&gt; a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Subtraction_" data-uid="Hi.Geom.Fraction`1.op_Subtraction*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Subtraction_Hi_Geom_Fraction__0__System_Int64_" data-uid="Hi.Geom.Fraction`1.op_Subtraction(Hi.Geom.Fraction{`0},System.Int64)">
operator -(Fraction&lt;TEva&gt;, long)
</h3>
<div class="markdown level1 summary"><p>Subtraction: fraction - integer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator -(Fraction&lt;TEva&gt; a, long b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_Subtraction_" data-uid="Hi.Geom.Fraction`1.op_Subtraction*"></a>
<h3 id="Hi_Geom_Fraction_1_op_Subtraction_System_Int64_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_Subtraction(System.Int64,Hi.Geom.Fraction{`0})">
operator -(long, Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Subtraction: integer - fraction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator -(long a, Fraction&lt;TEva&gt; b)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
<dt><code>b</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Geom_Fraction_1_op_UnaryNegation_" data-uid="Hi.Geom.Fraction`1.op_UnaryNegation*"></a>
<h3 id="Hi_Geom_Fraction_1_op_UnaryNegation_Hi_Geom_Fraction__0__" data-uid="Hi.Geom.Fraction`1.op_UnaryNegation(Hi.Geom.Fraction{`0})">
operator -(Fraction&lt;TEva&gt;)
</h3>
<div class="markdown level1 summary"><p>Negation operator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static Fraction&lt;TEva&gt; operator -(Fraction&lt;TEva&gt; a)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>a</code> <a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Fraction-1.html">Fraction</a>&lt;TEva&gt;</dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>