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
"theta_sketch_impl.hpp"</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
"theta_sketch_impl.hpp"</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_ >= 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<</span><span
class="keyword">const </span>uint64_t*<span class="keyword">></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 < 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<</span><span class="keyword">const
</span>uint8_t*<span class="keyword">></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<</span><span
class="keyword">const </span>uint8_t*<span class="keyword">></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 < 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<</span><span class="keyword">const
</span>uint8_t*&<span class="keyword">></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<</span><span
class="keyword">const </span>uint64_t*<span class="keyword">></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 < 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator++()
-> const_iterator& {</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<</span><span
class="keyword">const </span>uint64_t*<span class="keyword">></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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator++()
-> const_iterator& {</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<</span><span
class="keyword">const </span>uint64_t*<span class="keyword">></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_ < 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 <
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<</span><span class="keyword">const
</span>uint8_t*<span class="keyword">></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<</span><span class="keyword">const
</span>uint8_t*<span class="keyword">></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 < 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<</span><span class="keyword">const
</span>uint8_t*&<span class="keyword">></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<</span><span class="keyword">const
</span>uint8_t*&<span class="keyword">></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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator++(<span
class="keywordtype">int</span>) -> 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator!=(<span
class="keyword">const</span> const_iterator& 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator==(<span
class="keyword">const</span> const_iterator& 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator*()
const -> 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<</span><span class="keyword">const
</span>uint64_t*<span class="keyword">></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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator->()
const -> 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<</span><span class="keyword">const
</span>uint64_t*<span class="keyword">></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_ < 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_ & 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_
>= 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::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_ &
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<</span><span class="keyword">const
</span>uint8_t*&<span class="keyword">></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><<span
class="keyword">typename</span> Allocator></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<Allocator>::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<</span><span class="keyword">const
</span>uint8_t*<span class="keyword">></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<</span><span
class="keyword">const </span>uint8_t*<span class="keyword">></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 < 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator++(<span
class="keywordtype">int</span>) -> 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator!=(<span
class="keyword">const</span> const_iterator& 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator==(<span
class="keyword">const</span> const_iterator& 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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator*()
const -> 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<</span><span class="keyword">const
</span>uint64_t*<span class="keyword">></span>(ptr_);</div>
+<div class="line"><a id="l00896" name="l00896"></a><span class="lineno">
896</span> <span class="keywordflow">return</span> buffer_[index_ &
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><<span
class="keyword">typename</span> Allocator></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<Allocator>::const_iterator::operator->()
const -> 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<</span><span class="keyword">const
</span>uint64_t*<span class="keyword">></span>(ptr_);</div>
+<div class="line"><a id="l00902" name="l00902"></a><span class="lineno">
902</span> <span class="keywordflow">return</span> buffer_ + (index_ &
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]