Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / histogram / doc / html / boost / histogram / accumulators / sum.html
index 9722ce6..da2d28e 100644 (file)
 <span class="keyword">class</span> <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
   <span class="comment">// <a class="link" href="sum.html#boost.histogram.accumulators.sumconstruct-copy-destruct">construct/copy/destruct</a></span>
-  <a class="link" href="sum.html#idm45525156249232-bb"><span class="identifier">sum</span></a><span class="special">(</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">default</span><span class="special">;</span>
-  <span class="keyword">explicit</span> <a class="link" href="sum.html#idm45525156248672-bb"><span class="identifier">sum</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
-  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156246848-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+  <a class="link" href="sum.html#idm45414525141184-bb"><span class="identifier">sum</span></a><span class="special">(</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">default</span><span class="special">;</span>
+  <span class="keyword">explicit</span> <a class="link" href="sum.html#idm45414525140624-bb"><span class="identifier">sum</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525138800-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
 
-  <span class="comment">// <a class="link" href="sum.html#idm45525156268416-bb">public member functions</a></span>
-  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156267856-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
-  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156266432-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
-  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156264304-bb"><span class="keyword">operator</span> <span class="special">*=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
-  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="sum.html#idm45525156262192-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="sum.html" title="Class template sum">sum</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
-  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="sum.html#idm45525156259088-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
-  <span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156256432-bb"><span class="identifier">large</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-  <span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45525156255008-bb"><span class="identifier">small</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-  <a class="link" href="sum.html#idm45525156253584-bb"><span class="keyword">operator</span> <span class="identifier">RealType</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Archive<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="sum.html#idm45525156252464-bb"><span class="identifier">serialize</span></a><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">)</span><span class="special">;</span>
+  <span class="comment">// <a class="link" href="sum.html#idm45414525160368-bb">public member functions</a></span>
+  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525159808-bb"><span class="keyword">operator</span><span class="special">++</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525158384-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525156256-bb"><span class="keyword">operator</span> <span class="special">*=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="sum.html#idm45414525154144-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="sum.html" title="Class template sum">sum</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="sum.html#idm45414525151040-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
+  <span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525148384-bb"><span class="identifier">large</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+  <span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a class="link" href="sum.html#idm45414525146960-bb"><span class="identifier">small</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+  <a class="link" href="sum.html#idm45414525145536-bb"><span class="keyword">operator</span> <span class="identifier">RealType</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Archive<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="sum.html#idm45414525144416-bb"><span class="identifier">serialize</span></a><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">)</span><span class="special">;</span>
 <span class="special">}</span><span class="special">;</span></pre></div>
 <div class="refsect1">
-<a name="idm45952482750432"></a><h2>Description</h2>
+<a name="idm45212148985600"></a><h2>Description</h2>
 <p>The algorithm uses memory for two floats and is three to five times slower compared to a simple floating point number used to accumulate a sum, but the relative error of the sum is at the level of the machine precision, independent of the number of samples.</p>
 <p>A. Neumaier, Zeitschrift fuer Angewandte Mathematik und Mechanik 54 (1974) 39-51. </p>
 <div class="refsect2">
-<a name="idm45952482749232"></a><h3>
+<a name="idm45212148984304"></a><h3>
 <a name="boost.histogram.accumulators.sumconstruct-copy-destruct"></a><code class="computeroutput">sum</code> 
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><pre class="literallayout"><a name="idm45525156249232-bb"></a><span class="identifier">sum</span><span class="special">(</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">default</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><a name="idm45414525141184-bb"></a><span class="identifier">sum</span><span class="special">(</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">default</span><span class="special">;</span></pre></li>
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45525156248672-bb"></a><span class="identifier">sum</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Initialize sum to value. </li>
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45414525140624-bb"></a><span class="identifier">sum</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Initialize sum to value. </li>
 <li class="listitem">
-<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45525156246848-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Set sum to value. </li>
+<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45414525138800-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Set sum to value. </li>
 </ol></div>
 </div>
 <div class="refsect2">
-<a name="idm45952482726288"></a><h3>
-<a name="idm45525156268416-bb"></a><code class="computeroutput">sum</code> public member functions</h3>
+<a name="idm45212148961264"></a><h3>
+<a name="idm45414525160368-bb"></a><code class="computeroutput">sum</code> public member functions</h3>
 <div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
-<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45525156267856-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>Increment sum by one. </li>
+<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45414525159808-bb"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>Increment sum by one. </li>
 <li class="listitem">
-<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45525156266432-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Increment sum by value. </li>
+<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45414525158384-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Increment sum by value. </li>
 <li class="listitem">
-<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45525156264304-bb"></a><span class="keyword">operator</span> <span class="special">*=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Scale by value. </li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a name="idm45525156262192-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="sum.html" title="Class template sum">sum</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a name="idm45525156259088-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
+<pre class="literallayout"><a class="link" href="sum.html" title="Class template sum">sum</a> <span class="special">&amp;</span> <a name="idm45414525156256-bb"></a><span class="keyword">operator</span> <span class="special">*=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>Scale by value. </li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a name="idm45414525154144-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="sum.html" title="Class template sum">sum</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">bool</span> <a name="idm45414525151040-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a name="idm45525156256432-bb"></a><span class="identifier">large</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Return large part of the sum. </li>
+<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a name="idm45414525148384-bb"></a><span class="identifier">large</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Return large part of the sum. </li>
 <li class="listitem">
-<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a name="idm45525156255008-bb"></a><span class="identifier">small</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Return small part of the sum. </li>
-<li class="listitem"><pre class="literallayout"><a name="idm45525156253584-bb"></a><span class="keyword">operator</span> <span class="identifier">RealType</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Archive<span class="special">&gt;</span> <span class="keyword">void</span> <a name="idm45525156252464-bb"></a><span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">unsigned</span><span class="special">)</span><span class="special">;</span></pre></li>
+<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">RealType</span> <span class="special">&amp;</span> <a name="idm45414525146960-bb"></a><span class="identifier">small</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Return small part of the sum. </li>
+<li class="listitem"><pre class="literallayout"><a name="idm45414525145536-bb"></a><span class="keyword">operator</span> <span class="identifier">RealType</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Archive<span class="special">&gt;</span> <span class="keyword">void</span> <a name="idm45414525144416-bb"></a><span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span> ar<span class="special">,</span> <span class="keyword">unsigned</span><span class="special">)</span><span class="special">;</span></pre></li>
 </ol></div>
 </div>
 </div>