This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/datasketches-cpp.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new b825256  deploy: c9bdc91ab41e5c41f0b35397bd99776e74dfea3b
b825256 is described below

commit b825256627b873e2663db4fab01ac21b08808897
Author: AlexanderSaydakov <[email protected]>
AuthorDate: Tue Jan 28 18:55:39 2025 +0000

    deploy: c9bdc91ab41e5c41f0b35397bd99776e74dfea3b
---
 docs/master/theta__sketch_8hpp_source.html       |  18 +--
 docs/master/theta__sketch__impl_8hpp_source.html | 174 +++++++++++------------
 2 files changed, 96 insertions(+), 96 deletions(-)

diff --git a/docs/master/theta__sketch_8hpp_source.html 
b/docs/master/theta__sketch_8hpp_source.html
index 2780327..e981b5b 100644
--- a/docs/master/theta__sketch_8hpp_source.html
+++ b/docs/master/theta__sketch_8hpp_source.html
@@ -422,16 +422,18 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  
609</span>  uint32_t index_;</div>
 <div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  
610</span>  uint64_t previous_;</div>
 <div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  
611</span>  <span class="keywordtype">bool</span> is_block_mode_;</div>
-<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  
612</span>  uint8_t buf_i_;</div>
-<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  
613</span>  uint8_t offset_;</div>
-<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  
614</span>  uint64_t buffer_[8];</div>
-<div class="line"><a id="l00615" name="l00615"></a><span class="lineno">  
615</span>};</div>
-<div class="line"><a id="l00616" name="l00616"></a><span class="lineno">  
616</span> </div>
-<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  
617</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  
612</span>  uint8_t offset_;</div>
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  
613</span>  uint64_t buffer_[8];</div>
+<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  
614</span> </div>
+<div class="line"><a id="l00615" name="l00615"></a><span class="lineno">  
615</span>  <span class="keyword">inline</span> <span 
class="keywordtype">void</span> unpack1();</div>
+<div class="line"><a id="l00616" name="l00616"></a><span class="lineno">  
616</span>  <span class="keyword">inline</span> <span 
class="keywordtype">void</span> unpack8();</div>
+<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  
617</span>};</div>
 <div class="line"><a id="l00618" name="l00618"></a><span class="lineno">  
618</span> </div>
-<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  
619</span><span class="preprocessor">#include 
&quot;theta_sketch_impl.hpp&quot;</span></div>
+<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  
619</span>} <span class="comment">/* namespace datasketches */</span></div>
 <div class="line"><a id="l00620" name="l00620"></a><span class="lineno">  
620</span> </div>
-<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  
621</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  
621</span><span class="preprocessor">#include 
&quot;theta_sketch_impl.hpp&quot;</span></div>
+<div class="line"><a id="l00622" name="l00622"></a><span class="lineno">  
622</span> </div>
+<div class="line"><a id="l00623" name="l00623"></a><span class="lineno">  
623</span><span class="preprocessor">#endif</span></div>
 <div class="ttc" 
id="aclassdatasketches_1_1base__theta__sketch__alloc_html"><div 
class="ttname"><a 
href="classdatasketches_1_1base__theta__sketch__alloc.html">datasketches::base_theta_sketch_alloc</a></div><div
 class="ttdoc">Abstract base class for Theta sketch.</div><div 
class="ttdef"><b>Definition</b> theta_sketch.hpp:45</div></div>
 <div class="ttc" 
id="aclassdatasketches_1_1base__theta__sketch__alloc_html_a2afb71f2ef2d82290be4c8eafc08f2a2"><div
 class="ttname"><a 
href="classdatasketches_1_1base__theta__sketch__alloc.html#a2afb71f2ef2d82290be4c8eafc08f2a2">datasketches::base_theta_sketch_alloc::get_estimate</a></div><div
 class="ttdeci">double get_estimate() const</div><div 
