Deployed f54a2eb2 to HEAD with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
github-actions
2025-06-17 14:26:17 +00:00
parent 86d0af388e
commit 39db23164a
5 changed files with 20 additions and 21 deletions

View File

@@ -2820,7 +2820,7 @@ may be obtained by subtracting a delta from absolute quantity or absolute quanti
<p class="admonition-title">Info</p>
<p>Based on the above assumptions, one of the lines of the below code can't compile:</p>
<div class="language-cpp highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="n">quantity</span><span class="w"> </span><span class="n">temp1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">270</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">K</span><span class="p">;</span>
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="n">quantity</span><span class="w"> </span><span class="n">temp2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">point</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span><span class="p">(</span><span class="mi">300</span><span class="p">);</span><span class="w"> </span>
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="n">quantity</span><span class="w"> </span><span class="n">temp2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">point</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span><span class="p">(</span><span class="mi">300</span><span class="p">);</span>
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="n">quantity</span><span class="w"> </span><span class="n">temp3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">temp2</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">temp1</span><span class="p">;</span><span class="w"> </span><span class="c1">// Point</span>
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="c1">// quantity temp4 = temp1 - temp2; // Compile-time error</span>
</span><span id="__span-3-5"><a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="n">quantity</span><span class="w"> </span><span class="n">temp5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">temp1</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">temp2</span><span class="p">.</span><span class="n">absolute</span><span class="p">();</span><span class="w"> </span><span class="c1">// Delta</span>
@@ -2841,22 +2841,21 @@ we observe.</p>
</span><span id="__span-4-8"><a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="c1">// point quantities</span>
</span><span id="__span-4-9"><a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="kr">inline</span><span class="w"> </span><span class="k">constexpr</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">floor_level</span><span class="w"> </span><span class="k">final</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">absolute_point_origin</span><span class="o">&lt;</span><span class="n">isq</span><span class="o">::</span><span class="n">height</span><span class="o">&gt;</span><span class="w"> </span><span class="n">floor_level</span><span class="p">;</span>
</span><span id="__span-4-10"><a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a><span class="n">quantity</span><span class="o">&lt;</span><span class="n">point</span><span class="o">&lt;</span><span class="n">isq</span><span class="o">::</span><span class="n">height</span><span class="p">[</span><span class="n">cm</span><span class="p">],</span><span class="w"> </span><span class="n">floor_level</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="n">table_top</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">floor_level</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">m</span><span class="p">;</span>
</span><span id="__span-4-11"><a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a><span class="c1">// quantity&lt;point&lt;isq::height[cm]&gt;&gt; glass1_top(glass1_height); // point against nothing (no length)</span>
</span><span id="__span-4-12"><a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a>
</span><span id="__span-4-13"><a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a><span class="c1">// absolute results</span>
</span><span id="__span-4-14"><a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a><span class="n">quantity</span><span class="w"> </span><span class="n">system_height</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_height</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">glass2_height</span><span class="p">;</span>
</span><span id="__span-4-15"><a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a>
</span><span id="__span-4-16"><a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a><span class="c1">// delta results</span>
</span><span id="__span-4-17"><a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a><span class="n">quantity</span><span class="w"> </span><span class="n">empty_height_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">fluid_level</span><span class="p">;</span>
</span><span id="__span-4-18"><a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a><span class="n">quantity</span><span class="w"> </span><span class="n">glass2_height_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">system_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span><span class="w"> </span><span class="c1">// could result in an absolute quantity</span>
</span><span id="__span-4-19"><a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a><span class="n">assert</span><span class="p">(</span><span class="n">glass2_height_res</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">glass2_height</span><span class="p">);</span>
</span><span id="__span-4-20"><a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a><span class="n">quantity</span><span class="w"> </span><span class="n">height_diff_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass2_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span><span class="w"> </span><span class="c1">// but this one should definitely return delta</span>
</span><span id="__span-4-21"><a id="__codelineno-4-21" name="__codelineno-4-21" href="#__codelineno-4-21"></a>
</span><span id="__span-4-22"><a id="__codelineno-4-22" name="__codelineno-4-22" href="#__codelineno-4-22"></a><span class="c1">// point results</span>
</span><span id="__span-4-23"><a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a><span class="n">quantity</span><span class="o">&lt;</span><span class="n">point</span><span class="o">&lt;</span><span class="n">isq</span><span class="o">::</span><span class="n">height</span><span class="p">[</span><span class="n">cm</span><span class="p">],</span><span class="w"> </span><span class="n">floor_level</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="n">glass1_top</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table_top</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span>
</span><span id="__span-4-24"><a id="__codelineno-4-24" name="__codelineno-4-24" href="#__codelineno-4-24"></a><span class="n">quantity</span><span class="w"> </span><span class="n">point1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_top</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span>
</span><span id="__span-4-25"><a id="__codelineno-4-25" name="__codelineno-4-25" href="#__codelineno-4-25"></a><span class="n">assert</span><span class="p">(</span><span class="n">point1</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">table_top</span><span class="p">);</span>
</span><span id="__span-4-26"><a id="__codelineno-4-26" name="__codelineno-4-26" href="#__codelineno-4-26"></a><span class="c1">// quantity point2 = glass1_height - glass1_top;      // no sense - does not compile</span>
</span><span id="__span-4-11"><a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a>
</span><span id="__span-4-12"><a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a><span class="c1">// absolute results</span>
</span><span id="__span-4-13"><a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a><span class="n">quantity</span><span class="w"> </span><span class="n">system_height</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_height</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">glass2_height</span><span class="p">;</span>
</span><span id="__span-4-14"><a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a>
</span><span id="__span-4-15"><a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a><span class="c1">// delta results</span>
</span><span id="__span-4-16"><a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a><span class="n">quantity</span><span class="w"> </span><span class="n">empty_height_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">fluid_level</span><span class="p">;</span>
</span><span id="__span-4-17"><a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a><span class="n">quantity</span><span class="w"> </span><span class="n">glass2_height_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">system_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span><span class="w"> </span><span class="c1">// could result in an absolute quantity</span>
</span><span id="__span-4-18"><a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a><span class="n">assert</span><span class="p">(</span><span class="n">glass2_height_res</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">glass2_height</span><span class="p">);</span>
</span><span id="__span-4-19"><a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a><span class="n">quantity</span><span class="w"> </span><span class="n">height_diff_res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass2_height</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span><span class="w"> </span><span class="c1">// but this one should definitely return delta</span>
</span><span id="__span-4-20"><a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a>
</span><span id="__span-4-21"><a id="__codelineno-4-21" name="__codelineno-4-21" href="#__codelineno-4-21"></a><span class="c1">// point results</span>
</span><span id="__span-4-22"><a id="__codelineno-4-22" name="__codelineno-4-22" href="#__codelineno-4-22"></a><span class="n">quantity</span><span class="o">&lt;</span><span class="n">point</span><span class="o">&lt;</span><span class="n">isq</span><span class="o">::</span><span class="n">height</span><span class="p">[</span><span class="n">cm</span><span class="p">],</span><span class="w"> </span><span class="n">floor_level</span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="n">glass1_top</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table_top</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span>
</span><span id="__span-4-23"><a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a><span class="n">quantity</span><span class="w"> </span><span class="n">point1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">glass1_top</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">glass1_height</span><span class="p">;</span>
</span><span id="__span-4-24"><a id="__codelineno-4-24" name="__codelineno-4-24" href="#__codelineno-4-24"></a><span class="n">assert</span><span class="p">(</span><span class="n">point1</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">table_top</span><span class="p">);</span>
</span><span id="__span-4-25"><a id="__codelineno-4-25" name="__codelineno-4-25" href="#__codelineno-4-25"></a><span class="c1">// quantity point2 = glass1_height - glass1_top;      // no sense - does not compile</span>
</span></code></pre></div>
<h2 id="new-opportunities">New opportunities<a class="headerlink" href="#new-opportunities" title="Permanent link">&para;</a></h2>
<p>The new syntax simplifies API as one <code>quantity</code> class template will now serve all quantity

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long