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><<span
class="keyword">typename</span> W, <span class="keyword">typename</span>
A></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<W,A>::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<</span><span
class="keywordtype">double</span><span
class="keyword">></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<</span>W<span
class="keyword">></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<</span>W<span
class="keyword">></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 << <span class="stringliteral">"### Count Min sketch
summary:"</span> << std::endl;</div>
-<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">
460</span> os << <span class="stringliteral">" num hashes :
"</span> << <span
class="keyword">static_cast<</span>uint32_t<span
class="keyword">></span>(_num_hashes) << std::endl;</div>
-<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">
461</span> os << <span class="stringliteral">" num buckets :
"</span> << _num_buckets << std::endl;</div>
-<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">
462</span> os << <span class="stringliteral">" capacity bins :
"</span> << _sketch_array.size() << std::endl;</div>
-<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">
463</span> os << <span class="stringliteral">" filled bins :
"</span> << num_nonzero << std::endl;</div>
-<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">
464</span> os << <span class="stringliteral">" pct filled :
"</span> << std::setprecision(3) << (num_nonzero * 100.0) /
_sketch_array.size() << <span class="stringliteral">"%"</span>
<< std::endl;</div>
-<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">
465</span> os << <span class="stringliteral">"### End sketch
summary"</span> << 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<A>(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><<span
class="keyword">typename</span> W, <span class="keyword">typename</span>
A></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<W,A>::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 & (1 <<
flags::IS_EMPTY)) > 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 &
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 << <span class="stringliteral">"Possible sketch
corruption. Inconsistent state: "</span></div>
-<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">
488</span> << <span class="stringliteral">"preamble_longs =
"</span> << <span
class="keyword">static_cast<</span>uint32_t<span
class="keyword">></span>(preamble_longs)</div>
-<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">
489</span> << <span class="stringliteral">", empty =
"</span> << (empty ? <span
class="stringliteral">"true"</span> : <span
class="stringliteral">"false"</span>)</div>
-<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">
490</span> << <span class="stringliteral">",
serialization_version = "</span> <<
static_cast<uint32_t>(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 << <span class="stringliteral">"### Count Min sketch
summary:"</span> << std::endl;</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">
461</span> os << <span class="stringliteral">" num hashes :
"</span> << <span
class="keyword">static_cast<</span>uint32_t<span
class="keyword">></span>(_num_hashes) << std::endl;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">
462</span> os << <span class="stringliteral">" num buckets :
"</span> << _num_buckets << std::endl;</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">
463</span> os << <span class="stringliteral">" capacity bins :
"</span> << _sketch_array.size() << std::endl;</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">
464</span> os << <span class="stringliteral">" filled bins :
"</span> << num_nonzero << std::endl;</div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">
465</span> os << <span class="stringliteral">" pct filled :
"</span> << std::setprecision(3) << (num_nonzero * 100.0) /
_sketch_array.size() << <span class="stringliteral">"%"</span>
<< std::endl;</div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">
466</span> os << <span class="stringliteral">"### End sketch
summary"</span> << 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<A>(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><<span
class="keyword">typename</span> W, <span class="keyword">typename</span>
A></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<W,A>::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 & (1 <<
flags::IS_EMPTY)) > 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 &
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 << <span class="stringliteral">"Possible sketch
corruption. Inconsistent state: "</span></div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">
489</span> << <span class="stringliteral">"preamble_longs =
"</span> << <span
class="keyword">static_cast<</span>uint32_t<span
class="keyword">></span>(preamble_longs)</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">
490</span> << <span class="stringliteral">", empty =
"</span> << (empty ? <span
class="stringliteral">"true"</span> : <span
class="stringliteral">"false"</span>)</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">
491</span> << <span class="stringliteral">",
serialization_version = "</span> <<
static_cast<uint32_t>(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 &is,
uint64_t seed=DEFAULT_SEED, const Allocator
&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 &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]