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-python.git


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

commit d6627773034a8feed39ab236591c5ba0b0635165
Author: jmalkin <[email protected]>
AuthorDate: Wed Aug 21 16:37:12 2024 +0000

    deploy: f812afadc2928d8a762c2c8a91c1592266528e81
---
 docs/main/.buildinfo                           |   2 +-
 docs/main/_static/basic.css                    |   2 +-
 docs/main/_static/doctools.js                  |   2 +-
 docs/main/_static/language_data.js             |   4 +-
 docs/main/_static/searchtools.js               | 170 ++++++++++++++++---------
 docs/main/distinct_counting/cpc.html           |   6 +-
 docs/main/distinct_counting/hyper_log_log.html |  10 +-
 docs/main/distinct_counting/index.html         |   2 +-
 docs/main/distinct_counting/theta.html         |  12 +-
 docs/main/distinct_counting/tuple.html         |  48 ++++++-
 docs/main/frequency/count_min_sketch.html      |   4 +-
 docs/main/frequency/frequent_items.html        |   8 +-
 docs/main/frequency/index.html                 |   3 +-
 docs/main/genindex.html                        |  12 +-
 docs/main/helper/index.html                    |   2 +-
 docs/main/helper/jaccard.html                  |   2 +-
 docs/main/helper/kernel.html                   |   4 +-
 docs/main/helper/ks_test.html                  |   2 +-
 docs/main/helper/serde.html                    |  14 +-
 docs/main/helper/tuple_policy.html             |   4 +-
 docs/main/index.html                           |   3 +-
 docs/main/objects.inv                          | Bin 4091 -> 4105 bytes
 docs/main/quantiles/index.html                 |   2 +-
 docs/main/quantiles/kll.html                   |  10 +-
 docs/main/quantiles/quantiles_depr.html        |  10 +-
 docs/main/quantiles/req.html                   |   8 +-
 docs/main/sampling/ebpps.html                  |   4 +-
 docs/main/sampling/index.html                  |   2 +-
 docs/main/sampling/varopt.html                 |   6 +-
 docs/main/search.html                          |   2 +-
 docs/main/searchindex.js                       |   2 +-
 docs/main/vector/density_sketch.html           |   4 +-
 docs/main/vector/index.html                    |   2 +-
 33 files changed, 229 insertions(+), 139 deletions(-)

diff --git a/docs/main/.buildinfo b/docs/main/.buildinfo
index 6cf5b48..47b90a0 100644
--- a/docs/main/.buildinfo
+++ b/docs/main/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: b2c35473ae86fe2e7a4385e0e855c9ed
+config: d77903253d7c793246700a3d942e402e
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/main/_static/basic.css b/docs/main/_static/basic.css
index 30fee9d..f316efc 100644
--- a/docs/main/_static/basic.css
+++ b/docs/main/_static/basic.css
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- basic theme.
  *
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
diff --git a/docs/main/_static/doctools.js b/docs/main/_static/doctools.js
index d06a71d..4d67807 100644
--- a/docs/main/_static/doctools.js
+++ b/docs/main/_static/doctools.js
@@ -4,7 +4,7 @@
  *
  * Base JavaScript utilities for all Sphinx HTML documentation.
  *
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
diff --git a/docs/main/_static/language_data.js 
b/docs/main/_static/language_data.js
index 250f566..367b8ed 100644
--- a/docs/main/_static/language_data.js
+++ b/docs/main/_static/language_data.js
@@ -5,7 +5,7 @@
  * This script contains the language-specific data used by searchtools.js,
  * namely the list of stopwords, stemmer, scorer and splitter.
  *
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -13,7 +13,7 @@
 var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", 