class="ttdef"><b>Definition</b> theta_sketch_impl.hpp:47</div></div>
 <div class="ttc" 
id="aclassdatasketches_1_1base__theta__sketch__alloc_html_a2e5c990494331d901c3b38cd4eb316e6"><div
 class="ttname"><a 
href="classdatasketches_1_1base__theta__sketch__alloc.html#a2e5c990494331d901c3b38cd4eb316e6">datasketches::base_theta_sketch_alloc::get_lower_bound</a></div><div
 class="ttdeci">double get_lower_bound(uint8_t num_std_devs) const</div><div 
class="ttdoc">Returns the approximate lower error bound given a number of 
standard deviations.</div><div class="ttdef">< [...]
diff --git a/docs/master/theta__sketch__impl_8hpp_source.html 
b/docs/master/theta__sketch__impl_8hpp_source.html
index b13b291..3fc4605 100644
--- a/docs/master/theta__sketch__impl_8hpp_source.html
+++ b/docs/master/theta__sketch__impl_8hpp_source.html
@@ -1024,96 +1024,94 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00817" name="l00817"></a><span class="lineno">  
817</span>index_(index),</div>
 <div class="line"><a id="l00818" name="l00818"></a><span class="lineno">  
818</span>previous_(0),</div>
 <div class="line"><a id="l00819" name="l00819"></a><span class="lineno">  
