You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by gi...@apache.org on 2025/01/28 18:55:44 UTC

(datasketches-cpp) branch gh-pages updated: deploy: c9bdc91ab41e5c41f0b35397bd99776e74dfea3b

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 <Al...@users.noreply.github.com>
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: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org