"if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", 
"that", "the", "their", "then", "there", "these", "they", "this", "to", "was", 
"will", "with"];
 
 
-/* Non-minified version is copied as a separate JS file, is available */
+/* Non-minified version is copied as a separate JS file, if available */
 
 /**
  * Porter Stemmer
diff --git a/docs/main/_static/searchtools.js b/docs/main/_static/searchtools.js
index 7918c3f..b08d58c 100644
--- a/docs/main/_static/searchtools.js
+++ b/docs/main/_static/searchtools.js
@@ -4,7 +4,7 @@
  *
  * Sphinx JavaScript utilities for the full-text search.
  *
- * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => {
       .then((data) => {
         if (data)
           listItem.appendChild(
-            Search.makeSearchSummary(data, searchTerms)
+            Search.makeSearchSummary(data, searchTerms, anchor)
           );
         // highlight search terms in the summary
         if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
@@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => {
     );
   else
     Search.status.innerText = _(
-      `Search finished, found ${resultCount} page(s) matching the search 
query.`
-    );
+      "Search finished, found ${resultCount} page(s) matching the search 
query."
+    ).replace('${resultCount}', resultCount);
 };
 const _displayNextItem = (
   results,
@@ -137,6 +137,22 @@ const _displayNextItem = (
   // search finished, update title and status message
   else _finishSearch(resultCount);
 };
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then 
alphabetically.
+const _orderResultsByScoreThenName = (a, b) => {
+  const leftScore = a[4];
+  const rightScore = b[4];
+  if (leftScore === rightScore) {
+    // same score: sort alphabetically
+    const leftTitle = a[1].toLowerCase();
+    const rightTitle = b[1].toLowerCase();
+    if (leftTitle === rightTitle) return 0;
+    return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+  }
+  return leftScore > rightScore ? 1 : -1;
+};
 
 /**
  * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
@@ -160,13 +176,26 @@ const Search = {
   _queued_query: null,
   _pulse_status: -1,
 
-  htmlToText: (htmlString) => {
+  htmlToText: (htmlString, anchor) => {
     const htmlElement = new DOMParser().parseFromString(htmlString, 
'text/html');
-    htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() 
});
+    for (const removalQuery of [".headerlink", "script", "style"]) {
+      htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() 
});
+    }
+    if (anchor) {
+      const anchorContent = htmlElement.querySelector(`[role="main"] 
${anchor}`);
+      if (anchorContent) return anchorContent.textContent;
+
+      console.warn(
+        `Anchored content block not found. Sphinx search tries to obtain it 
via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+      );
+    }
+
+    // if anchor not specified or not found, fall back to main content
     const docContent = htmlElement.querySelector('[role="main"]');
-    if (docContent !== undefined) return docContent.textContent;
+    if (docContent) return docContent.textContent;
+
     console.warn(
-      "Content block not found. Sphinx search tries to obtain it via 
'[role=main]'. Could you check your theme or template."
+      "Content block not found. Sphinx search tries to obtain it via DOM query 
'[role=main]'. Check your theme or template."
     );
     return "";
   },
@@ -239,16 +268,7 @@ const Search = {
     else Search.deferQuery(query);
   },
 
-  /**
-   * execute search (requires search index to be loaded)
-   */
-  query: (query) => {
-    const filenames = Search._index.filenames;
-    const docNames = Search._index.docnames;
-    const titles = Search._index.titles;
-    const allTitles = Search._index.alltitles;
-    const indexEntries = Search._index.indexentries;
-
+  _parseQuery: (query) => {
     // stem the search terms and add them to the correct list
     const stemmer = new Stemmer();
     const searchTerms = new Set();
@@ -284,21 +304,38 @@ const Search = {
     // console.info("required: ", [...searchTerms]);
     // console.info("excluded: ", [...excludedTerms]);
 
-    // array of [docname, title, anchor, descr, score, filename]
-    let results = [];
+    return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+  },
+
+  /**
+   * execute search (requires search index to be loaded)
+   */
+  _performSearch: (query, searchTerms, excludedTerms, highlightTerms, 
objectTerms) => {
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const titles = Search._index.titles;
+    const allTitles = Search._index.alltitles;
+    const indexEntries = Search._index.indexentries;
+
+    // Collect multiple result groups to be sorted separately and then ordered.
+    // Each is an array of [docname, title, anchor, descr, score, filename].
+    const normalResults = [];
+    const nonMainIndexResults = [];
+
     _removeChildren(document.getElementById("search-progress"));
 
-    const queryLower = query.toLowerCase();
+    const queryLower = query.toLowerCase().trim();
     for (const [title, foundTitles] of Object.entries(allTitles)) {
-      if (title.toLowerCase().includes(queryLower) && (queryLower.length >= 
title.length/2)) {
+      if (title.toLowerCase().trim().includes(queryLower) && 
(queryLower.length >= title.length/2)) {
         for (const [file, id] of foundTitles) {
-          let score = Math.round(100 * queryLower.length / title.length)
-          results.push([
+          const score = Math.round(Scorer.title * queryLower.length / 
title.length);
+          const boost = titles[file] === title ? 1 : 0;  // add a boost for 
document titles
+          normalResults.push([
             docNames[file],
             titles[file] !== title ? `${titles[file]} > ${title}` : title,
             id !== null ? "#" + id : "",
             null,
-            score,
+            score + boost,
             filenames[file],
           ]);
         }
@@ -308,46 +345,47 @@ const Search = {
     // search for explicit entries in index directives
     for (const [entry, foundEntries] of Object.entries(indexEntries)) {
       if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) 
{
-        for (const [file, id] of foundEntries) {
-          let score = Math.round(100 * queryLower.length / entry.length)
-          results.push([
+        for (const [file, id, isMain] of foundEntries) {
+          const score = Math.round(100 * queryLower.length / entry.length);
+          const result = [
             docNames[file],
             titles[file],
             id ? "#" + id : "",
             null,
             score,
             filenames[file],
-          ]);
+          ];
+          if (isMain) {
+            normalResults.push(result);
+          } else {
+            nonMainIndexResults.push(result);
+          }
         }
       }
     }
 
     // lookup as object
     objectTerms.forEach((term) =>
-      results.push(...Search.performObjectSearch(term, objectTerms))
+      normalResults.push(...Search.performObjectSearch(term, objectTerms))
     );
 
     // lookup as search terms in fulltext
-    results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+    normalResults.push(...Search.performTermsSearch(searchTerms, 
excludedTerms));
 
     // let the scorer override scores with a custom scoring function
-    if (Scorer.score) results.forEach((item) => (item[4] = 
Scorer.score(item)));
-
-    // now sort the results by score (in opposite order of appearance, since 
the
-    // display function below uses pop() to retrieve items) and then
-    // alphabetically
-    results.sort((a, b) => {
-      const leftScore = a[4];
-      const rightScore = b[4];
-      if (leftScore === rightScore) {
-        // same score: sort alphabetically
-        const leftTitle = a[1].toLowerCase();
-        const rightTitle = b[1].toLowerCase();
-        if (leftTitle === rightTitle) return 0;
-        return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
-      }
-      return leftScore > rightScore ? 1 : -1;
-    });
+    if (Scorer.score) {
+      normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+      nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
+    }
+
+    // Sort each group of results by score and then alphabetically by name.
+    normalResults.sort(_orderResultsByScoreThenName);
+    nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+    // Combine the result groups in (reverse) order.
+    // Non-main index entries are typically arbitrary cross-references,
+    // so display them after other results.
+    let results = [...nonMainIndexResults, ...normalResults];
 
     // remove duplicate search results
     // note the reversing of results, so that in the case of duplicates, the 
highest-scoring entry is kept
@@ -361,7 +399,12 @@ const Search = {
       return acc;
     }, []);
 
-    results = results.reverse();
+    return results.reverse();
+  },
+
+  query: (query) => {
+    const [searchQuery, searchTerms, excludedTerms, highlightTerms, 
objectTerms] = Search._parseQuery(query);
+    const results = Search._performSearch(searchQuery, searchTerms, 
excludedTerms, highlightTerms, objectTerms);
 
     // for debugging
     //Search.lastresults = results.slice();  // a copy
@@ -466,14 +509,18 @@ const Search = {
       // add support for partial matches
       if (word.length > 2) {
         const escapedWord = _escapeRegExp(word);
-        Object.keys(terms).forEach((term) => {
-          if (term.match(escapedWord) && !terms[word])
-            arr.push({ files: terms[term], score: Scorer.partialTerm });
-        });
-        Object.keys(titleTerms).forEach((term) => {
-          if (term.match(escapedWord) && !titleTerms[word])
-            arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
-        });
+        if (!terms.hasOwnProperty(word)) {
+          Object.keys(terms).forEach((term) => {
+            if (term.match(escapedWord))
+              arr.push({ files: terms[term], score: Scorer.partialTerm });
+          });
+        }
+        if (!titleTerms.hasOwnProperty(word)) {
+          Object.keys(titleTerms).forEach((term) => {
+            if (term.match(escapedWord))
+              arr.push({ files: titleTerms[term], score: Scorer.partialTitle 
});
+          });
+        }
       }
 
       // no match but word was a required one
@@ -496,9 +543,8 @@ const Search = {
 
       // create the mapping
       files.forEach((file) => {
-        if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
-          fileMap.get(file).push(word);
-        else fileMap.set(file, [word]);
+        if (!fileMap.has(file)) fileMap.set(file, [word]);
+        else if (fileMap.get(file).indexOf(word) === -1) 
fileMap.get(file).push(word);
       });
     });
 
@@ -549,8 +595,8 @@ const Search = {
    * search summary for a given text. keywords is a list
    * of stemmed words.
    */
-  makeSearchSummary: (htmlText, keywords) => {
-    const text = Search.htmlToText(htmlText);
+  makeSearchSummary: (htmlText, keywords, anchor) => {
+    const text = Search.htmlToText(htmlText, anchor);
     if (text === "") return null;
 
     const textLower = text.toLowerCase();
diff --git a/docs/main/distinct_counting/cpc.html 
b/docs/main/distinct_counting/cpc.html
index 7c2001f..6b7c53e 100644
--- a/docs/main/distinct_counting/cpc.html
+++ b/docs/main/distinct_counting/cpc.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -127,7 +127,7 @@ The unioning (merging) capability of this sketch also 
allows for merging of sket
 For additional security this sketch can be configured with a user-specified 
hash seed.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">cpc_sketch</span></span><a class="headerlink" 
href="#datasketches.cpc_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">cpc_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="hea [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_sketch.deserialize">
@@ -214,7 +214,7 @@ For additional security this sketch can be configured with 
a user-specified hash
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.cpc_union">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">cpc_union</span></span><a class="headerlink" 
href="#datasketches.cpc_union" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">cpc_union</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="head [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.cpc_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">lg_k</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span 
class="pre">seed</span></span><span class="p"><span class= [...]
diff --git a/docs/main/distinct_counting/hyper_log_log.html 
b/docs/main/distinct_counting/hyper_log_log.html
index 72b862d..fb30ff6 100644
--- a/docs/main/distinct_counting/hyper_log_log.html
+++ b/docs/main/distinct_counting/hyper_log_log.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -147,7 +147,7 @@ The configuration parameter <code class="docutils literal 
notranslate"><span cla
 <p>During warmup, when the sketch has only received a small number of unique 
items (up to about 10% of <code class="docutils literal notranslate"><span 
class="pre">k</span></code>), this implementation leverages a new class of 
estimator algorithms with significantly better accuracy.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tgt_hll_type</span></span><a class="headerlink" 
href="#datasketches.tgt_hll_type" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tgt_hll_type</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="n"><span class="pre">value</span></span></em>, 
<em class="sig-param"><span class="n"><span class="pre">names=&lt;not</span> 
<span class="pre">given&gt;</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">*values</span></span></em>, <em class="si [...]
 <dd><p>Target HLL flavor</p>
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.tgt_hll_type.HLL_4">
@@ -168,7 +168,7 @@ The configuration parameter <code class="docutils literal 
notranslate"><span cla
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.hll_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">hll_sketch</span></span><a class="headerlink" 
href="#datasketches.hll_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">hll_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="hea [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.deserialize">
@@ -191,7 +191,7 @@ The configuration parameter <code class="docutils literal 
notranslate"><span cla
 <p class="rubric">Non-static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_sketch.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">lg_k</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span 
class="pre">tgt_type</span></span><span class="p"><span cl [...]
+<span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">lg_k</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span 
class="pre">tgt_type</span></span><span class="p"><span cl [...]
 <dd><p>Constructs a new HLL sketch</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -304,7 +304,7 @@ The configuration parameter <code class="docutils literal 
notranslate"><span cla
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.hll_union">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">hll_union</span></span><a class="headerlink" 
href="#datasketches.hll_union" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">hll_union</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="head [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.hll_union.get_rel_err">
diff --git a/docs/main/distinct_counting/index.html 
b/docs/main/distinct_counting/index.html
index d5fa39e..e75799a 100644
--- a/docs/main/distinct_counting/index.html
+++ b/docs/main/distinct_counting/index.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/distinct_counting/theta.html 
b/docs/main/distinct_counting/theta.html
index 068022d..ed83d93 100644
--- a/docs/main/distinct_counting/theta.html
+++ b/docs/main/distinct_counting/theta.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -229,7 +229,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">update_theta_sketch</span></span><a class="headerlink" 
href="#datasketches.update_theta_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">update_theta_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a c [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_theta_sketch.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">lg_k</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -285,7 +285,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.compact_theta_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">compact_theta_sketch</span></span><a class="headerlink" 
href="#datasketches.compact_theta_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">compact_theta_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a  [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.compact_theta_sketch.deserialize">
@@ -318,7 +318,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_union">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_union</span></span><a class="headerlink" 
href="#datasketches.theta_union" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_union</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="he [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">lg_k</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -350,7 +350,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_intersection">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_intersection</span></span><a class="headerlink" 
href="#datasketches.theta_intersection" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_intersection</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a cl [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_intersection.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">seed</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span class= [...]
@@ -384,7 +384,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.theta_a_not_b">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_a_not_b</span></span><a class="headerlink" 
href="#datasketches.theta_a_not_b" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">theta_a_not_b</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class=" [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.theta_a_not_b.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">seed</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span class= [...]
diff --git a/docs/main/distinct_counting/tuple.html 
b/docs/main/distinct_counting/tuple.html
index 9becbb2..ce19e79 100644
--- a/docs/main/distinct_counting/tuple.html
+++ b/docs/main/distinct_counting/tuple.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -68,6 +68,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="#datasketches.update_tuple_sketch"><code class="docutils literal 
notranslate"><span class="pre">update_tuple_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.__init__"><code class="docutils literal 
notranslate"><span 
class="pre">update_tuple_sketch.__init__()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.compact"><code class="docutils literal 
notranslate"><span 
class="pre">update_tuple_sketch.compact</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.filter"><code class="docutils literal 
notranslate"><span class="pre">update_tuple_sketch.filter</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.reset"><code class="docutils literal 
notranslate"><span class="pre">update_tuple_sketch.reset</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.trim"><code class="docutils literal 
notranslate"><span class="pre">update_tuple_sketch.trim</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.update_tuple_sketch.update"><code class="docutils literal 
notranslate"><span class="pre">update_tuple_sketch.update</span></code></a></li>
@@ -76,6 +77,7 @@
 <li class="toctree-l3"><a class="reference internal" 
href="#datasketches.compact_tuple_sketch"><code class="docutils literal 
notranslate"><span class="pre">compact_tuple_sketch</span></code></a><ul>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.compact_tuple_sketch.deserialize"><code class="docutils 
literal notranslate"><span 
class="pre">compact_tuple_sketch.deserialize()</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.compact_tuple_sketch.__init__"><code class="docutils 
literal notranslate"><span 
class="pre">compact_tuple_sketch.__init__()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" 
href="#datasketches.compact_tuple_sketch.filter"><code class="docutils literal 
notranslate"><span 
class="pre">compact_tuple_sketch.filter</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" 
href="#datasketches.compact_tuple_sketch.serialize"><code class="docutils 
literal notranslate"><span 
class="pre">compact_tuple_sketch.serialize</span></code></a></li>
 </ul>
 </li>
@@ -238,7 +240,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">update_tuple_sketch</span></span><a class="headerlink" 
href="#datasketches.update_tuple_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">update_tuple_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a c [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">policy</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><a 
class="reference internal" 
href="../helper/tuple_policy.html#datasketches.TuplePolicy" 
title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -261,6 +263,23 @@ measures can be computed between theta sketches with the 
<a class="reference int
 <dd><p>Returns a compacted form of the sketch, optionally sorting it</p>
 </dd></dl>
 
+<dl class="py attribute">
+<dt class="sig sig-object py" id="datasketches.update_tuple_sketch.filter">
+<span class="sig-name descname"><span class="pre">filter</span></span><a 
class="headerlink" href="#datasketches.update_tuple_sketch.filter" title="Link 
to this definition"></a></dt>
+<dd><p>Produces a compact_tuple_sketch from the given sketch by applying a 
predicate to the summary in each entry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>predicate</strong> – A function returning 
true or value evaluated on each tuple summary</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A compact_tuple_sketch with the selected entries</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" 
href="#datasketches.compact_tuple_sketch" 
title="datasketches.compact_tuple_sketch"><code class="xref py py-class 
docutils literal notranslate"><span 
class="pre">compact_tuple_sketch</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.update_tuple_sketch.reset">
 <span class="sig-name descname"><span class="pre">reset</span></span><a 
class="headerlink" href="#datasketches.update_tuple_sketch.reset" title="Link 
to this definition"></a></dt>
@@ -295,7 +314,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">compact_tuple_sketch</span></span><a class="headerlink" 
href="#datasketches.compact_tuple_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">compact_tuple_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a  [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.compact_tuple_sketch.deserialize">
@@ -336,6 +355,23 @@ measures can be computed between theta sketches with the 
<a class="reference int
 </dl>
 </dd></dl>
 
+<dl class="py attribute">
+<dt class="sig sig-object py" id="datasketches.compact_tuple_sketch.filter">
+<span class="sig-name descname"><span class="pre">filter</span></span><a 
class="headerlink" href="#datasketches.compact_tuple_sketch.filter" title="Link 
to this definition"></a></dt>
+<dd><p>Produces a compact_tuple_sketch from the given sketch by applying a 
predicate to the summary in each entry.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>predicate</strong> – A function returning 
true or value evaluated on each tuple summary</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A compact_tuple_sketch with the selected entries</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" 
href="#datasketches.compact_tuple_sketch" 
title="datasketches.compact_tuple_sketch"><code class="xref py py-class 
docutils literal notranslate"><span 
class="pre">compact_tuple_sketch</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="py attribute">
 <dt class="sig sig-object py" id="datasketches.compact_tuple_sketch.serialize">
 <span class="sig-name descname"><span class="pre">serialize</span></span><a 
class="headerlink" href="#datasketches.compact_tuple_sketch.serialize" 
title="Link to this definition"></a></dt>
@@ -346,7 +382,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_union">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_union</span></span><a class="headerlink" 
href="#datasketches.tuple_union" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_union</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="he [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_union.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">policy</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><a 
class="reference internal" 
href="../helper/tuple_policy.html#datasketches.TuplePolicy" 
title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -385,7 +421,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_intersection</span></span><a class="headerlink" 
href="#datasketches.tuple_intersection" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_intersection</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a cl [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_intersection.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">policy</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><a 
class="reference internal" 
href="../helper/tuple_policy.html#datasketches.TuplePolicy" 
title="_datasketches.TuplePolicy"><span class="pre"> [...]
@@ -422,7 +458,7 @@ measures can be computed between theta sketches with the <a 
class="reference int
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.tuple_a_not_b">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_a_not_b</span></span><a class="headerlink" 
href="#datasketches.tuple_a_not_b" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">tuple_a_not_b</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class=" [...]
 <dd><dl class="py method">
 <dt class="sig sig-object py" id="datasketches.tuple_a_not_b.__init__">
 <span class="sig-name descname"><span class="pre">__init__</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">self</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">seed</span></span><span class="p"><span 
class="pre">:</span></span><span class="w"> </span><span class="n"><span 
class="pre">int</span></span><span class="w"> </span><span class="o"><span 
class="pre">=</span></span><span class="w"> </span><span class= [...]
diff --git a/docs/main/frequency/count_min_sketch.html 
b/docs/main/frequency/count_min_sketch.html
index 5fadd0b..c6a8e36 100644
--- a/docs/main/frequency/count_min_sketch.html
+++ b/docs/main/frequency/count_min_sketch.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" 
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";></script>
     <script src="../_static/js/theme.js"></script>
@@ -128,7 +128,7 @@ to the Frequent Items Sketch, this sketch does not provide 
a list of
 heavy hitters.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">count_min_sketch</span></span><a class="headerlink" 
href="#datasketches.count_min_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">count_min_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a clas [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.count_min_sketch.deserialize">
diff --git a/docs/main/frequency/frequent_items.html 
b/docs/main/frequency/frequent_items.html
index da2328e..5cd5d1b 100644
--- a/docs/main/frequency/frequent_items.html
+++ b/docs/main/frequency/frequent_items.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" 
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";></script>
     <script src="../_static/js/theme.js"></script>
@@ -202,7 +202,7 @@ only for backwards compatibility.</p>
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_items_error_type">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_items_error_type</span></span><a class="headerlink" 
href="#datasketches.frequent_items_error_type" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_items_error_type</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="n"><span 
class="pre">value</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">names=&lt;not</span> <span 
class="pre">given&gt;</span></span></em>, <em class="sig-param"><span 
class="n"><span class="pre">*values</span></span></em>,  [...]
 <dd><dl class="py attribute">
 <dt class="sig sig-object py" 
id="datasketches.frequent_items_error_type.NO_FALSE_POSITIVES">
 <span class="sig-name descname"><span 
class="pre">NO_FALSE_POSITIVES</span></span><em class="property"><span 
class="w"> </span><span class="pre">:</span> <span class="pre">Returns</span> 
<span class="pre">only</span> <span class="pre">true</span> <span 
class="pre">positives</span> <span class="pre">but</span> <span 
class="pre">may</span> <span class="pre">miss</span> <span 
class="pre">some</span> <span class="pre">heavy</span> <span 
class="pre">hitters.</span></em><a class="headerlink" h [...]
@@ -217,7 +217,7 @@ only for backwards compatibility.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_items_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_items_sketch</span></span><a class="headerlink" 
href="#datasketches.frequent_items_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_items_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.frequent_items_sketch.deserialize">
@@ -331,7 +331,7 @@ Note: The true frequency of a item would be the sum of the 
counts as a result of
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.frequent_strings_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_strings_sketch</span></span><a class="headerlink" 
href="#datasketches.frequent_strings_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">frequent_strings_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span> [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.frequent_strings_sketch.deserialize">
diff --git a/docs/main/frequency/index.html b/docs/main/frequency/index.html
index 56b030b..99bd3d3 100644
--- a/docs/main/frequency/index.html
+++ b/docs/main/frequency/index.html
@@ -16,8 +16,9 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script async="async" 
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
diff --git a/docs/main/genindex.html b/docs/main/genindex.html
index f8d9351..89991cb 100644
--- a/docs/main/genindex.html
+++ b/docs/main/genindex.html
@@ -15,7 +15,7 @@
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script 
src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="_static/documentation_options.js?v=2709fde1"></script>
-        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/doctools.js?v=9a2dae69"></script>
         <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="#" />
@@ -321,12 +321,18 @@
 <h2 id="F">F</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a 
href="frequency/frequent_items.html#datasketches.frequent_items_error_type">frequent_items_error_type
 (class in datasketches)</a>
+      <li><a 
href="distinct_counting/tuple.html#datasketches.compact_tuple_sketch.filter">filter
 (compact_tuple_sketch attribute)</a>
+
+      <ul>
+        <li><a 
href="distinct_counting/tuple.html#datasketches.update_tuple_sketch.filter">(update_tuple_sketch
 attribute)</a>
 </li>
-      <li><a 
href="frequency/frequent_items.html#datasketches.frequent_items_sketch">frequent_items_sketch
 (class in datasketches)</a>
+      </ul></li>
+      <li><a 
href="frequency/frequent_items.html#datasketches.frequent_items_error_type">frequent_items_error_type
 (class in datasketches)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a 
href="frequency/frequent_items.html#datasketches.frequent_items_sketch">frequent_items_sketch
 (class in datasketches)</a>
+</li>
       <li><a 
href="frequency/frequent_items.html#datasketches.frequent_strings_sketch">frequent_strings_sketch
 (class in datasketches)</a>
 </li>
       <li><a 
href="helper/serde.html#datasketches.PyObjectSerDe.from_bytes">from_bytes() 
(PyObjectSerDe method)</a>
diff --git a/docs/main/helper/index.html b/docs/main/helper/index.html
index 71f1618..d977f1e 100644
--- a/docs/main/helper/index.html
+++ b/docs/main/helper/index.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/helper/jaccard.html b/docs/main/helper/jaccard.html
index d871819..b66dbf0 100644
--- a/docs/main/helper/jaccard.html
+++ b/docs/main/helper/jaccard.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/helper/kernel.html b/docs/main/helper/kernel.html
index 6b17523..a2a6117 100644
--- a/docs/main/helper/kernel.html
+++ b/docs/main/helper/kernel.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -113,7 +113,7 @@ Gaussian (also known as a Radial Basis Function) kernel. 
Custom classes must ove
 and provide a floating point value as a score indicating the similarity of two 
input vectors.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.KernelFunction">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">KernelFunction</span></span><a class="headerlink" 
href="#datasketches.KernelFunction" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">KernelFunction</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class= [...]
 <dd><p>A generic base class from which user-defined kernels must inherit.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.KernelFunction.__call__">
diff --git a/docs/main/helper/ks_test.html b/docs/main/helper/ks_test.html
index 2f63b4f..721be0a 100644
--- a/docs/main/helper/ks_test.html
+++ b/docs/main/helper/ks_test.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/helper/serde.html b/docs/main/helper/serde.html
index 823d72f..a4ed73d 100644
--- a/docs/main/helper/serde.html
+++ b/docs/main/helper/serde.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -116,7 +116,7 @@ Several example SerDes are provided as references.</p>
 <p>Each implementation must extend the <a class="reference internal" 
href="#datasketches.PyObjectSerDe" title="datasketches.PyObjectSerDe"><code 
class="xref py py-class docutils literal notranslate"><span 
class="pre">PyObjectSerDe</span></code></a> class and override all three of its 
methods.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyObjectSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyObjectSerDe</span></span><a class="headerlink" 
href="#datasketches.PyObjectSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyObjectSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class=" [...]
 <dd><p>An abstract base class for serde objects. All custom serdes must extend 
this class.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.PyObjectSerDe.get_size">
@@ -177,7 +177,7 @@ Several example SerDes are provided as references.</p>
 <p>The provided SerDes are:</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyStringsSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyStringsSerDe</span></span><a class="headerlink" 
href="#datasketches.PyStringsSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyStringsSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class= [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" 
title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils 
literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements a simple string-encoding scheme where a string is
 written as <cite>&lt;num_bytes&gt; &lt;string_contents&gt;</cite>, with no 
null termination.
@@ -188,7 +188,7 @@ additional storage. Using this format, the serialized 
string consumes
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyIntsSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyIntsSerDe</span></span><a class="headerlink" 
href="#datasketches.PyIntsSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyIntsSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="he [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" 
title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils 
literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements an integer encoding scheme where each integer is written
 as a 32-bit (4 byte) little-endian value.</p>
@@ -196,7 +196,7 @@ as a 32-bit (4 byte) little-endian value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyLongsSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyLongsSerDe</span></span><a class="headerlink" 
href="#datasketches.PyLongsSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyLongsSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="h [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" 
title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils 
literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements an integer encoding scheme where each integer is written
 as a 64-bit (8 byte) little-endian value.</p>
@@ -204,7 +204,7 @@ as a 64-bit (8 byte) little-endian value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyFloatsSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyFloatsSerDe</span></span><a class="headerlink" 
href="#datasketches.PyFloatsSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyFloatsSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class=" [...]
 <dd><p>Bases: <a class="reference internal" href="#datasketches.PyObjectSerDe" 
title="_datasketches.PyObjectSerDe"><code class="xref py py-class docutils 
literal notranslate"><span class="pre">PyObjectSerDe</span></code></a></p>
 <p>Implements a floating point encoding scheme where each value is written
 as a 32-bit floating point value.</p>
@@ -212,7 +212,7 @@ as a 32-bit floating point value.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.PyDoublesSerDe">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyDoublesSerDe</span></span><a class="headerlink" 
href="#datasketches.PyDoublesSerDe" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">PyDoublesSerDe</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class= [...]
 <dd><p>Implements a floating point encoding scheme where each value is written
 as a 64-bit floating point value.</p>
 </dd></dl>
diff --git a/docs/main/helper/tuple_policy.html 
b/docs/main/helper/tuple_policy.html
index b1c5501..7aec98f 100644
--- a/docs/main/helper/tuple_policy.html
+++ b/docs/main/helper/tuple_policy.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -114,7 +114,7 @@ any python object.</p>
 <p>Each implementation must extend the abstract base class <a class="reference 
internal" href="#datasketches.TuplePolicy" 
title="datasketches.TuplePolicy"><code class="xref py py-class docutils literal 
notranslate"><span class="pre">TuplePolicy</span></code></a>.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.TuplePolicy">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">TuplePolicy</span></span><a class="headerlink" 
href="#datasketches.TuplePolicy" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">TuplePolicy</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="he [...]
 <dd><p>An abstract base class for Tuple Policy objects. All custom policies 
must extend this class.</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.TuplePolicy.create_summary">
diff --git a/docs/main/index.html b/docs/main/index.html
index 961173f..e2ba4b9 100644
--- a/docs/main/index.html
+++ b/docs/main/index.html
@@ -16,8 +16,9 @@
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script 
src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="_static/documentation_options.js?v=2709fde1"></script>
-        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/doctools.js?v=9a2dae69"></script>
         <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script async="async" 
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
diff --git a/docs/main/objects.inv b/docs/main/objects.inv
index bd0053f..3eb72db 100644
Binary files a/docs/main/objects.inv and b/docs/main/objects.inv differ
diff --git a/docs/main/quantiles/index.html b/docs/main/quantiles/index.html
index 86d8057..184ed4d 100644
--- a/docs/main/quantiles/index.html
+++ b/docs/main/quantiles/index.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/quantiles/kll.html b/docs/main/quantiles/kll.html
index 4f01584..0dc2a14 100644
--- a/docs/main/quantiles/kll.html
+++ b/docs/main/quantiles/kll.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -286,7 +286,7 @@ Additionally, the interval may be quite large for certain 
distributions.
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_ints_sketch</span></span><a class="headerlink" 
href="#datasketches.kll_ints_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_ints_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_ints_sketch.deserialize">
@@ -449,7 +449,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_floats_sketch</span></span><a class="headerlink" 
href="#datasketches.kll_floats_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_floats_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a cla [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_floats_sketch.deserialize">
@@ -612,7 +612,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_doubles_sketch</span></span><a class="headerlink" 
href="#datasketches.kll_doubles_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_doubles_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a cl [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_doubles_sketch.deserialize">
@@ -775,7 +775,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_items_sketch</span></span><a class="headerlink" 
href="#datasketches.kll_items_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">kll_items_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a clas [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.kll_items_sketch.deserialize">
diff --git a/docs/main/quantiles/quantiles_depr.html 
b/docs/main/quantiles/quantiles_depr.html
index aa86c87..e63e917 100644
--- a/docs/main/quantiles/quantiles_depr.html
+++ b/docs/main/quantiles/quantiles_depr.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -233,7 +233,7 @@ a confidence of about 99%.</p>
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_ints_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_ints_sketch</span></span><a class="headerlink" 
href="#datasketches.quantiles_ints_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_ints_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.quantiles_ints_sketch.deserialize">
@@ -394,7 +394,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_floats_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_floats_sketch</span></span><a class="headerlink" 
href="#datasketches.quantiles_floats_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_floats_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span> [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.quantiles_floats_sketch.deserialize">
@@ -555,7 +555,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_doubles_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_doubles_sketch</span></span><a class="headerlink" 
href="#datasketches.quantiles_doubles_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_doubles_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.quantiles_doubles_sketch.deserialize">
@@ -716,7 +716,7 @@ Constants were derived as the best fit to 99 percentile 
empirically measured max
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.quantiles_items_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_items_sketch</span></span><a class="headerlink" 
href="#datasketches.quantiles_items_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">quantiles_items_sketch</span></span><span 
class="sig-paren">(</span><em class="sig-param"><span class="o"><span 
class="pre">*</span></span><span class="n"><span 
class="pre">args</span></span></em>, <em class="sig-param"><span 
class="o"><span class="pre">**</span></span><span class="n"><span 
class="pre">kwargs</span></span></em><span class="sig-paren">)</span>< [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="datasketches.quantiles_items_sketch.deserialize">
diff --git a/docs/main/quantiles/req.html b/docs/main/quantiles/req.html
index c856dfc..7ece205 100644
--- a/docs/main/quantiles/req.html
+++ b/docs/main/quantiles/req.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -203,7 +203,7 @@ This is not only useful for debugging, but is a powerful 
tool to help users unde
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_ints_sketch</span></span><a class="headerlink" 
href="#datasketches.req_ints_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_ints_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_ints_sketch.deserialize">
@@ -378,7 +378,7 @@ Normalized rank must be a value between 0.0 and 1.0 
(inclusive); the number of s
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_floats_sketch</span></span><a class="headerlink" 
href="#datasketches.req_floats_sketch" title="Link to this 
definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_floats_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a cla [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_floats_sketch.deserialize">
@@ -553,7 +553,7 @@ Normalized rank must be a value between 0.0 and 1.0 
(inclusive); the number of s
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_items_sketch</span></span><a class="headerlink" 
href="#datasketches.req_items_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">req_items_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a clas [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.req_items_sketch.deserialize">
diff --git a/docs/main/sampling/ebpps.html b/docs/main/sampling/ebpps.html
index bee20b8..07b9718 100644
--- a/docs/main/sampling/ebpps.html
+++ b/docs/main/sampling/ebpps.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -126,7 +126,7 @@ Feeding the sketch items with a uniform weight value will 
produce a sample equiv
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">ebpps_sketch</span></span><a class="headerlink" 
href="#datasketches.ebpps_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">ebpps_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class="h [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.ebpps_sketch.deserialize">
diff --git a/docs/main/sampling/index.html b/docs/main/sampling/index.html
index b86952d..7cc2cb5 100644
--- a/docs/main/sampling/index.html
+++ b/docs/main/sampling/index.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
diff --git a/docs/main/sampling/varopt.html b/docs/main/sampling/varopt.html
index 12e1ca9..1b3889f 100644
--- a/docs/main/sampling/varopt.html
+++ b/docs/main/sampling/varopt.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -134,7 +134,7 @@ Feeding the sketch items with a uniform weight value will 
produce a sample equiv
 </div>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">var_opt_sketch</span></span><a class="headerlink" 
href="#datasketches.var_opt_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">var_opt_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class= [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_sketch.deserialize">
@@ -212,7 +212,7 @@ Feeding the sketch items with a uniform weight value will 
produce a sample equiv
 
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.var_opt_union">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">var_opt_union</span></span><a class="headerlink" 
href="#datasketches.var_opt_union" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">var_opt_union</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class=" [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.var_opt_union.deserialize">
diff --git a/docs/main/search.html b/docs/main/search.html
index 03e7269..2103133 100644
--- a/docs/main/search.html
+++ b/docs/main/search.html
@@ -16,7 +16,7 @@
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script 
src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="_static/documentation_options.js?v=2709fde1"></script>
-        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/doctools.js?v=9a2dae69"></script>
         <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <script src="_static/searchtools.js"></script>
diff --git a/docs/main/searchindex.js b/docs/main/searchindex.js
index e5d7573..f00a580 100644
--- a/docs/main/searchindex.js
+++ b/docs/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["distinct_counting/cpc", 
"distinct_counting/hyper_log_log", "distinct_counting/index", 
"distinct_counting/theta", "distinct_counting/tuple", 
"frequency/count_min_sketch", "frequency/frequent_items", "frequency/index", 
"helper/index", "helper/jaccard", "helper/kernel", "helper/ks_test", 
"helper/serde", "helper/tuple_policy", "index", "quantiles/index", 
"quantiles/kll", "quantiles/quantiles_depr", "quantiles/req", "sampling/ebpps", 
"sampling/index", "sampling/ [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"Apache DataSketches": [[14, null]], 
"Compressed Probabilistic Counting (CPC)": [[0, null]], "CountMin Sketch": [[5, 
null]], "Counting Distincts": [[14, "counting-distincts"]], "Density Sketch": 
[[22, null]], "Distinct Counting": [[2, null]], "Exact and Bounded, 
Probabilitiy Proportional to Size (EBPPS) Sampling": [[19, null]], "Frequency 
Sketches": [[7, null], [14, "frequency-sketches"]], "Frequent Items": [[6, 
null]], "Helper Classes": [[8, null], [14, "h [...]
\ No newline at end of file
diff --git a/docs/main/vector/density_sketch.html 
b/docs/main/vector/density_sketch.html
index 37af0a3..51b650b 100644
--- a/docs/main/vector/density_sketch.html
+++ b/docs/main/vector/density_sketch.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
@@ -120,7 +120,7 @@ Provides density estimate at a given point.</p>
 <p>Requires the use of a <a class="reference internal" 
href="../helper/kernel.html#datasketches.KernelFunction" 
title="datasketches.KernelFunction"><code class="xref py py-class docutils 
literal notranslate"><span class="pre">KernelFunction</span></code></a> to 
compute the distance between two vectors.</p>
 <dl class="py class">
 <dt class="sig sig-object py" id="datasketches.density_sketch">
-<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">density_sketch</span></span><a class="headerlink" 
href="#datasketches.density_sketch" title="Link to this definition"></a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> 
</span></em><span class="sig-name descname"><span 
class="pre">density_sketch</span></span><span class="sig-paren">(</span><em 
class="sig-param"><span class="o"><span class="pre">*</span></span><span 
class="n"><span class="pre">args</span></span></em>, <em 
class="sig-param"><span class="o"><span class="pre">**</span></span><span 
class="n"><span class="pre">kwargs</span></span></em><span 
class="sig-paren">)</span><a class= [...]
 <dd><p class="rubric">Static Methods:</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="datasketches.density_sketch.deserialize">
diff --git a/docs/main/vector/index.html b/docs/main/vector/index.html
index f3b2f14..808fefd 100644
--- a/docs/main/vector/index.html
+++ b/docs/main/vector/index.html
@@ -16,7 +16,7 @@
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script 
src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
         <script src="../_static/documentation_options.js?v=2709fde1"></script>
-        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
         <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />


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

Reply via email to