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 8fe8290  deploy: 75488108b223312b13e4b06346a8edd1afd310c7
8fe8290 is described below

commit 8fe8290c8b2f5b0e404b62d41048d216ffc09180
Author: leerho <[email protected]>
AuthorDate: Wed Feb 11 05:35:35 2026 +0000

    deploy: 75488108b223312b13e4b06346a8edd1afd310c7
---
 docs/master/count__min__impl_8hpp_source.html | 95 ++++++++++++++-------------
 1 file changed, 48 insertions(+), 47 deletions(-)

diff --git a/docs/master/count__min__impl_8hpp_source.html 
b/docs/master/count__min__impl_8hpp_source.html
index a88e715..e251f64 100644
--- a/docs/master/count__min__impl_8hpp_source.html
+++ b/docs/master/count__min__impl_8hpp_source.html
@@ -166,7 +166,7 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   
75</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> W, <span class="keyword">typename</span> 
A&gt;</div>
 <div class="foldopen" id="foldopen00076" data-start="{" data-end="}">
 <div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a 
class="line" 
href="classdatasketches_1_1count__min__sketch.html#a5356c92bb629951dcb748e51677a3886">
   76</a></span><span class="keywordtype">double</span> <a class="code 
hl_function" 
href="classdatasketches_1_1count__min__sketch.html#a5356c92bb629951dcb748e51677a3886">count_min_sketch&lt;W,A&gt;::get_relative_error</a>()<span
 class="keyword"> const </span>{</div>
-<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   
77</span>  <span class="keywordflow">return</span> exp(1.0) / 
double(_num_buckets);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   
77</span>  <span class="keywordflow">return</span> exp(1.0) / <span 
class="keyword">static_cast&lt;</span><span 
class="keywordtype">double</span><span 
class="keyword">&gt;</span>(_num_buckets);</div>
 <div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   
78</span>}</div>
 </div>
 <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   
79</span> </div>
@@ -583,53 +583,54 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  
449</span>  <span class="comment">// count the number of used entries in the 
sketch</span></div>
 <div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  
450</span>  uint64_t num_nonzero = 0;</div>
 <div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  