819</span>is_block_mode_(num_entries_ &gt;= 8),</div>
-<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  
820</span>buf_i_(0),</div>
-<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  
821</span>offset_(0)</div>
-<div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  
822</span>{</div>
-<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  
823</span>  <span class="keywordflow">if</span> (entry_bits == 64) { <span 
class="comment">// no compression</span></div>
-<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  
824</span>    ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint64_t*<span class="keyword">&gt;</span>(ptr) + 
index;</div>
-<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  
825</span>  } <span class="keywordflow">else</span> <span 
class="keywordflow">if</span> (index &lt; num_entries) {</div>
-<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  
826</span>    <span class="keywordflow">if</span> (is_block_mode_) {</div>
-<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  
827</span>      unpack_bits_block8(buffer_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*<span class="keyword">&gt;</span>(ptr_), entry_bits_);</div>
-<div class="line"><a id="l00828" name="l00828"></a><span class="lineno">  
828</span>      ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(ptr_) + 
entry_bits_;</div>
-<div class="line"><a id="l00829" name="l00829"></a><span class="lineno">  
829</span>      <span class="keywordflow">for</span> (<span 
class="keywordtype">int</span> i = 0; i &lt; 8; ++i) {</div>
-<div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  
830</span>        buffer_[i] += previous_;</div>
-<div class="line"><a id="l00831" name="l00831"></a><span class="lineno">  
831</span>        previous_ = buffer_[i];</div>
-<div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  
832</span>      }</div>
-<div class="line"><a id="l00833" name="l00833"></a><span class="lineno">  
833</span>    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  
834</span>      offset_ = unpack_bits(buffer_[0], entry_bits_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*&amp;<span class="keyword">&gt;</span>(ptr_), offset_);</div>
-<div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  
835</span>      buffer_[0] += previous_;</div>
-<div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  
836</span>      previous_ = buffer_[0];</div>
-<div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  
837</span>    }</div>
+<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  
820</span>offset_(0)</div>
+<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  
821</span>{</div>
+<div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  
822</span>  <span class="keywordflow">if</span> (entry_bits == 64) { <span 
class="comment">// no compression</span></div>
+<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  
823</span>    ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint64_t*<span class="keyword">&gt;</span>(ptr) + 
index;</div>
+<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  
824</span>  } <span class="keywordflow">else</span> <span 
class="keywordflow">if</span> (index &lt; num_entries) {</div>
+<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  
825</span>    <span class="keywordflow">if</span> (is_block_mode_) {</div>
+<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  
826</span>      unpack8();</div>
+<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  
827</span>    } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00828" name="l00828"></a><span class="lineno">  
828</span>      unpack1();</div>
+<div class="line"><a id="l00829" name="l00829"></a><span class="lineno">  
829</span>    }</div>
+<div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  
830</span>  }</div>
+<div class="line"><a id="l00831" name="l00831"></a><span class="lineno">  
831</span>}</div>
+<div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  
832</span> </div>
+<div class="line"><a id="l00833" name="l00833"></a><span class="lineno">  
833</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  
834</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator++()
 -&gt; const_iterator&amp; {</div>
+<div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  
835</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) { <span 
class="comment">// no compression</span></div>
+<div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  
836</span>    ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint64_t*<span class="keyword">&gt;</span>(ptr_) + 
1;</div>
+<div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  
837</span>    <span class="keywordflow">return</span> *<span 
class="keyword">this</span>;</div>
 <div class="line"><a id="l00838" name="l00838"></a><span class="lineno">  
838</span>  }</div>
-<div class="line"><a id="l00839" name="l00839"></a><span class="lineno">  
839</span>}</div>
-<div class="line"><a id="l00840" name="l00840"></a><span class="lineno">  
840</span> </div>
-<div class="line"><a id="l00841" name="l00841"></a><span class="lineno">  
841</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00842" name="l00842"></a><span class="lineno">  
842</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator++()
 -&gt; const_iterator&amp; {</div>
-<div class="line"><a id="l00843" name="l00843"></a><span class="lineno">  
843</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) { <span 
class="comment">// no compression</span></div>
-<div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  
844</span>    ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint64_t*<span class="keyword">&gt;</span>(ptr_) + 
1;</div>
-<div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  
845</span>    <span class="keywordflow">return</span> *<span 
class="keyword">this</span>;</div>
-<div class="line"><a id="l00846" name="l00846"></a><span class="lineno">  
846</span>  }</div>
-<div class="line"><a id="l00847" name="l00847"></a><span class="lineno">  
847</span>  ++index_;</div>
-<div class="line"><a id="l00848" name="l00848"></a><span class="lineno">  
848</span>  <span class="keywordflow">if</span> (index_ &lt; num_entries_) 
{</div>
-<div class="line"><a id="l00849" name="l00849"></a><span class="lineno">  
849</span>    <span class="keywordflow">if</span> (is_block_mode_) {</div>
-<div class="line"><a id="l00850" name="l00850"></a><span class="lineno">  
850</span>      ++buf_i_;</div>
-<div class="line"><a id="l00851" name="l00851"></a><span class="lineno">  
851</span>      <span class="keywordflow">if</span> (buf_i_ == 8) {</div>
-<div class="line"><a id="l00852" name="l00852"></a><span class="lineno">  
852</span>        buf_i_ = 0;</div>
-<div class="line"><a id="l00853" name="l00853"></a><span class="lineno">  
853</span>        <span class="keywordflow">if</span> (index_ + 8 &lt; 
num_entries_) {</div>
-<div class="line"><a id="l00854" name="l00854"></a><span class="lineno">  
854</span>          unpack_bits_block8(buffer_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*<span class="keyword">&gt;</span>(ptr_), entry_bits_);</div>
-<div class="line"><a id="l00855" name="l00855"></a><span class="lineno">  
855</span>          ptr_ = <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*<span class="keyword">&gt;</span>(ptr_) + entry_bits_;</div>
-<div class="line"><a id="l00856" name="l00856"></a><span class="lineno">  
856</span>          <span class="keywordflow">for</span> (<span 
class="keywordtype">int</span> i = 0; i &lt; 8; ++i) {</div>
-<div class="line"><a id="l00857" name="l00857"></a><span class="lineno">  
857</span>            buffer_[i] += previous_;</div>
-<div class="line"><a id="l00858" name="l00858"></a><span class="lineno">  
858</span>            previous_ = buffer_[i];</div>
-<div class="line"><a id="l00859" name="l00859"></a><span class="lineno">  
859</span>          }</div>
-<div class="line"><a id="l00860" name="l00860"></a><span class="lineno">  
860</span>        } <span class="keywordflow">else</span> {</div>
-<div class="line"><a id="l00861" name="l00861"></a><span class="lineno">  
861</span>          is_block_mode_ = <span class="keyword">false</span>;</div>
-<div class="line"><a id="l00862" name="l00862"></a><span class="lineno">  
862</span>          offset_ = unpack_bits(buffer_[0], entry_bits_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*&amp;<span class="keyword">&gt;</span>(ptr_), offset_);</div>
-<div class="line"><a id="l00863" name="l00863"></a><span class="lineno">  
863</span>          buffer_[0] += previous_;</div>
-<div class="line"><a id="l00864" name="l00864"></a><span class="lineno">  
864</span>          previous_ = buffer_[0];</div>
-<div class="line"><a id="l00865" name="l00865"></a><span class="lineno">  
865</span>        }</div>
-<div class="line"><a id="l00866" name="l00866"></a><span class="lineno">  
866</span>      }</div>
-<div class="line"><a id="l00867" name="l00867"></a><span class="lineno">  
867</span>    } <span class="keywordflow">else</span> {</div>
-<div class="line"><a id="l00868" name="l00868"></a><span class="lineno">  
868</span>      offset_ = unpack_bits(buffer_[0], entry_bits_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*&amp;<span class="keyword">&gt;</span>(ptr_), offset_);</div>
-<div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  
869</span>      buffer_[0] += previous_;</div>
-<div class="line"><a id="l00870" name="l00870"></a><span class="lineno">  
870</span>      previous_ = buffer_[0];</div>
-<div class="line"><a id="l00871" name="l00871"></a><span class="lineno">  
871</span>    }</div>
-<div class="line"><a id="l00872" name="l00872"></a><span class="lineno">  
872</span>  }</div>
-<div class="line"><a id="l00873" name="l00873"></a><span class="lineno">  
873</span>  <span class="keywordflow">return</span> *<span 
class="keyword">this</span>;</div>
-<div class="line"><a id="l00874" name="l00874"></a><span class="lineno">  
874</span>}</div>
-<div class="line"><a id="l00875" name="l00875"></a><span class="lineno">  
875</span> </div>
-<div class="line"><a id="l00876" name="l00876"></a><span class="lineno">  
876</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00877" name="l00877"></a><span class="lineno">  
877</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator++(<span
 class="keywordtype">int</span>) -&gt; const_iterator {</div>
-<div class="line"><a id="l00878" name="l00878"></a><span class="lineno">  
878</span>  const_iterator tmp(*<span class="keyword">this</span>);</div>
-<div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  
879</span>  operator++();</div>
-<div class="line"><a id="l00880" name="l00880"></a><span class="lineno">  
880</span>  <span class="keywordflow">return</span> tmp;</div>
-<div class="line"><a id="l00881" name="l00881"></a><span class="lineno">  
881</span>}</div>
-<div class="line"><a id="l00882" name="l00882"></a><span class="lineno">  
882</span> </div>
-<div class="line"><a id="l00883" name="l00883"></a><span class="lineno">  
883</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00884" name="l00884"></a><span class="lineno">  
884</span><span class="keywordtype">bool</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator!=(<span
 class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> 
const </span>{</div>
-<div class="line"><a id="l00885" name="l00885"></a><span class="lineno">  
885</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> ptr_ != other.ptr_;</div>
-<div class="line"><a id="l00886" name="l00886"></a><span class="lineno">  
886</span>  <span class="keywordflow">return</span> index_ != 
other.index_;</div>
-<div class="line"><a id="l00887" name="l00887"></a><span class="lineno">  
887</span>}</div>
-<div class="line"><a id="l00888" name="l00888"></a><span class="lineno">  
888</span> </div>
-<div class="line"><a id="l00889" name="l00889"></a><span class="lineno">  
889</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00890" name="l00890"></a><span class="lineno">  
890</span><span class="keywordtype">bool</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator==(<span
 class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> 
const </span>{</div>
-<div class="line"><a id="l00891" name="l00891"></a><span class="lineno">  
891</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> ptr_ == other.ptr_;</div>
-<div class="line"><a id="l00892" name="l00892"></a><span class="lineno">  
892</span>  <span class="keywordflow">return</span> index_ == 
other.index_;</div>
-<div class="line"><a id="l00893" name="l00893"></a><span class="lineno">  
893</span>}</div>
-<div class="line"><a id="l00894" name="l00894"></a><span class="lineno">  
894</span> </div>
-<div class="line"><a id="l00895" name="l00895"></a><span class="lineno">  
895</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00896" name="l00896"></a><span class="lineno">  
896</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator*()
 const -&gt; reference {</div>
-<div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  
897</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> *<span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint64_t*<span class="keyword">&gt;</span>(ptr_);</div>
-<div class="line"><a id="l00898" name="l00898"></a><span class="lineno">  
898</span>  <span class="keywordflow">return</span> buffer_[buf_i_];</div>
-<div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  
899</span>}</div>
-<div class="line"><a id="l00900" name="l00900"></a><span class="lineno">  
900</span> </div>
-<div class="line"><a id="l00901" name="l00901"></a><span class="lineno">  
901</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
-<div class="line"><a id="l00902" name="l00902"></a><span class="lineno">  
902</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator-&gt;()
 const -&gt; pointer {</div>
-<div class="line"><a id="l00903" name="l00903"></a><span class="lineno">  
903</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint64_t*<span class="keyword">&gt;</span>(ptr_);</div>
-<div class="line"><a id="l00904" name="l00904"></a><span class="lineno">  
904</span>  <span class="keywordflow">return</span> buffer_ + buf_i_;</div>
-<div class="line"><a id="l00905" name="l00905"></a><span class="lineno">  
905</span>}</div>
+<div class="line"><a id="l00839" name="l00839"></a><span class="lineno">  
839</span>  <span class="keywordflow">if</span> (++index_ &lt; num_entries_) 
{</div>
+<div class="line"><a id="l00840" name="l00840"></a><span class="lineno">  
840</span>    <span class="keywordflow">if</span> (is_block_mode_) {</div>
+<div class="line"><a id="l00841" name="l00841"></a><span class="lineno">  
841</span>      <span class="keywordflow">if</span> ((index_ &amp; 7) == 0) 
{</div>
+<div class="line"><a id="l00842" name="l00842"></a><span class="lineno">  
842</span>        <span class="keywordflow">if</span> (num_entries_ - index_ 
&gt;= 8) {</div>
+<div class="line"><a id="l00843" name="l00843"></a><span class="lineno">  
843</span>          unpack8();</div>
+<div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  
844</span>        } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  
845</span>          is_block_mode_ = <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00846" name="l00846"></a><span class="lineno">  
846</span>          unpack1();</div>
+<div class="line"><a id="l00847" name="l00847"></a><span class="lineno">  
847</span>        }</div>
+<div class="line"><a id="l00848" name="l00848"></a><span class="lineno">  
848</span>      }</div>
+<div class="line"><a id="l00849" name="l00849"></a><span class="lineno">  
849</span>    } <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00850" name="l00850"></a><span class="lineno">  
850</span>      unpack1();</div>
+<div class="line"><a id="l00851" name="l00851"></a><span class="lineno">  
851</span>    }</div>
+<div class="line"><a id="l00852" name="l00852"></a><span class="lineno">  
852</span>  }</div>
+<div class="line"><a id="l00853" name="l00853"></a><span class="lineno">  
853</span>  <span class="keywordflow">return</span> *<span 
class="keyword">this</span>;</div>
+<div class="line"><a id="l00854" name="l00854"></a><span class="lineno">  
854</span>}</div>
+<div class="line"><a id="l00855" name="l00855"></a><span class="lineno">  
855</span> </div>
+<div class="line"><a id="l00856" name="l00856"></a><span class="lineno">  
856</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00857" name="l00857"></a><span class="lineno">  
857</span><span class="keywordtype">void</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::unpack1() 
{</div>
+<div class="line"><a id="l00858" name="l00858"></a><span class="lineno">  
858</span>  <span class="keyword">const</span> uint32_t i = index_ &amp; 
7;</div>
+<div class="line"><a id="l00859" name="l00859"></a><span class="lineno">  
859</span>  offset_ = unpack_bits(buffer_[i], entry_bits_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*&amp;<span class="keyword">&gt;</span>(ptr_), offset_);</div>
+<div class="line"><a id="l00860" name="l00860"></a><span class="lineno">  
860</span>  buffer_[i] += previous_;</div>
+<div class="line"><a id="l00861" name="l00861"></a><span class="lineno">  
861</span>  previous_ = buffer_[i];</div>
+<div class="line"><a id="l00862" name="l00862"></a><span class="lineno">  
862</span>}</div>
+<div class="line"><a id="l00863" name="l00863"></a><span class="lineno">  
863</span> </div>
+<div class="line"><a id="l00864" name="l00864"></a><span class="lineno">  
864</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00865" name="l00865"></a><span class="lineno">  
865</span><span class="keywordtype">void</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::unpack8() 
{</div>
+<div class="line"><a id="l00866" name="l00866"></a><span class="lineno">  
866</span>  unpack_bits_block8(buffer_, <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint8_t*<span class="keyword">&gt;</span>(ptr_), entry_bits_);</div>
+<div class="line"><a id="l00867" name="l00867"></a><span class="lineno">  
867</span>  ptr_ = <span class="keyword">reinterpret_cast&lt;</span><span 
class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(ptr_) + 
entry_bits_;</div>
+<div class="line"><a id="l00868" name="l00868"></a><span class="lineno">  
868</span>  <span class="keywordflow">for</span> (<span 
class="keywordtype">int</span> i = 0; i &lt; 8; ++i) {</div>
+<div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  
869</span>    buffer_[i] += previous_;</div>
+<div class="line"><a id="l00870" name="l00870"></a><span class="lineno">  
870</span>    previous_ = buffer_[i];</div>
+<div class="line"><a id="l00871" name="l00871"></a><span class="lineno">  
871</span>  }</div>
+<div class="line"><a id="l00872" name="l00872"></a><span class="lineno">  
872</span>}</div>
+<div class="line"><a id="l00873" name="l00873"></a><span class="lineno">  
873</span> </div>
+<div class="line"><a id="l00874" name="l00874"></a><span class="lineno">  
874</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00875" name="l00875"></a><span class="lineno">  
875</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator++(<span
 class="keywordtype">int</span>) -&gt; const_iterator {</div>
+<div class="line"><a id="l00876" name="l00876"></a><span class="lineno">  
876</span>  const_iterator tmp(*<span class="keyword">this</span>);</div>
+<div class="line"><a id="l00877" name="l00877"></a><span class="lineno">  
877</span>  operator++();</div>
+<div class="line"><a id="l00878" name="l00878"></a><span class="lineno">  
878</span>  <span class="keywordflow">return</span> tmp;</div>
+<div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  
879</span>}</div>
+<div class="line"><a id="l00880" name="l00880"></a><span class="lineno">  
880</span> </div>
+<div class="line"><a id="l00881" name="l00881"></a><span class="lineno">  
881</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00882" name="l00882"></a><span class="lineno">  
882</span><span class="keywordtype">bool</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator!=(<span
 class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> 
const </span>{</div>
+<div class="line"><a id="l00883" name="l00883"></a><span class="lineno">  
883</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> ptr_ != other.ptr_;</div>
+<div class="line"><a id="l00884" name="l00884"></a><span class="lineno">  
884</span>  <span class="keywordflow">return</span> index_ != 
other.index_;</div>
+<div class="line"><a id="l00885" name="l00885"></a><span class="lineno">  
885</span>}</div>
+<div class="line"><a id="l00886" name="l00886"></a><span class="lineno">  
886</span> </div>
+<div class="line"><a id="l00887" name="l00887"></a><span class="lineno">  
887</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00888" name="l00888"></a><span class="lineno">  
888</span><span class="keywordtype">bool</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator==(<span
 class="keyword">const</span> const_iterator&amp; other)<span class="keyword"> 
const </span>{</div>
+<div class="line"><a id="l00889" name="l00889"></a><span class="lineno">  
889</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> ptr_ == other.ptr_;</div>
+<div class="line"><a id="l00890" name="l00890"></a><span class="lineno">  
890</span>  <span class="keywordflow">return</span> index_ == 
other.index_;</div>
+<div class="line"><a id="l00891" name="l00891"></a><span class="lineno">  
891</span>}</div>
+<div class="line"><a id="l00892" name="l00892"></a><span class="lineno">  
892</span> </div>
+<div class="line"><a id="l00893" name="l00893"></a><span class="lineno">  
893</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00894" name="l00894"></a><span class="lineno">  
894</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator*()
 const -&gt; reference {</div>
+<div class="line"><a id="l00895" name="l00895"></a><span class="lineno">  
895</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> *<span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint64_t*<span class="keyword">&gt;</span>(ptr_);</div>
+<div class="line"><a id="l00896" name="l00896"></a><span class="lineno">  
896</span>  <span class="keywordflow">return</span> buffer_[index_ &amp; 
7];</div>
+<div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  
897</span>}</div>
+<div class="line"><a id="l00898" name="l00898"></a><span class="lineno">  
898</span> </div>
+<div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  
899</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> Allocator&gt;</div>
+<div class="line"><a id="l00900" name="l00900"></a><span class="lineno">  
900</span><span class="keyword">auto</span> 
wrapped_compact_theta_sketch_alloc&lt;Allocator&gt;::const_iterator::operator-&gt;()
 const -&gt; pointer {</div>
+<div class="line"><a id="l00901" name="l00901"></a><span class="lineno">  
901</span>  <span class="keywordflow">if</span> (entry_bits_ == 64) <span 
class="keywordflow">return</span> <span 
class="keyword">reinterpret_cast&lt;</span><span class="keyword">const 
</span>uint64_t*<span class="keyword">&gt;</span>(ptr_);</div>
+<div class="line"><a id="l00902" name="l00902"></a><span class="lineno">  
902</span>  <span class="keywordflow">return</span> buffer_ + (index_ &amp; 
7);</div>
+<div class="line"><a id="l00903" name="l00903"></a><span class="lineno">  
903</span>}</div>
+<div class="line"><a id="l00904" name="l00904"></a><span class="lineno">  
904</span> </div>
+<div class="line"><a id="l00905" name="l00905"></a><span class="lineno">  
905</span>} <span class="comment">/* namespace datasketches */</span></div>
 <div class="line"><a id="l00906" name="l00906"></a><span class="lineno">  
906</span> </div>
-<div class="line"><a id="l00907" name="l00907"></a><span class="lineno">  
907</span>} <span class="comment">/* namespace datasketches */</span></div>
-<div class="line"><a id="l00908" name="l00908"></a><span class="lineno">  
908</span> </div>
-<div class="line"><a id="l00909" name="l00909"></a><span class="lineno">  
909</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00907" name="l00907"></a><span class="lineno">  
907</span><span class="preprocessor">#endif</span></div>
 </div>
 </div>
 </div>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to