451</span>  <span class="keywordflow">for</span> (<span 
class="keyword">const</span> <span class="keyword">auto</span> entry: 
_sketch_array) {</div>
-<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  
452</span>    <span class="keywordflow">if</span> (entry != <span 
class="keyword">static_cast&lt;</span>W<span 
class="keyword">&gt;</span>(0.0))</div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  
452</span>    <span class="keywordflow">if</span> (entry != <span 
class="keyword">static_cast&lt;</span>W<span 
class="keyword">&gt;</span>(0.0)){</div>
 <div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  
453</span>      ++num_nonzero;</div>
-<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  
454</span>  }</div>
-<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  
455</span> </div>
-<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  
456</span>  <span class="comment">// Using a temporary stream for 
implementation here does not comply with AllocatorAwareContainer 
requirements.</span></div>
-<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  
457</span>  <span class="comment">// The stream does not support passing an 
allocator instance, and alternatives are complicated.</span></div>
-<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  
458</span>  std::ostringstream os;</div>
-<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  
459</span>  os &lt;&lt; <span class="stringliteral">&quot;### Count Min sketch 
summary:&quot;</span> &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  
460</span>  os &lt;&lt; <span class="stringliteral">&quot;   num hashes     : 
&quot;</span> &lt;&lt; <span 
class="keyword">static_cast&lt;</span>uint32_t<span 
class="keyword">&gt;</span>(_num_hashes) &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  
461</span>  os &lt;&lt; <span class="stringliteral">&quot;   num buckets    : 
&quot;</span> &lt;&lt; _num_buckets &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  
462</span>  os &lt;&lt; <span class="stringliteral">&quot;   capacity bins  : 
&quot;</span> &lt;&lt; _sketch_array.size() &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  
463</span>  os &lt;&lt; <span class="stringliteral">&quot;   filled bins    : 
&quot;</span> &lt;&lt; num_nonzero &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  
464</span>  os &lt;&lt; <span class="stringliteral">&quot;   pct filled     : 
&quot;</span> &lt;&lt; std::setprecision(3) &lt;&lt; (num_nonzero * 100.0) / 
_sketch_array.size() &lt;&lt; <span class="stringliteral">&quot;%&quot;</span> 
&lt;&lt; std::endl;</div>
-<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  
465</span>  os &lt;&lt; <span class="stringliteral">&quot;### End sketch 
summary&quot;</span> &lt;&lt; std::endl;</div>
-<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  
466</span> </div>
-<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  
467</span>  <span class="keywordflow">return</span> 
string&lt;A&gt;(os.str().c_str(), _allocator);</div>
-<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  
468</span>}</div>
-</div>
-<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  
469</span> </div>
-<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  
470</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> W, <span class="keyword">typename</span> 
A&gt;</div>
-<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  
471</span><span class="keywordtype">void</span> <a class="code hl_class" 
href="classdatasketches_1_1count__min__sketch.html">count_min_sketch&lt;W,A&gt;::check_header_validity</a>(uint8_t
 preamble_longs, uint8_t serial_version,  uint8_t family_id, uint8_t 
flags_byte) {</div>
-<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  
472</span>  <span class="keyword">const</span> <span 
class="keywordtype">bool</span> empty = (flags_byte &amp; (1 &lt;&lt; 
flags::IS_EMPTY)) &gt; 0;</div>
-<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  
473</span> </div>
-<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  
474</span>  <span class="keyword">const</span> uint8_t sw = (empty ? 1 : 0) + 
(2 * serial_version) + (4 * family_id) + (32 * (preamble_longs &amp; 
0x3F));</div>
-<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  
475</span>  <span class="keywordtype">bool</span> valid = <span 
class="keyword">true</span>;</div>
-<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  
476</span> </div>
-<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  
477</span>  <span class="keywordflow">switch</span> (sw) { <span 
class="comment">// exhaustive list and description of all valid 
cases</span></div>
-<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  
478</span>    <span class="keywordflow">case</span> 138 : <span 
class="keywordflow">break</span>; <span class="comment">// !empty, ser_ver==1, 
family==18, preLongs=2;</span></div>
-<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  
479</span>    <span class="keywordflow">case</span> 139 : <span 
class="keywordflow">break</span>; <span class="comment">// empty, ser_ver==1, 
family==18, preLongs=2;</span></div>
-<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  
480</span>    <span class="comment">//case 170 : break; // !empty, ser_ver==1, 
family==18, preLongs=3;</span></div>
-<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  
481</span>    default : <span class="comment">// all other case values are 
invalid</span></div>
-<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  
482</span>      valid = <span class="keyword">false</span>;</div>
-<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  
483</span>  }</div>
-<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  
484</span> </div>
-<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  
485</span>  <span class="keywordflow">if</span> (!valid) {</div>
-<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  
486</span>    std::ostringstream os;</div>
-<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  
487</span>    os &lt;&lt; <span class="stringliteral">&quot;Possible sketch 
corruption. Inconsistent state: &quot;</span></div>
-<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  
488</span>       &lt;&lt; <span class="stringliteral">&quot;preamble_longs = 
&quot;</span> &lt;&lt; <span 
class="keyword">static_cast&lt;</span>uint32_t<span 
class="keyword">&gt;</span>(preamble_longs)</div>
-<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  
489</span>       &lt;&lt; <span class="stringliteral">&quot;, empty = 
&quot;</span> &lt;&lt; (empty ? <span 
class="stringliteral">&quot;true&quot;</span> : <span 
class="stringliteral">&quot;false&quot;</span>)</div>
-<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  
490</span>       &lt;&lt; <span class="stringliteral">&quot;, 
serialization_version = &quot;</span> &lt;&lt; 
static_cast&lt;uint32_t&gt;(serial_version);</div>
-<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  
491</span>    <span class="keywordflow">throw</span> 
std::invalid_argument(os.str());</div>
-<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  
492</span>  }</div>
-<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  
493</span>}</div>
-<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  
494</span> </div>
-<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  
495</span>} <span class="comment">/* namespace datasketches */</span></div>
-<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  
496</span> </div>
-<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  
497</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  
454</span>    }</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  
455</span>  }</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  
456</span> </div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  
457</span>  <span class="comment">// Using a temporary stream for 
implementation here does not comply with AllocatorAwareContainer 
requirements.</span></div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  
458</span>  <span class="comment">// The stream does not support passing an 
allocator instance, and alternatives are complicated.</span></div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  
459</span>  std::ostringstream os;</div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  
460</span>  os &lt;&lt; <span class="stringliteral">&quot;### Count Min sketch 
summary:&quot;</span> &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  
461</span>  os &lt;&lt; <span class="stringliteral">&quot;   num hashes     : 
&quot;</span> &lt;&lt; <span 
class="keyword">static_cast&lt;</span>uint32_t<span 
class="keyword">&gt;</span>(_num_hashes) &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  
462</span>  os &lt;&lt; <span class="stringliteral">&quot;   num buckets    : 
&quot;</span> &lt;&lt; _num_buckets &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  
463</span>  os &lt;&lt; <span class="stringliteral">&quot;   capacity bins  : 
&quot;</span> &lt;&lt; _sketch_array.size() &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  
464</span>  os &lt;&lt; <span class="stringliteral">&quot;   filled bins    : 
&quot;</span> &lt;&lt; num_nonzero &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  
465</span>  os &lt;&lt; <span class="stringliteral">&quot;   pct filled     : 
&quot;</span> &lt;&lt; std::setprecision(3) &lt;&lt; (num_nonzero * 100.0) / 
_sketch_array.size() &lt;&lt; <span class="stringliteral">&quot;%&quot;</span> 
&lt;&lt; std::endl;</div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  
466</span>  os &lt;&lt; <span class="stringliteral">&quot;### End sketch 
summary&quot;</span> &lt;&lt; std::endl;</div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  
467</span> </div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  
468</span>  <span class="keywordflow">return</span> 
string&lt;A&gt;(os.str().c_str(), _allocator);</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  
469</span>}</div>
+</div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  
470</span> </div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  
471</span><span class="keyword">template</span>&lt;<span 
class="keyword">typename</span> W, <span class="keyword">typename</span> 
A&gt;</div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  
472</span><span class="keywordtype">void</span> <a class="code hl_class" 
href="classdatasketches_1_1count__min__sketch.html">count_min_sketch&lt;W,A&gt;::check_header_validity</a>(uint8_t
 preamble_longs, uint8_t serial_version,  uint8_t family_id, uint8_t 
flags_byte) {</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  
473</span>  <span class="keyword">const</span> <span 
class="keywordtype">bool</span> empty = (flags_byte &amp; (1 &lt;&lt; 
flags::IS_EMPTY)) &gt; 0;</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  
474</span> </div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  
475</span>  <span class="keyword">const</span> uint8_t sw = (empty ? 1 : 0) + 
(2 * serial_version) + (4 * family_id) + (32 * (preamble_longs &amp; 
0x3F));</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  
476</span>  <span class="keywordtype">bool</span> valid = <span 
class="keyword">true</span>;</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  
477</span> </div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  
478</span>  <span class="keywordflow">switch</span> (sw) { <span 
class="comment">// exhaustive list and description of all valid 
cases</span></div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  
479</span>    <span class="keywordflow">case</span> 138 : <span 
class="keywordflow">break</span>; <span class="comment">// !empty, ser_ver==1, 
family==18, preLongs=2;</span></div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  
480</span>    <span class="keywordflow">case</span> 139 : <span 
class="keywordflow">break</span>; <span class="comment">// empty, ser_ver==1, 
family==18, preLongs=2;</span></div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  
481</span>    <span class="comment">//case 170 : break; // !empty, ser_ver==1, 
family==18, preLongs=3;</span></div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  
482</span>    default : <span class="comment">// all other case values are 
invalid</span></div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  
483</span>      valid = <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  
484</span>  }</div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  
485</span> </div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  
486</span>  <span class="keywordflow">if</span> (!valid) {</div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  
487</span>    std::ostringstream os;</div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  
488</span>    os &lt;&lt; <span class="stringliteral">&quot;Possible sketch 
corruption. Inconsistent state: &quot;</span></div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  
489</span>       &lt;&lt; <span class="stringliteral">&quot;preamble_longs = 
&quot;</span> &lt;&lt; <span 
class="keyword">static_cast&lt;</span>uint32_t<span 
class="keyword">&gt;</span>(preamble_longs)</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  
490</span>       &lt;&lt; <span class="stringliteral">&quot;, empty = 
&quot;</span> &lt;&lt; (empty ? <span 
class="stringliteral">&quot;true&quot;</span> : <span 
class="stringliteral">&quot;false&quot;</span>)</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  
491</span>       &lt;&lt; <span class="stringliteral">&quot;, 
serialization_version = &quot;</span> &lt;&lt; 
static_cast&lt;uint32_t&gt;(serial_version);</div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  
492</span>    <span class="keywordflow">throw</span> 
std::invalid_argument(os.str());</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  
493</span>  }</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  
494</span>}</div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  
495</span> </div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  
496</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  
497</span> </div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  
498</span><span class="preprocessor">#endif</span></div>
 <div class="ttc" id="aclassdatasketches_1_1count__min__sketch_html"><div 
class="ttname"><a 
href="classdatasketches_1_1count__min__sketch.html">datasketches::count_min_sketch</a></div><div
 class="ttdoc">C++ implementation of the CountMin sketch data structure of 
Cormode and Muthukrishnan.</div><div class="ttdef"><b>Definition</b> 
count_min.hpp:37</div></div>
 <div class="ttc" 
id="aclassdatasketches_1_1count__min__sketch_html_a0a9f344e0399b775f82358b8807727af"><div
 class="ttname"><a 
href="classdatasketches_1_1count__min__sketch.html#a0a9f344e0399b775f82358b8807727af">datasketches::count_min_sketch::deserialize</a></div><div
 class="ttdeci">static count_min_sketch deserialize(std::istream &amp;is, 
uint64_t seed=DEFAULT_SEED, const Allocator 
&amp;allocator=Allocator())</div><div class="ttdoc">This method deserializes a 
sketch from a given stream. [...]
 <div class="ttc" 
id="aclassdatasketches_1_1count__min__sketch_html_a1bcdd98ee6e6eb9b501b8dc5de5e8924"><div
 class="ttname"><a 
href="classdatasketches_1_1count__min__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">datasketches::count_min_sketch::serialize</a></div><div
 class="ttdeci">void serialize(std::ostream &amp;os) const</div><div 
class="ttdoc">This method serializes the sketch into a given stream in a binary 
form.</div><div class="ttdef"><b>Definition</b> 
count_min_impl.hpp:270</div></div>


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

Reply via email to