<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_302) on Wed Jan 26 15:15:52 PST 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (datasketches-java 3.1.0 API)</title>
<meta name="date" content="2022-01-26">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (datasketches-java 3.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">AnotB</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">Computes a set difference, A-AND-NOT-B, of two theta sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#AnotB--">AnotB()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#aNotB-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">aNotB(Sketch, Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">Perform A-and-not-B set operation on the two given sketches and return the result as an
 ordered CompactSketch on the heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#aNotB-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-boolean-org.apache.datasketches.memory.WritableMemory-">aNotB(Sketch, Sketch, boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">Perform A-and-not-B set operation on the two given sketches and return the result as a
 CompactSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/PairwiseSetOperations.html#aNotB-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">aNotB(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta">PairwiseSetOperations</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">v2.0.0. Use <a href="org/apache/datasketches/theta/AnotB.html#aNotB-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-"><code>AnotB.aNotB(Sketch, Sketch)</code></a> instead, which has more
 complete seed handling.</span></div>
</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">AnotB</span></a>&lt;<a href="org/apache/datasketches/tuple/AnotB.html" title="type parameter in AnotB">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Computes a set difference, A-AND-NOT-B, of two generic tuple sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#AnotB--">AnotB()</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#aNotB-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">aNotB(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">Returns the A-and-not-B set operation on the two given Tuple sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#aNotB-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-">aNotB(Sketch&lt;S&gt;, Sketch)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">Returns the A-and-not-B set operation on a Tuple sketch and a Theta sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnBinomialProportions.html#approximateLowerBoundOnP-long-long-double-">approximateLowerBoundOnP(long, long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches">BoundsOnBinomialProportions</a></dt>
<dd>
<div class="block">Computes lower bound of approximate Clopper-Pearson confidence interval for a binomial
 proportion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnBinomialProportions.html#approximateUpperBoundOnP-long-long-double-">approximateUpperBoundOnP(long, long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches">BoundsOnBinomialProportions</a></dt>
<dd>
<div class="block">Computes upper bound of approximate Clopper-Pearson confidence interval for a binomial
 proportion.</div>
</dd>
<dt><a href="org/apache/datasketches/ArrayOfBooleansSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfBooleansSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of Boolean as a bit array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfBooleansSerDe.html#ArrayOfBooleansSerDe--">ArrayOfBooleansSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfBooleansSerDe.html" title="class in org.apache.datasketches">ArrayOfBooleansSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesAnotB</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Computes a set difference of two tuple sketches of type ArrayOfDoubles</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesAnotBImpl</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Computes a set difference, A-AND-NOT-B, of two ArrayOfDoublesSketches.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesCombiner</span></a> - Interface in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Combines two arrays of double values for use with ArrayOfDoubles tuple sketches</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesCompactSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Top level compact tuple sketch of type ArrayOfDoubles.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesIntersection</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Computes the intersection of two or more tuple sketches of type ArrayOfDoubles.</div>
</dd>
<dt><a href="org/apache/datasketches/ArrayOfDoublesSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfDoublesSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of Double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfDoublesSerDe.html#ArrayOfDoublesSerDe--">ArrayOfDoublesSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfDoublesSerDe.html" title="class in org.apache.datasketches">ArrayOfDoublesSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesSetOperationBuilder</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Builds set operations object for tuple sketches of type ArrayOfDoubles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#ArrayOfDoublesSetOperationBuilder--">ArrayOfDoublesSetOperationBuilder()</a></span> - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of the builder with default parameters</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">The base class for the tuple sketch of type ArrayOfDoubles, where an array of double values
 is associated with each key.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesSketches</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Convenient static methods to instantiate tuple sketches of type ArrayOfDoubles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#ArrayOfDoublesSketches--">ArrayOfDoublesSketches()</a></span> - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesSketchIterator</span></a> - Interface in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">Interface for iterating over tuple sketches of type ArrayOfDoubles</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesUnion</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">The base class for unions of tuple sketches of type ArrayOfDoubles.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesUpdatableSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">The top level for updatable tuple sketches of type ArrayOfDoubles.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles"><span class="typeNameLink">ArrayOfDoublesUpdatableSketchBuilder</span></a> - Class in <a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a></dt>
<dd>
<div class="block">For building a new ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#ArrayOfDoublesUpdatableSketchBuilder--">ArrayOfDoublesUpdatableSketchBuilder()</a></span> - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Creates an instance of builder with default parameters</div>
</dd>
<dt><a href="org/apache/datasketches/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfItemsSerDe</span></a>&lt;<a href="org/apache/datasketches/ArrayOfItemsSerDe.html" title="type parameter in ArrayOfItemsSerDe">T</a>&gt; - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Base class for serializing and deserializing custom types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfItemsSerDe.html#ArrayOfItemsSerDe--">ArrayOfItemsSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches">ArrayOfItemsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/ArrayOfLongsSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfLongsSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of Long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfLongsSerDe.html#ArrayOfLongsSerDe--">ArrayOfLongsSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfLongsSerDe.html" title="class in org.apache.datasketches">ArrayOfLongsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/ArrayOfNumbersSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfNumbersSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of the object version of primitive types of
 Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfNumbersSerDe.html#ArrayOfNumbersSerDe--">ArrayOfNumbersSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfNumbersSerDe.html" title="class in org.apache.datasketches">ArrayOfNumbersSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/ArrayOfStringsSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfStringsSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfStringsSerDe.html#ArrayOfStringsSerDe--">ArrayOfStringsSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfStringsSerDe.html" title="class in org.apache.datasketches">ArrayOfStringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings"><span class="typeNameLink">ArrayOfStringsSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#ArrayOfStringsSketch--">ArrayOfStringsSketch()</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block">Constructs new sketch with default <i>K</i> = 4096 (<i>lgK</i> = 12), default ResizeFactor=X8,
 and default <i>p</i> = 1.0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#ArrayOfStringsSketch-int-">ArrayOfStringsSketch(int)</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block">Constructs new sketch with default ResizeFactor=X8, default <i>p</i> = 1.0 and given <i>lgK</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#ArrayOfStringsSketch-int-org.apache.datasketches.ResizeFactor-float-">ArrayOfStringsSketch(int, ResizeFactor, float)</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block">Constructs new sketch with given ResizeFactor, <i>p</i> and <i>lgK</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#ArrayOfStringsSketch-org.apache.datasketches.memory.Memory-">ArrayOfStringsSketch(Memory)</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">As of 3.0.0, heapifying an UpdatableSketch is deprecated.
 This capability will be removed in a future release.
 Heapifying a CompactSketch is not deprecated.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#ArrayOfStringsSketch-org.apache.datasketches.tuple.strings.ArrayOfStringsSketch-">ArrayOfStringsSketch(ArrayOfStringsSketch)</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block">Copy Constructor</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings"><span class="typeNameLink">ArrayOfStringsSummary</span></a> - Class in <a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.strings"><span class="typeNameLink">ArrayOfStringsSummaryDeserializer</span></a> - Class in <a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html#ArrayOfStringsSummaryDeserializer--">ArrayOfStringsSummaryDeserializer()</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html" title="class in org.apache.datasketches.tuple.strings"><span class="typeNameLink">ArrayOfStringsSummaryFactory</span></a> - Class in <a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html#ArrayOfStringsSummaryFactory--">ArrayOfStringsSummaryFactory()</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummaryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html" title="class in org.apache.datasketches.tuple.strings"><span class="typeNameLink">ArrayOfStringsSummarySetOperations</span></a> - Class in <a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html#ArrayOfStringsSummarySetOperations--">ArrayOfStringsSummarySetOperations()</a></span> - Constructor for class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html" title="class in org.apache.datasketches"><span class="typeNameLink">ArrayOfUtf16StringsSerDe</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Methods of serializing and deserializing arrays of String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html#ArrayOfUtf16StringsSerDe--">ArrayOfUtf16StringsSerDe()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html" title="class in org.apache.datasketches">ArrayOfUtf16StringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asDouble-long:A-">asDouble(long[])</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive
 value of 1.0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-long:A-int-">asInt(long[], int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-int:A-int-">asInt(int[], int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-byte:A-int-">asInt(byte[], int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-long-int-">asInt(long, int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-double-int-">asInt(double, int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#asInt-java.lang.String-int-">asInt(String, int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns a deterministic uniform random integer between zero (inclusive) and
 n (exclusive) given the input datum.</div>
</dd>
</dl>
<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="org/apache/datasketches/BinarySearch.html" title="class in org.apache.datasketches"><span class="typeNameLink">BinarySearch</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Contains common equality binary search algorithms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinarySearch.html#BinarySearch--">BinarySearch()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/BinarySearch.html" title="class in org.apache.datasketches">BinarySearch</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/BinomialBoundsN.html" title="class in org.apache.datasketches"><span class="typeNameLink">BinomialBoundsN</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This class enables the estimation of error bounds given a sample set size, the sampling
 probability theta, the number of standard deviations and a simple noDataSeen flag.</div>
</dd>
<dt><a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches"><span class="typeNameLink">BoundsOnBinomialProportions</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Confidence intervals for binomial proportions.</div>
</dd>
<dt><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches"><span class="typeNameLink">BoundsOnRatiosInSampledSets</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This class is used to compute the bounds on the estimate of the ratio <i>|B| / |A|</i>, where:
 
 <i>|A|</i> is the unknown size of a set <i>A</i> of unique identifiers.
 <i>|B|</i> is the unknown size of a subset <i>B</i> of <i>A</i>.
 <i>a</i> = <i>|S<sub>A</sub>|</i> is the observed size of a sample of <i>A</i>
 that was obtained by Bernoulli sampling with a known inclusion probability <i>f</i>.
 <i>b</i> = <i>|S<sub>A</sub> &cap; B|</i> is the observed size of a subset
 of <i>S<sub>A</sub></i>.
 </div>
</dd>
<dt><a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html" title="class in org.apache.datasketches"><span class="typeNameLink">BoundsOnRatiosInThetaSketchedSets</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This class is used to compute the bounds on the estimate of the ratio <i>B / A</i>, where:
 
 <i>A</i> is a Theta Sketch of population <i>PopA</i>.
 <i>B</i> is a Theta Sketch of population <i>PopB</i> that is a subset of <i>A</i>,
 obtained by an intersection of <i>A</i> with some other Theta Sketch <i>C</i>,
 which acts like a predicate or selection clause.
 The estimate of the ratio <i>PopB/PopA</i> is
 BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(<i>A, B</i>).
 The Upper Bound estimate on the ratio PopB/PopA is
 BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(<i>A, B</i>).
 The Lower Bound estimate on the ratio PopB/PopA is
 BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(<i>A, B</i>).
 
 Note: The theta of <i>A</i> cannot be greater than the theta of <i>B</i>.</div>
</dd>
<dt><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches"><span class="typeNameLink">BoundsOnRatiosInTupleSketchedSets</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This class is used to compute the bounds on the estimate of the ratio <i>B / A</i>, where:
 
 <i>A</i> is a Tuple Sketch of population <i>PopA</i>.
 <i>B</i> is a Tuple or Theta Sketch of population <i>PopB</i> that is a subset of <i>A</i>,
 obtained by an intersection of <i>A</i> with some other Tuple or Theta Sketch <i>C</i>,
 which acts like a predicate or selection clause.
 The estimate of the ratio <i>PopB/PopA</i> is
 BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(<i>A, B</i>).
 The Upper Bound estimate on the ratio PopB/PopA is
 BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(<i>A, B</i>).
 The Lower Bound estimate on the ratio PopB/PopA is
 BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(<i>A, B</i>).
 
 Note: The theta of <i>A</i> cannot be greater than the theta of <i>B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Returns an UpdateDoublesSketch with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#build-org.apache.datasketches.memory.WritableMemory-">build(WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Returns a quantiles UpdateDoublesSketch with the current configuration of this builder
 and the specified backing destination Memory store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesUnionBuilder</a></dt>
<dd>
<div class="block">Returns a new empty Union object with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html#build-org.apache.datasketches.memory.WritableMemory-">build(WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesUnionBuilder</a></dt>
<dd>
<div class="block">Returns a new empty Union object with the current configuration of this Builder
 and the specified backing destination Memory store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Returns a new ReqSketch with the current configuration of the builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#build-org.apache.datasketches.Family-">build(Family)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns a SetOperation with the current configuration of this Builder and the given Family.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#build-org.apache.datasketches.Family-org.apache.datasketches.memory.WritableMemory-">build(Family, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns a SetOperation with the current configuration of this Builder, the given Family
 and the given destination memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns an UpdateSketch with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#build-org.apache.datasketches.memory.WritableMemory-">build(WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns an UpdateSketch with the current configuration of this Builder
 with the specified backing destination Memory store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#build-org.apache.datasketches.memory.WritableMemory-">build(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#build--">build()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Returns an UpdatableSketch with the current configuration of this Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#buildANotB--">buildANotB()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Convenience method, returns a configured SetOperation ANotB with
 <a href="./resources/dictionary.html#defaultUpdateSeed">Default Update Seed</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#buildAnotB--">buildAnotB()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of ArrayOfDoublesAnotB based on the current configuration of the builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#builder--">builder()</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns a new builder</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#builder--">builder()</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns a new UnionBuilder</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#builder--">builder()</a></span> - Static method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>
<div class="block">Returns a new ReqSketchBuilder</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#builder--">builder()</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Makes a new builder</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#builder--">builder()</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Returns a new builder</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#buildIntersection--">buildIntersection()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Convenience method, returns a configured SetOperation Intersection with
 <a href="./resources/dictionary.html#defaultNomEntries">Default Nominal Entries</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#buildIntersection-org.apache.datasketches.memory.WritableMemory-">buildIntersection(WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Convenience method, returns a configured SetOperation Intersection with
 <a href="./resources/dictionary.html#defaultNomEntries">Default Nominal Entries</a>
 and the given destination memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#buildIntersection--">buildIntersection()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the
 builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#buildIntersection-org.apache.datasketches.memory.WritableMemory-">buildIntersection(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the
 builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#buildLocal-org.apache.datasketches.theta.UpdateSketch-">buildLocal(UpdateSketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns a local, on-heap, concurrent UpdateSketch to be used as a per-thread local buffer
 along with the given concurrent shared UpdateSketch and the current configuration of this
 Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#buildShared--">buildShared()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns an on-heap concurrent shared UpdateSketch with the current configuration of the
 Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#buildShared-org.apache.datasketches.memory.WritableMemory-">buildShared(WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current
 configuration of the Builder and the given destination WritableMemory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#buildSharedFromSketch-org.apache.datasketches.theta.UpdateSketch-org.apache.datasketches.memory.WritableMemory-">buildSharedFromSketch(UpdateSketch, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current
 configuration of the Builder, the data from the given sketch, and the given destination
 WritableMemory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#buildUnion--">buildUnion()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Convenience method, returns a configured SetOperation Union with
 <a href="./resources/dictionary.html#defaultNomEntries">Default Nominal Entries</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#buildUnion-org.apache.datasketches.memory.WritableMemory-">buildUnion(WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Convenience method, returns a configured SetOperation Union with
 <a href="./resources/dictionary.html#defaultNomEntries">Default Nominal Entries</a>
 and the given destination memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#buildUnion--">buildUnion()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#buildUnion-org.apache.datasketches.memory.WritableMemory-">buildUnion(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder
 and the given destination memory.</div>
</dd>
<dt><a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches"><span class="typeNameLink">ByteArrayUtil</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Useful methods for byte arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#ByteArrayUtil--">ByteArrayUtil()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#bytesToInt-byte:A-">bytesToInt(byte[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns an int extracted from a Little-Endian byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#bytesToLong-byte:A-">bytesToLong(byte[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a long extracted from a Little-Endian byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#bytesToString-byte:A-boolean-boolean-java.lang.String-">bytesToString(byte[], boolean, boolean, String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a string view of a byte array</div>
</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#caseIdToCornerCase-int-">caseIdToCornerCase(int)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#ceilingPowerOf2-int-">ceilingPowerOf2(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the ceiling power of 2 within the range [1, 2^30].</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#ceilingPowerOfBdouble-double-double-">ceilingPowerOfBdouble(double, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the ceiling power of B as a double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#characterPad-java.lang.String-int-char-boolean-">characterPad(String, int, char, boolean)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Prepend or postpend the given string with the given character to fill the given field length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkBounds-long-long-long-">checkBounds(long, long, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Check the requested offset and length against the allocated size.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#checkFamilyID-int-">checkFamilyID(int)</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#checkHashCorruption-long-">checkHashCorruption(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkIfMultipleOf8AndGT0-long-java.lang.String-">checkIfMultipleOf8AndGT0(long, String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks if parameter v is a multiple of 8 and greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkIfPowerOf2-int-java.lang.String-">checkIfPowerOf2(int, String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks the given parameter to make sure it is positive, an integer-power of 2 and greater than
 zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#checkMinSizeMemory-org.apache.datasketches.memory.Memory-">checkMinSizeMemory(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkNomLongs-int-">checkNomLongs(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks that the given nomLongs is within bounds and returns the Log2 of the ceiling power of 2
 of the given nomLongs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkProbability-double-java.lang.String-">checkProbability(double, String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks the given parameter to make sure it is positive and between 0.0 inclusive and 1.0
 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#checkSeedHashes-short-short-">checkSeedHashes(short, short)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Checks the two given seed hashes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#checkSeedHashes-short-short-">checkSeedHashes(short, short)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Check if the two seed hashes are equal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#checkThetaCorruption-long-">checkThetaCorruption(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuantilesHelper.html#chunkContainingPos-long:A-long-">chunkContainingPos(long[], long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuantilesHelper.html" title="class in org.apache.datasketches">QuantilesHelper</a></dt>
<dd>
<div class="block">This is written in terms of a plain array to facilitate testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html#combine-double:A-double:A-">combine(double[], double[])</a></span> - Method in interface org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesCombiner</a></dt>
<dd>
<div class="block">Method of combining two arrays of double values</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#compact-org.apache.datasketches.memory.WritableMemory-">compact(WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>
<div class="block">Returns a compact version of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#compact-boolean-org.apache.datasketches.memory.WritableMemory-">compact(boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Converts this sketch to a ordered CompactSketch on the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#compact-boolean-org.apache.datasketches.memory.WritableMemory-">compact(boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Convert this sketch to a new CompactSketch of the chosen order and direct or on the heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#compact-boolean-org.apache.datasketches.memory.WritableMemory-">compact(boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#compact-org.apache.datasketches.memory.WritableMemory-">compact(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Gets an on-heap compact representation of the sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#compact-org.apache.datasketches.memory.WritableMemory-">compact(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Gets an off-heap compact representation of the sketch using the given memory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/CompactSketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#compact--">compact()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Converts this sketch to a CompactSketch on the Java heap.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/CompactDoublesSketch.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">CompactDoublesSketch</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">CompactSketch</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">The parent class of all the CompactSketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#CompactSketch--">CompactSketch()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">CompactSketch</span></a>&lt;<a href="org/apache/datasketches/tuple/CompactSketch.html" title="type parameter in CompactSketch">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">CompactSketches are never created directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#comparator_">comparator_</a></span> - Variable in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#compareTo-org.apache.datasketches.fdt.Group-">compareTo(Group)</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>
<div class="block">Note: this class has a natural ordering that is inconsistent with equals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#compareTo-org.apache.datasketches.frequencies.ItemsSketch.Row-">compareTo(ItemsSketch.Row&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>
<div class="block">This compareTo is strictly limited to the Row.getEstimate() value and does not imply any
 ordering whatsoever to the other elements of the row: item and upper and lower bounds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#compareTo-org.apache.datasketches.frequencies.LongsSketch.Row-">compareTo(LongsSketch.Row)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>
<div class="block">This compareTo is strictly limited to the Row.getEstimate() value and does not imply any
 ordering whatsoever to the other elements of the row: item and upper and lower bounds.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/CompressionCharacterization.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">CompressionCharacterization</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This code is used both by unit tests, for short running tests,
 and by the characterization repository for longer running, more exhaustive testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CompressionCharacterization.html#CompressionCharacterization-int-int-int-int-int-int-int-java.io.PrintStream-java.io.PrintWriter-">CompressionCharacterization(int, int, int, int, int, int, int, PrintStream, PrintWriter)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CompressionCharacterization.html" title="class in org.apache.datasketches.cpc">CompressionCharacterization</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfBooleansSerDe.html#computeBytesNeeded-int-">computeBytesNeeded(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfBooleansSerDe.html" title="class in org.apache.datasketches">ArrayOfBooleansSerDe</a></dt>
<dd>
<div class="block">Computes number of bytes needed for packed bit encoding of the array of booleans.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#computeSeedHash-long-">computeSeedHash(long)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Computes and checks the 16-bit seed hash from the given long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#computeSeedHash-long-">computeSeedHash(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes and checks the 16-bit seed hash from the given long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#continueCondition-long-long-">continueCondition(long, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Return true (continue) if hash is greater than or equal to thetaLong, or if hash == 0,
 or if hash == Long.MAX_VALUE.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#convertToHashTable-long:A-int-long-double-">convertToHashTable(long[], int, long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Converts the given array to a hash table.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuantilesHelper.html#convertToPrecedingCummulative-long:A-">convertToPrecedingCummulative(long[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuantilesHelper.html" title="class in org.apache.datasketches">QuantilesHelper</a></dt>
<dd>
<div class="block">Convert the weights into totals of the weights preceding each item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Return a copy of this sketch onto the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Summary.html#copy--">copy()</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a></dt>
<dd>
<div class="block">Deep copy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#copy--">copy()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#copyAs-org.apache.datasketches.hll.TgtHllType-">copyAs(TgtHllType)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Return a deep copy of this sketch onto the Java heap with the specified TgtHllType.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#copySummaryArray-S:A-">copySummaryArray(S[])</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Will copy compact summary arrays as well as hashed summary tables (with nulls).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#count-long:A-long-">count(long[], long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Counts the cardinality of the given source array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#countPart-long:A-int-long-">countPart(long[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Counts the cardinality of the first Log2 values of the given source array.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">CpcSketch</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This is a unique-counting sketch that implements the
 <i>Compressed Probabilistic Counting (CPC, a.k.a FM85)</i> algorithms developed by Kevin Lang in
 his paper
 <a href="https://arxiv.org/abs/1708.06839">Back to the Future: an Even More Nearly
 Optimal Cardinality Estimation Algorithm</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#CpcSketch--">CpcSketch()</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Constructor with default log_base2 of k</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#CpcSketch-int-">CpcSketch(int)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Constructor with log_base2 of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#CpcSketch-int-long-">CpcSketch(int, long)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Constructor with log_base2 of k and seed.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">CpcUnion</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">The union (merge) operation for the CPC sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#CpcUnion--">CpcUnion()</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Construct this unioning object with the default LgK and the default update seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#CpcUnion-int-">CpcUnion(int)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Construct this unioning object with LgK and the default update seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#CpcUnion-int-long-">CpcUnion(int, long)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Construct this unioning object with LgK and a given seed.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">CpcWrapper</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This provides a read-only view of a serialized image of a CpcSketch, which can be
 on-heap or off-heap represented as a Memory object, or on-heap represented as a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#CpcWrapper-org.apache.datasketches.memory.Memory-">CpcWrapper(Memory)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Construct a read-only view of the given Memory that contains a CpcSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#CpcWrapper-byte:A-">CpcWrapper(byte[])</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Construct a read-only view of the given byte array that contains a CpcSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.html#createCornerCaseId-long-int-boolean-long-int-boolean-">createCornerCaseId(long, int, boolean, long, int, boolean)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.html" title="class in org.apache.datasketches">SetOperationCornerCases</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketches.html#createEmptySketch--">createEmptySketch()</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketches.html" title="class in org.apache.datasketches.tuple">Sketches</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html#createSketch-int-int-long-">createSketch(int, int, long)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesIntersection</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#DEFAULT_HLL_TYPE">DEFAULT_HLL_TYPE</a></span> - Static variable in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">The default HLL-TYPE is HLL_4</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#DEFAULT_K">DEFAULT_K</a></span> - Static variable in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">The default value of K.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#DEFAULT_LG_K">DEFAULT_LG_K</a></span> - Static variable in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">The default Log_base2 of K</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#DEFAULT_LG_K">DEFAULT_LG_K</a></span> - Static variable in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">The default Log_base2 of K</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#DEFAULT_NOMINAL_ENTRIES">DEFAULT_NOMINAL_ENTRIES</a></span> - Static variable in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Default Nominal Entries (a.k.a.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#DEFAULT_NOMINAL_ENTRIES">DEFAULT_NOMINAL_ENTRIES</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The default nominal entries is provided as a convenience for those cases where the
 nominal sketch size in number of entries is not provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#DEFAULT_NUMBER_OF_VALUES">DEFAULT_NUMBER_OF_VALUES</a></span> - Static variable in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Default number of values</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#DEFAULT_UPDATE_SEED">DEFAULT_UPDATE_SEED</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The seed 9001 used in the sketch update methods is a prime number that
 was chosen very early on in experimental testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfBooleansSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfBooleansSerDe.html" title="class in org.apache.datasketches">ArrayOfBooleansSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfDoublesSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfDoublesSerDe.html" title="class in org.apache.datasketches">ArrayOfDoublesSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfItemsSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches">ArrayOfItemsSerDe</a></dt>
<dd>
<div class="block">Deserialize an array of items from a given Memory object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfLongsSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfLongsSerDe.html" title="class in org.apache.datasketches">ArrayOfLongsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfNumbersSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfNumbersSerDe.html" title="class in org.apache.datasketches">ArrayOfNumbersSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfStringsSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfStringsSerDe.html" title="class in org.apache.datasketches">ArrayOfStringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html#deserializeFromMemory-org.apache.datasketches.memory.Memory-int-">deserializeFromMemory(Memory, int)</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html" title="class in org.apache.datasketches">ArrayOfUtf16StringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/DeserializeResult.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">DeserializeResult</span></a>&lt;<a href="org/apache/datasketches/tuple/DeserializeResult.html" title="type parameter in DeserializeResult">T</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Returns an object and its size in bytes as a result of a deserialize operation</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/DeserializeResult.html#DeserializeResult-T-int-">DeserializeResult(T, int)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/DeserializeResult.html" title="class in org.apache.datasketches.tuple">DeserializeResult</a></dt>
<dd>
<div class="block">Creates an instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/JaccardSimilarity.html#dissimilarityTest-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-double-">dissimilarityTest(Sketch, Sketch, double)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests dissimilarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#dissimilarityTest-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.SummarySetOperations-double-">dissimilarityTest(Sketch&lt;S&gt;, Sketch&lt;S&gt;, SummarySetOperations&lt;S&gt;, double)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests dissimilarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#dissimilarityTest-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-org.apache.datasketches.tuple.SummarySetOperations-double-">dissimilarityTest(Sketch&lt;S&gt;, Sketch, S, SummarySetOperations&lt;S&gt;, double)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests dissimilarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html#DoubleSketch-int-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSketch(int, DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSketch</a></dt>
<dd>
<div class="block">Constructs this sketch with given <i>lgK</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html#DoubleSketch-int-int-float-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSketch(int, int, float, DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSketch</a></dt>
<dd>
<div class="block">Creates this sketch with the following parameters:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html#DoubleSketch-org.apache.datasketches.memory.Memory-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSketch(Memory, DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSketch</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">As of 3.0.0, heapifying an UpdatableSketch is deprecated.
 This capability will be removed in a future release.
 Heapifying a CompactSketch is not deprecated.</span></div>
</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">DoublesSketch</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">This is a stochastic streaming sketch that enables near-real time analysis of the
 approximate distribution of real values from a very large stream in a single pass.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">DoublesSketchBuilder</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">For building a new quantiles DoublesSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#DoublesSketchBuilder--">DoublesSketchBuilder()</a></span> - Constructor for class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Constructor for a new DoublesSketchBuilder.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">DoublesSketchIterator</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">Iterator over DoublesSketch.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSummary</span></a> - Class in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>
<div class="block">Summary for generic tuple sketches of type Double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#DoubleSummary-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSummary(DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>
<div class="block">Creates an instance of DoubleSummary with a given mode.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html" title="enum in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSummary.Mode</span></a> - Enum in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>
<div class="block">The aggregation modes for this Summary</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSummaryDeserializer</span></a> - Class in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html#DoubleSummaryDeserializer--">DoubleSummaryDeserializer()</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html" title="class in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSummaryFactory</span></a> - Class in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>
<div class="block">Factory for DoubleSummary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html#DoubleSummaryFactory-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSummaryFactory(DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummaryFactory</a></dt>
<dd>
<div class="block">Creates an instance of DoubleSummaryFactory with a given mode</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble"><span class="typeNameLink">DoubleSummarySetOperations</span></a> - Class in <a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a></dt>
<dd>
<div class="block">Methods for defining how unions and intersections of two objects of type DoubleSummary
 are performed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html#DoubleSummarySetOperations--">DoubleSummarySetOperations()</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummarySetOperations</a></dt>
<dd>
<div class="block">Creates an instance with default mode of <i>sum</i> for both union and intersection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html#DoubleSummarySetOperations-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSummarySetOperations(DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummarySetOperations</a></dt>
<dd>
<div class="block">Creates an instance given a DoubleSummary update mode where the mode is the same for both
 union and intersection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html#DoubleSummarySetOperations-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-org.apache.datasketches.tuple.adouble.DoubleSummary.Mode-">DoubleSummarySetOperations(DoubleSummary.Mode, DoubleSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummarySetOperations</a></dt>
<dd>
<div class="block">Creates an instance with two modes.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">DoublesUnion</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">The API for Union operations for quantiles DoublesSketches</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#DoublesUnion--">DoublesUnion()</a></span> - Constructor for class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">DoublesUnionBuilder</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">For building a new DoublesSketch Union operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html#DoublesUnionBuilder--">DoublesUnionBuilder()</a></span> - Constructor for class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesUnionBuilder</a></dt>
<dd>
<div class="block">Constructor for a new DoublesUnionBuilder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#doubleToLongArray-double-">doubleToLongArray(double)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Converts a <i>double</i> to a <i>long[]</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#downSample-org.apache.datasketches.quantiles.DoublesSketch-int-org.apache.datasketches.memory.WritableMemory-">downSample(DoublesSketch, int, WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">From an source sketch, create a new sketch that must have a smaller value of K.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#downSample-int-">downSample(int)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">From an existing sketch, this creates a new sketch that can have a smaller value of K.</div>
</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitAdjSecSizeNumSec-byte-">emitAdjSecSizeNumSec(byte)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit adjusting section size and number of sections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitAllHorizList--">emitAllHorizList()</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit all horizontal lists</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitCompactingStart-byte-">emitCompactingStart(byte)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit Compaction Start.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitCompactionDetail-int-int-int-int-boolean-">emitCompactionDetail(int, int, int, int, boolean)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit Compaction details.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitCompactionDone-byte-">emitCompactionDone(byte)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit compaction done and number of compactions so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitCompressDone--">emitCompressDone()</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit compress done.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitMustAddCompactor--">emitMustAddCompactor()</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit Must add compactor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitNewCompactor-byte-">emitNewCompactor(byte)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit new compactor configuration</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitStart-org.apache.datasketches.req.ReqSketch-">emitStart(ReqSketch)</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit the start signal</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqDebug.html#emitStartCompress--">emitStartCompress()</a></span> - Method in interface org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req">ReqDebug</a></dt>
<dd>
<div class="block">Emit Start Compress</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>
<div class="block">This equals is computed only from the Row.getEstimate() value and does not imply equality
 of the other items within the row: item and upper and lower bounds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>
<div class="block">This equals is computed only from the Row.getEstimate() value and does not imply equality
 of the other items within the row: item and upper and lower bounds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnBinomialProportions.html#erf-double-">erf(double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches">BoundsOnBinomialProportions</a></dt>
<dd>
<div class="block">Computes an approximation to the erf() function.</div>
</dd>
<dt><a href="org/apache/datasketches/frequencies/ErrorType.html" title="enum in org.apache.datasketches.frequencies"><span class="typeNameLink">ErrorType</span></a> - Enum in <a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a></dt>
<dd>
<div class="block">Specifies one of two types of error regions of the statistical classification Confusion Matrix
 that can be excluded from a returned sample of Frequent Items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#estimateSubsetSum-java.util.function.Predicate-">estimateSubsetSum(Predicate&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Computes an estimated subset sum from the entire stream for objects matching a given
 predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#estimateSubsetSum-java.util.function.Predicate-">estimateSubsetSum(Predicate&lt;Long&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Computes an estimated subset sum from the entire stream for objects matching a given
 predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#estimateSubsetSum-java.util.function.Predicate-">estimateSubsetSum(Predicate&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Computes an estimated subset sum from the entire stream for objects matching a given
 predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnBinomialProportions.html#estimateUnknownP-long-long-">estimateUnknownP(long, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches">BoundsOnBinomialProportions</a></dt>
<dd>
<div class="block">Computes an estimate of an unknown binomial proportion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#evenlyLogSpaced-double-double-int-">evenlyLogSpaced(double, double, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a double array of values between min and max inclusive where the log of the
 returned values are evenly spaced.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#evenlySpaced-double-double-int-">evenlySpaced(double, double, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a double array of evenly spaced values between value1 and value2 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#evenlySpacedFloats-float-float-int-">evenlySpacedFloats(float, float, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a float array of evenly spaced values between value1 and value2 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/JaccardSimilarity.html#exactlyEqual-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">exactlyEqual(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta">JaccardSimilarity</a></dt>
<dd>
<div class="block">Returns true if the two given sketches have exactly the same hash values and the same
 theta values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#exactlyEqual-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.SummarySetOperations-">exactlyEqual(Sketch&lt;S&gt;, Sketch&lt;S&gt;, SummarySetOperations&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Returns true if the two given sketches have exactly the same hash values and the same
 theta values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#exactlyEqual-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-org.apache.datasketches.tuple.SummarySetOperations-">exactlyEqual(Sketch&lt;S&gt;, Sketch, S, SummarySetOperations&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Returns true if the two given sketches have exactly the same hash values and the same
 theta values.</div>
</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches"><span class="typeNameLink">Family</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Defines the various families of sketch and set operation classes.</div>
</dd>
<dt><a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt"><span class="typeNameLink">FdtSketch</span></a> - Class in <a href="org/apache/datasketches/fdt/package-summary.html">org.apache.datasketches.fdt</a></dt>
<dd>
<div class="block">A Frequent Distinct Tuples sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#FdtSketch-int-">FdtSketch(int)</a></span> - Constructor for class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Create new instance of Frequent Distinct Tuples sketch with the given
 Log-base2 of required nominal entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#FdtSketch-double-double-">FdtSketch(double, double)</a></span> - Constructor for class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Create a new instance of Frequent Distinct Tuples sketch with a size determined by the given
 threshold and rse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#FdtSketch-org.apache.datasketches.fdt.FdtSketch-">FdtSketch(FdtSketch)</a></span> - Constructor for class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Copy Constructor</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Filter.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Filter</span></a>&lt;<a href="org/apache/datasketches/tuple/Filter.html" title="type parameter in Filter">T</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Class for filtering entries from a <a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple"><code>Sketch</code></a> given a <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple"><code>Summary</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Filter.html#Filter-java.util.function.Predicate-">Filter(Predicate&lt;T&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Filter.html" title="class in org.apache.datasketches.tuple">Filter</a></dt>
<dd>
<div class="block">Filter constructor with a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function"><code>Predicate</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Filter.html#filter-org.apache.datasketches.tuple.Sketch-">filter(Sketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Filter.html" title="class in org.apache.datasketches.tuple">Filter</a></dt>
<dd>
<div class="block">Filters elements on the provided <a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple"><code>Sketch</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinarySearch.html#find-float:A-int-int-float-">find(float[], int, int, float)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BinarySearch.html" title="class in org.apache.datasketches">BinarySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the exact float value in the given search range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinarySearch.html#find-double:A-int-int-double-">find(double[], int, int, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BinarySearch.html" title="class in org.apache.datasketches">BinarySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the exact double value in the given search range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinarySearch.html#find-long:A-int-int-long-">find(long[], int, int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BinarySearch.html" title="class in org.apache.datasketches">BinarySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the exact long value in the given search range.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/GenericInequalitySearch.html#find-T:A-int-int-T-org.apache.datasketches.GenericInequalitySearch.Inequality-java.util.Comparator-">find(T[], int, int, T, GenericInequalitySearch.Inequality, Comparator&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/GenericInequalitySearch.html" title="class in org.apache.datasketches">GenericInequalitySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the generic value in the given search range that satisfies
 the given inequality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/InequalitySearch.html#find-double:A-int-int-double-org.apache.datasketches.InequalitySearch-">find(double[], int, int, double, InequalitySearch)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches">InequalitySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the double value in the given search range that satisfies
 the given InequalitySearch criterion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/InequalitySearch.html#find-float:A-int-int-float-org.apache.datasketches.InequalitySearch-">find(float[], int, int, float, InequalitySearch)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches">InequalitySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the float value in the given search range that satisfies
 the given InequalitySearch criterion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/InequalitySearch.html#find-long:A-int-int-long-org.apache.datasketches.InequalitySearch-">find(long[], int, int, long, InequalitySearch)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches">InequalitySearch</a></dt>
<dd>
<div class="block">Binary Search for the index of the long value in the given search range that satisfies
 the given InequalitySearch criterion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#floorPowerOf2-int-">floorPowerOf2(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the floor power of 2 given <i>n</i> is in the range [1, 2^31-1].</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#floorPowerOf2-long-">floorPowerOf2(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the floor power of 2 given <i>n</i> is in the range [1, 2^63-1].</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#floorPowerOfBdouble-double-double-">floorPowerOfBdouble(double, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the floor power of B as a double.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#fromMemory-org.apache.datasketches.memory.Memory-">fromMemory(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>
<div class="block">Creates an instance of the DoubleSummary given a serialized representation</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#fromMemory-org.apache.datasketches.memory.Memory-">fromMemory(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>
<div class="block">Creates an instance of the IntegerSummary given a serialized representation</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/TgtHllType.html#fromOrdinal-int-">fromOrdinal(int)</a></span> - Static method in enum org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/TgtHllType.html" title="enum in org.apache.datasketches.hll">TgtHllType</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#gadget_">gadget_</a></span> - Variable in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/GenericInequalitySearch.html" title="class in org.apache.datasketches"><span class="typeNameLink">GenericInequalitySearch</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This provides efficient, unique and unambiguous binary searching for inequalities
 for ordered arrays of values that may include duplicate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/GenericInequalitySearch.html#GenericInequalitySearch--">GenericInequalitySearch()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/GenericInequalitySearch.html" title="class in org.apache.datasketches">GenericInequalitySearch</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/GenericInequalitySearch.Inequality.html" title="enum in org.apache.datasketches"><span class="typeNameLink">GenericInequalitySearch.Inequality</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">The enumerator of inequalities</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/HashIterator.html#get--">get()</a></span> - Method in interface org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/HashIterator.html" title="interface in org.apache.datasketches.theta">HashIterator</a></dt>
<dd>
<div class="block">Gets the hash value</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html#getActionDescription--">getActionDescription()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.AnotbAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html#getActionDescription--">getActionDescription()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.IntersectAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html#getActionDescription--">getActionDescription()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.UnionAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html#getActionId--">getActionId()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.AnotbAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html#getActionId--">getActionId()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.IntersectAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html#getActionId--">getActionId()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.UnionAction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getActiveEntries--">getActiveEntries()</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns the number of active, unique keys across all internal maps</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#getAnotbAction--">getAnotbAction()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getAprioriError-int-long-">getAprioriError(int, long)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the estimated <i>a priori</i> error given the maxMapSize for the sketch and the
 estimatedTotalStreamWeight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getAprioriError-int-long-">getAprioriError(int, long)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns the estimated <i>a priori</i> error given the maxMapSize for the sketch and the
 estimatedTotalStreamWeight.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getAverageSketchMemoryPerKey--">getAverageSketchMemoryPerKey()</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns the average memory storage per key that is dedicated to sketching the unique counts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#getCaseDescription--">getCaseDescription()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getCDF-float:A-">getCDF(float[])</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Cumulative Distribution Function (CDF), which is the
 cumulative analog of the PMF, of the input stream given a set of splitPoint (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getCDF-double:A-">getCDF(double[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Cumulative Distribution Function (CDF), which is the
 cumulative analog of the PMF, of the input stream given a set of splitPoint (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getCDF-T:A-">getCDF(T[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Cumulative Distribution Function (CDF), which is the
 cumulative analog of the PMF, of the input stream given a set of splitPoints (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getCDF-float:A-">getCDF(float[])</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#getCompactBytes--">getCompactBytes()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getCompactBytes--">getCompactBytes()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the number of storage bytes required for this Sketch if its current state were
 compacted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#getCompactBytes--">getCompactBytes()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getCompactSerializationBytes--">getCompactSerializationBytes()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getCompactSerializationBytes--">getCompactSerializationBytes()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getCompactStorageBytes--">getCompactStorageBytes()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes this sketch would require to store in compact form, which is not
 updatable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getCompactStorageBytes-int-long-">getCompactStorageBytes(int, long)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes a DoublesSketch would require to store in compact form
 given the values of <i>k</i> and <i>n</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getCompositeEstimate--">getCompositeEstimate()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getCompositeEstimate--">getCompositeEstimate()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getCount--">getCount()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqIterator.html#getCount--">getCount()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqIterator.html" title="class in org.apache.datasketches.req">ReqIterator</a></dt>
<dd>
<div class="block">The number of items processed so far</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getCountLessThanThetaLong-long-">getCountLessThanThetaLong(long)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the number of hash values less than the given theta expressed as a long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/CompactSketch.html#getCountLessThanThetaLong-long-">getCountLessThanThetaLong(long)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getCountLessThanThetaLong-long-">getCountLessThanThetaLong(long)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the number of hash values less than the given theta expressed as a long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getCurrentBytes--">getCurrentBytes()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the number of storage bytes required for this sketch in its current state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html#getCurrentBytes--">getCurrentBytes()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesCompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getCurrentBytes--">getCurrentBytes()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">For compact sketches this is the same as getMaxBytes().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getCurrentMapCapacity--">getCurrentMapCapacity()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the current number of counters the sketch is configured to support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getCurrentMapCapacity--">getCurrentMapCapacity()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns the current number of counters the sketch is configured to support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getDoubleBE-byte:A-int-">getDoubleBE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>double</i> from the given byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getDoubleLE-byte:A-int-">getDoubleLE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>double</i> from the given byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#getEffectiveK--">getEffectiveK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns the effective <i>k</i> of this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getEffectiveK--">getEffectiveK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns the effective <i>k</i> of this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getEpsilon-int-">getEpsilon(int)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns epsilon used to compute <i>a priori</i> error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getEpsilon-int-">getEpsilon(int)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns epsilon used to compute <i>a priori</i> error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Returns the best estimate of the cardinality of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Returns the best estimate of the cardinality of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getEstimate-T-">getEstimate(T)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the estimate of the frequency of the given item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getEstimate-long-">getEstimate(long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Gets the estimate of the frequency of the given item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getEstimate-byte:A-">getEstimate(byte[])</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Retrieves the current estimate of unique count for a given key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/SampleSubsetSummary.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/SampleSubsetSummary.html" title="class in org.apache.datasketches.sampling">SampleSubsetSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the unique count estimate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getEstimate-org.apache.datasketches.memory.Memory-">getEstimate(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Gets the unique count estimate from a valid memory image of a Sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Estimates the cardinality of the set (number of unique values presented to the sketch)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getEstimate--">getEstimate()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Estimates the cardinality of the set (number of unique values presented to the sketch)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getEstimate-int-">getEstimate(int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the estimate of the true distinct population of subset tuples represented by the count
 of entries in a subset of the total retained entries of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html#getEstimateOfA-long-double-">getEstimateOfA(long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInSampledSets</a></dt>
<dd>
<div class="block">Return the estimate of A.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html#getEstimateOfB-long-double-">getEstimateOfB(long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInSampledSets</a></dt>
<dd>
<div class="block">Return the estimate of B.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html#getEstimateOfBoverA-long-long-">getEstimateOfBoverA(long, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInSampledSets</a></dt>
<dd>
<div class="block">Return the estimate of b over a</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html#getEstimateOfBoverA-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">getEstimateOfBoverA(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInThetaSketchedSets</a></dt>
<dd>
<div class="block">Gets the estimate for B over A</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getEstimateOfBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">getEstimateOfBoverA(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the estimate for B over A</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getEstimateOfBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-">getEstimateOfBoverA(Sketch&lt;S&gt;, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the estimate for B over A</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getFamily--">getFamily()</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the DataSketches identifier for this CPC family of sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#getFamily--">getFamily()</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Return the DataSketches identifier for this CPC family of sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#getFamily--">getFamily()</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Return the DataSketches identifier for this CPC family of sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Gets the Family of this SetOperation</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the Family that this sketch belongs to</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getFamily--">getFamily()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns the Family</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#getFamilyName--">getFamilyName()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the name for this family</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getFloatBE-byte:A-int-">getFloatBE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>float</i> from the given byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getFloatLE-byte:A-int-">getFloatLE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>float</i> from the given byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getFraction--">getFraction()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getFrequentItems-long-org.apache.datasketches.frequencies.ErrorType-">getFrequentItems(long, ErrorType)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns an array of Rows that include frequent items, estimates, upper and lower bounds
 given a threshold and an ErrorCondition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getFrequentItems-org.apache.datasketches.frequencies.ErrorType-">getFrequentItems(ErrorType)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns an array of Rows that include frequent items, estimates, upper and lower bounds
 given an ErrorCondition and the default threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getFrequentItems-long-org.apache.datasketches.frequencies.ErrorType-">getFrequentItems(long, ErrorType)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns an array of Rows that include frequent items, estimates, upper and lower bounds
 given a threshold and an ErrorCondition.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getFrequentItems-org.apache.datasketches.frequencies.ErrorType-">getFrequentItems(ErrorType)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns an array of Rows that include frequent items, estimates, upper and lower bounds
 given an ErrorCondition and the default threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/PostProcessor.html#getGroupCount--">getGroupCount()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/PostProcessor.html" title="class in org.apache.datasketches.fdt">PostProcessor</a></dt>
<dd>
<div class="block">Returns the number of groups in the final sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/PostProcessor.html#getGroupList-int:A-int-int-">getGroupList(int[], int, int)</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/PostProcessor.html" title="class in org.apache.datasketches.fdt">PostProcessor</a></dt>
<dd>
<div class="block">Return the most frequent Groups associated with Primary Keys based on the size of the groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SketchIterator.html#getHash--">getHash()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SketchIterator.html" title="class in org.apache.datasketches.tuple">SketchIterator</a></dt>
<dd>
<div class="block">Gets the hash from the current entry in the sketch, which is a hash
 of the original key passed to update().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getHeader--">getHeader()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getHighRankAccuracy--">getHighRankAccuracy()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#getHighRankAccuracy--">getHighRankAccuracy()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Gets the builder confibured value of High Rank Accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#getID--">getID()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the byte ID for this family</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#getId--">getId()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#getIndex--">getIndex()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getInstance-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">getInstance(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given srcMem,
 which must be a Memory representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getInstance-org.apache.datasketches.memory.Memory-">getInstance(Memory)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given srcMem,
 which must be a Memory representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getInstance-java.lang.String-">getInstance(String)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given String,
 which must be a String representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getInstance-java.util.Comparator-">getInstance(Comparator&lt;? super T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Obtains a new instance of an ItemsSketch using the DEFAULT_K.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getInstance-int-java.util.Comparator-">getInstance(int, Comparator&lt;? super T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Obtains a new instance of an ItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getInstance-org.apache.datasketches.memory.Memory-java.util.Comparator-org.apache.datasketches.ArrayOfItemsSerDe-">getInstance(Memory, Comparator&lt;? super T&gt;, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Heapifies the given srcMem, which must be a Memory image of a ItemsSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getInstance-java.util.Comparator-">getInstance(Comparator&lt;? super T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Create an instance of ItemsUnion with the default k</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getInstance-int-java.util.Comparator-">getInstance(int, Comparator&lt;? super T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Create an instance of ItemsUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getInstance-org.apache.datasketches.memory.Memory-java.util.Comparator-org.apache.datasketches.ArrayOfItemsSerDe-">getInstance(Memory, Comparator&lt;? super T&gt;, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Heapify the given srcMem into a Union object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getInstance-org.apache.datasketches.quantiles.ItemsSketch-">getInstance(ItemsSketch&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Create an instance of ItemsUnion based on ItemsSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getIntBE-byte:A-int-">getIntBE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>int</i> from the given byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#getIntersectAction--">getIntersectAction()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getIntLE-byte:A-int-">getIntLE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>int</i> from the given byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#getItem--">getItem()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#getItem--">getItem()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html#getItem--">getItem()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples.WeightedSample</a></dt>
<dd>
<div class="block">Accesses the iterator's current object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the parameter k</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the configured value of K</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Gets the current configured value of <i>k</i></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the configured value of K</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Gets the builder configured value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns the sketch's value of <i>k</i>, the maximum number of samples stored in the
 reservoir.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns the sketch's value of <i>k</i>, the maximum number of samples stored in the reservoir.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#getK--">getK()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns the sketch's value of <i>k</i>, the maximum number of samples stored in the
 sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#getKey--">getKey()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html#getKey--">getKey()</a></span> - Method in interface org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketchIterator</a></dt>
<dd>
<div class="block">Gets a key from the current entry in the sketch, which is a hash
 of the original key passed to update().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getKeyMemoryUsageBytes--">getKeyMemoryUsageBytes()</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns total bytes used for key storage</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getKFromEpsilon-double-boolean-">getKFromEpsilon(double, boolean)</a></span> - Static method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Gets the approximate value of <em>k</em> to use given epsilon, the normalized rank error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getKFromEpsilon-double-boolean-">getKFromEpsilon(double, boolean)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Gets the approximate value of <em>k</em> to use given epsilon, the normalized rank error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getKFromEpsilon-double-boolean-">getKFromEpsilon(double, boolean)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the approximate value of <em>k</em> to use given epsilon, the normalized rank error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#getLessThanOrEqual--">getLessThanOrEqual()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Gets the builder configured value of Less-Than-Or-Equal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getLgConfigK--">getLgConfigK()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getLgConfigK--">getLgConfigK()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Gets the effective <i>lgConfigK</i> for the union operator, which may be less than
 <i>lgMaxK</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getLgK--">getLgK()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the parameter LgK.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#getLgK--">getLgK()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Returns the current value of Log_base2 of K.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#getLgK--">getLgK()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Returns the configured Log_base2 of K of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#getLgNominalEntries--">getLgNominalEntries()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns Log-base 2 Nominal Entries</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getLgNominalEntries--">getLgNominalEntries()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns Log-base 2 Nominal Entries</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#getLgNomLongs--">getLgNomLongs()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Gets the Log base 2 of the configured nominal entries</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getLocalLgNominalEntries--">getLocalLgNominalEntries()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns Log-base 2 Nominal Entries for the concurrent local sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getLongBE-byte:A-int-">getLongBE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>long</i> from the source byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getLongLE-byte:A-int-">getLongLE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>long</i> from the given byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinomialBoundsN.html#getLowerBound-long-double-int-boolean-">getLowerBound(long, double, int, boolean)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BinomialBoundsN.html" title="class in org.apache.datasketches">BinomialBoundsN</a></dt>
<dd>
<div class="block">Returns the approximate lower bound value</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Returns the best estimate of the lower bound of the confidence interval given <i>kappa</i>,
 the number of standard deviations from the mean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Returns the best estimate of the lower bound of the confidence interval given <i>kappa</i>,
 the number of standard deviations from the mean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getLowerBound--">getLowerBound()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getLowerBound-T-">getLowerBound(T)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the guaranteed lower bound frequency of the given item, which can never be
 negative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#getLowerBound--">getLowerBound()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getLowerBound-long-">getLowerBound(long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Gets the guaranteed lower bound frequency of the given item, which can never be
 negative.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#getLowerBound--">getLowerBound()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getLowerBound-byte:A-">getLowerBound(byte[])</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns the lower bound cardinality with respect to <a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getEstimate-byte:A-"><code>UniqueCountMap.getEstimate(byte[])</code></a> associated
 with the given key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/SampleSubsetSummary.html#getLowerBound--">getLowerBound()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/SampleSubsetSummary.html" title="class in org.apache.datasketches.sampling">SampleSubsetSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the approximate lower error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getLowerBound-int-org.apache.datasketches.memory.Memory-">getLowerBound(int, Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Gets the approximate lower error bound from a valid memory image of a Sketch
 given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Gets the approximate lower error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getLowerBound-int-">getLowerBound(int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the approximate lower error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getLowerBound-int-int-">getLowerBound(int, int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the estimate of the lower bound of the true distinct population represented by the count
 of entries in a subset of the total retained entries of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html#getLowerBoundForBoverA-long-long-double-">getLowerBoundForBoverA(long, long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInSampledSets</a></dt>
<dd>
<div class="block">Return the approximate lower bound based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html#getLowerBoundForBoverA-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">getLowerBoundForBoverA(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInThetaSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate lower bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getLowerBoundForBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">getLowerBoundForBoverA(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate lower bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getLowerBoundForBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-">getLowerBoundForBoverA(Sketch&lt;S&gt;, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate lower bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#getMaxAnotBResultBytes-int-">getMaxAnotBResultBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Returns the maximum number of bytes for the returned CompactSketch, given the
 value of nomEntries of the first sketch A of AnotB.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getMaxAnotBResultBytes-int-">getMaxAnotBResultBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#getMaxAnotBResultBytes-int-"><code>SetOperation.getMaxAnotBResultBytes(int)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html#getMaxBytes--">getMaxBytes()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesCompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getMaxBytes--">getMaxBytes()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#getMaxBytes-int-int-">getMaxBytes(int, int)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getMaxCompactSketchBytes-int-">getMaxCompactSketchBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the maximum number of storage bytes required for a CompactSketch with the given
 number of actual entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getMaxCompactSketchBytes-int-">getMaxCompactSketchBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#getMaxCompactSketchBytes-int-"><code>Sketch.getMaxCompactSketchBytes(int)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getMaxConcurrencyError--">getMaxConcurrencyError()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Gets the Maximum Concurrency Error</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getMaximumError--">getMaximumError()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getMaximumError--">getMaximumError()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getMaximumMapCapacity--">getMaximumMapCapacity()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the maximum number of counters the sketch is configured to support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getMaximumMapCapacity--">getMaximumMapCapacity()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns the maximum number of counters the sketch is configured to support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#getMaxIntersectionBytes-int-">getMaxIntersectionBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Returns the maximum required storage bytes given a nomEntries parameter for Intersection
 operations</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getMaxIntersectionBytes-int-">getMaxIntersectionBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#getMaxIntersectionBytes-int-"><code>SetOperation.getMaxIntersectionBytes(int)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#getMaxK--">getMaxK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns the configured <i>maxK</i> of this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html#getMaxK--">getMaxK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesUnionBuilder</a></dt>
<dd>
<div class="block">Gets the current configured value of <i>maxK</i></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getMaxK--">getMaxK()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns the configured <i>maxK</i> of this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#getMaxK--">getMaxK()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Returns the maximum allowed reservoir capacity in this union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#getMaxK--">getMaxK()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Returns the maximum allowed reservoir capacity in this union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#getMaxLgArrLongs-org.apache.datasketches.memory.Memory-">getMaxLgArrLongs(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Returns the maximum lgArrLongs given the capacity of the Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getMaxNumLocalThreads--">getMaxNumLocalThreads()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Gets the Maximum Number of Local Threads.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#getMaxPreLongs--">getMaxPreLongs()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the maximum preamble size for this family in longs</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getMaxSerializationBytes-int-">getMaxSerializationBytes(int)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Returns the maximum size in bytes that this union operator can grow to given a lgK.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getMaxSerializedBytes-int-">getMaxSerializedBytes(int)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">The actual size of a compressed CPC sketch has a small random variance, but the following
 empirically measured size should be large enough for at least 99.9 percent of sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getMaxSerializedSizeBytes-int-long-">getMaxSerializedSizeBytes(int, long)</a></span> - Static method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns upper bound on the serialized size of a sketch given a parameter <em>k</em> and stream
 length.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#getMaxUnionBytes-int-">getMaxUnionBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Returns the maximum required storage bytes given a nomEntries parameter for Union operations</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getMaxUnionBytes-int-">getMaxUnionBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#getMaxUnionBytes-int-"><code>SetOperation.getMaxUnionBytes(int)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getMaxUpdatableSerializationBytes-int-org.apache.datasketches.hll.TgtHllType-">getMaxUpdatableSerializationBytes(int, TgtHllType)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Returns the maximum size in bytes that this sketch can grow to given lgConfigK.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getMaxUpdateSketchBytes-int-">getMaxUpdateSketchBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the maximum number of storage bytes required for an UpdateSketch with the given
 number of nominal entries (power of 2).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getMaxUpdateSketchBytes-int-">getMaxUpdateSketchBytes(int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#getMaxUpdateSketchBytes-int-"><code>Sketch.getMaxUpdateSketchBytes(int)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getMaxValue--">getMaxValue()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the max value of the stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getMaxValue--">getMaxValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the max value of the stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getMaxValue--">getMaxValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the max value of the stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getMaxValue--">getMaxValue()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#getMemoryRequestServer--">getMemoryRequestServer()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns the MemoryRequestServer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getMemoryRequestServer--">getMemoryRequestServer()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns the MemoryRequestServer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getMemoryUsageBytes--">getMemoryUsageBytes()</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns total bytes used by all internal maps</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#getMinPreLongs--">getMinPreLongs()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the minimum preamble size for this family in longs</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getMinValue--">getMinValue()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the min value of the stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getMinValue--">getMinValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the min value of the stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getMinValue--">getMinValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the min value of the stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getMinValue--">getMinValue()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the length of the input stream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the length of the input stream so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the length of the input stream so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns the number of items processed from the input stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns the number of items processed from the input stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#getN--">getN()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns the number of items processed from the input stream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#getNominalEntries--">getNominalEntries()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Gets the configured nominal number of entries</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getNormalizedRankError-boolean-">getNormalizedRankError(boolean)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Gets the approximate rank error of this sketch normalized as a fraction between zero and one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getNormalizedRankError-int-boolean-">getNormalizedRankError(int, boolean)</a></span> - Static method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Gets the normalized rank error given k and pmf.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getNormalizedRankError-boolean-">getNormalizedRankError(boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Gets the approximate rank error of this sketch normalized as a fraction between zero and one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getNormalizedRankError-int-boolean-">getNormalizedRankError(int, boolean)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Gets the normalized rank error given k and pmf.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getNormalizedRankError-boolean-">getNormalizedRankError(boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the approximate rank error of this sketch normalized as a fraction between zero and one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getNormalizedRankError-int-boolean-">getNormalizedRankError(int, boolean)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the normalized rank error given k and pmf.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getNumActiveItems--">getNumActiveItems()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getNumActiveItems--">getNumActiveItems()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getNumPoolThreads--">getNumPoolThreads()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Gets the number of background pool threads used for propagation in the concurrent sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getNumRetained--">getNumRetained()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the number of retained items (samples) in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#getNumSamples--">getNumSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns the current number of items in the reservoir, which may be smaller than the
 reservoir capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#getNumSamples--">getNumSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns the current number of items in the reservoir, which may be smaller than the reservoir
 capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#getNumSamples--">getNumSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Returns the length Copies items and weights from the sketch, if necessary, and returns the
 length of
 any
 resulting array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#getNumSamples--">getNumSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns the current number of items in the sketch, which may be smaller than the
 sketch capacity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/DeserializeResult.html#getObject--">getObject()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/DeserializeResult.html" title="class in org.apache.datasketches.tuple">DeserializeResult</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#getP--">getP()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns the pre-sampling probability <i>p</i></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getP--">getP()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns the pre-sampling probability <i>p</i></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#getPair--">getPair()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getPMF-float:A-">getPMF(float[])</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream
 given a set of splitPoints (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getPMF-double:A-">getPMF(double[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream
 given a set of splitPoints (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getPMF-T:A-">getPMF(T[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream
 given a set of splitPoints (values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getPMF-float:A-">getPMF(float[])</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#getPostProcessor--">getPostProcessor()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Returns the PostProcessor that enables multiple queries against the sketch results.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#getPostProcessor-org.apache.datasketches.fdt.Group-char-">getPostProcessor(Group, char)</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Returns the PostProcessor that enables multiple queries against the sketch results.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getPrimaryKey--">getPrimaryKey()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getPropagateOrderedCompact--">getPropagateOrderedCompact()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Gets the Propagate Ordered Compact flag used with concurrent sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getQuantile-double-">getQuantile(double)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the value of the data item
 that would be preceded by the given fraction of a hypothetical sorted
 version of the input stream so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getQuantile-double-">getQuantile(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">This returns an approximation to the value of the data item
 that would be preceded by the given fraction of a hypothetical sorted
 version of the input stream so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getQuantile-double-">getQuantile(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">This returns an approximation to the value of the data item
 that would be preceded by the given fraction of a hypothetical sorted
 version of the input stream so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getQuantile-double-">getQuantile(double)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getQuantileLowerBound-double-">getQuantileLowerBound(double)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Gets the lower bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getQuantileLowerBound-double-">getQuantileLowerBound(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Gets the lower bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getQuantileLowerBound-double-">getQuantileLowerBound(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the lower bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getQuantiles-double:A-">getQuantiles(double[])</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">This is a more efficient multiple-query version of getQuantile().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getQuantiles-int-">getQuantiles(int)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">This is also a more efficient multiple-query version of getQuantile() and allows the caller to
 specify the number of evenly spaced fractional ranks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getQuantiles-double:A-">getQuantiles(double[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">This is a more efficient multiple-query version of getQuantile().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getQuantiles-int-">getQuantiles(int)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">This is also a more efficient multiple-query version of getQuantile() and allows the caller to
 specify the number of evenly spaced fractional ranks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getQuantiles-double:A-">getQuantiles(double[])</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">This is a more efficient multiple-query version of getQuantile().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getQuantiles-int-">getQuantiles(int)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">This is also a more efficient multiple-query version of getQuantile() and allows the caller to
 specify the number of evenly spaced fractional ranks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getQuantiles-double:A-">getQuantiles(double[])</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getQuantileUpperBound-double-">getQuantileUpperBound(double)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Gets the upper bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getQuantileUpperBound-double-">getQuantileUpperBound(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Gets the upper bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getQuantileUpperBound-double-">getQuantileUpperBound(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the upper bound of the value interval in which the true quantile of the given rank
 exists with a confidence of at least 99%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getRank-float-">getRank(float)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the normalized (fractional) rank of the given value from 0 to 1,
 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getRank-double-">getRank(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the normalized (fractional) rank of the given value from 0 to 1
 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getRank-T-">getRank(T)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns an approximation to the normalized (fractional) rank of the given value from 0 to 1
 inclusive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRank-float-">getRank(float)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRankLowerBound-double-int-">getRankLowerBound(double, int)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRanks-float:A-">getRanks(float[])</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRankUpperBound-double-int-">getRankUpperBound(double, int)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#getReqDebug--">getReqDebug()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Gets the builder configured value of ReqDebug</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#getResizeFactor--">getResizeFactor()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns the Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#getResizeFactor--">getResizeFactor()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Returns the configured ResizeFactor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getResizeFactor--">getResizeFactor()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns the Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#getResizeFactor--">getResizeFactor()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Gets the configured resize factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#getResourceBytes-java.lang.String-">getResourceBytes(String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a byte array of the contents of the file defined by the given resource file's
 shortFileName.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#getResourceFile-java.lang.String-">getResourceFile(String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Gets the file defined by the given resource file's shortFileName.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#getResourcePath-java.lang.String-">getResourcePath(String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Gets the absolute path of the given resource file's shortName.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Returns the result of union operations as a CPC sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#getResult-int:A-int-int-char-">getResult(int[], int, int, char)</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Returns an ordered List of Groups of the most frequent distinct population of subset tuples
 represented by the count of entries of each group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Return the result of this union operator as an HLL_4 sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getResult-org.apache.datasketches.hll.TgtHllType-">getResult(TgtHllType)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Return the result of this union operator with the specified <a href="org/apache/datasketches/hll/TgtHllType.html" title="enum in org.apache.datasketches.hll"><code>TgtHllType</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Gets the result of this Union as an UpdateDoublesSketch, which enables further update
 operations on the resulting sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#getResult-org.apache.datasketches.memory.WritableMemory-">getResult(WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Places the result of this Union into the provided memory as an UpdateDoublesSketch,
 which enables further update operations on the resulting sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Gets the result of this Union operation as a copy of the internal state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Returns a sketch representing the current state of the union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Returns a sketch representing the current state of the union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Gets the varopt sketch resulting from the union of any input sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#getResult-boolean-">getResult(boolean)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">Gets the result of the multistep, stateful operation AnotB that have been executed with calls
 to <a href="org/apache/datasketches/theta/AnotB.html#setA-org.apache.datasketches.theta.Sketch-"><code>AnotB.setA(Sketch)</code></a> and (<a href="org/apache/datasketches/theta/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(Sketch)</code></a> or
 <a href="org/apache/datasketches/theta/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(org.apache.datasketches.theta.Sketch)</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#getResult-boolean-org.apache.datasketches.memory.WritableMemory-boolean-">getResult(boolean, WritableMemory, boolean)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">Gets the result of the multistep, stateful operation AnotB that have been executed with calls
 to <a href="org/apache/datasketches/theta/AnotB.html#setA-org.apache.datasketches.theta.Sketch-"><code>AnotB.setA(Sketch)</code></a> and (<a href="org/apache/datasketches/theta/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(Sketch)</code></a> or
 <a href="org/apache/datasketches/theta/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(org.apache.datasketches.theta.Sketch)</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Gets the result of this operation as an ordered CompactSketch on the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#getResult-boolean-org.apache.datasketches.memory.WritableMemory-">getResult(boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Gets the result of this operation as a CompactSketch in the given dstMem.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Gets the result of this operation as an ordered CompactSketch on the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#getResult-boolean-org.apache.datasketches.memory.WritableMemory-">getResult(boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Gets the result of this operation as a CompactSketch of the chosen form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#getResult-boolean-">getResult(boolean)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">Gets the result of the multistep, stateful operation AnotB that have been executed with calls
 to <a href="org/apache/datasketches/tuple/AnotB.html#setA-org.apache.datasketches.tuple.Sketch-"><code>AnotB.setA(Sketch)</code></a> and (<a href="org/apache/datasketches/tuple/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(Sketch)</code></a> or
 <a href="org/apache/datasketches/tuple/AnotB.html#notB-org.apache.datasketches.theta.Sketch-"><code>AnotB.notB(org.apache.datasketches.theta.Sketch)</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotB</a></dt>
<dd>
<div class="block">Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html#getResult-org.apache.datasketches.memory.WritableMemory-">getResult(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotB</a></dt>
<dd>
<div class="block">Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotBImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html#getResult-org.apache.datasketches.memory.WritableMemory-">getResult(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotBImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesIntersection</a></dt>
<dd>
<div class="block">Gets the internal set as an on-heap compact sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html#getResult-org.apache.datasketches.memory.WritableMemory-">getResult(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesIntersection</a></dt>
<dd>
<div class="block">Gets the result of stateful intersections so far.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#getResult-org.apache.datasketches.memory.WritableMemory-">getResult(WritableMemory)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Returns the resulting union in the form of a compact sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Returns the resulting union in the form of a compact sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Gets the internal set as an unordered CompactSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#getResult--">getResult()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Gets the result of a sequence of stateful <i>union</i> operations as an unordered CompactSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#getResult-boolean-">getResult(boolean)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Gets the result of a sequence of stateful <i>union</i> operations as an unordered CompactSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#getResultAndReset--">getResultAndReset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Gets the result of this Union  as an UpdateDoublesSketch, which enables further update
 operations on the resulting sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#getResultAndReset--">getResultAndReset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Gets the result of this Union operation (without a copy) and resets this Union to the
 virgin state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getRetainedEntries--">getRetainedEntries()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the number of valid entries that have been retained by the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getRetainedEntries-boolean-">getRetainedEntries(boolean)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the number of entries that have been retained by the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getRetainedEntries--">getRetainedEntries()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/CompactSketch.html#getRetainedEntries--">getRetainedEntries()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getRetainedEntries--">getRetainedEntries()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getRetainedItems--">getRetainedItems()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Computes the number of retained items (samples) in the sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#getRetainedItems--">getRetainedItems()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Computes the number of retained entries (samples) in the sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRetainedItems--">getRetainedItems()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ResizeFactor.html#getRF-int-">getRF(int)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches">ResizeFactor</a></dt>
<dd>
<div class="block">Returns the Resize Factor given the Log-base 2 of the Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#getRowHeader--">getRowHeader()</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#getRowHeader--">getRowHeader()</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getRse--">getRse()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getRSE-int-double-boolean-long-">getRSE(int, double, boolean, long)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#getSamples--">getSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a copy of the items in the reservoir, or null if empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#getSamples-java.lang.Class-">getSamples(Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a copy of the items in the reservoir as members of Class <em>clazz</em>, or null
 if empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#getSamples--">getSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a copy of the items in the reservoir.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#getSamplingProbability--">getSamplingProbability()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Gets the configured sampling probability</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#getSeed--">getSeed()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Returns the seed</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#getSeed--">getSeed()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Returns the seed</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#getSerializationBytes--">getSerializationBytes()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getSerializationVersion-org.apache.datasketches.memory.Memory-">getSerializationVersion(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns the serialization version from the given Memory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getSerializationVersion-org.apache.datasketches.memory.Memory-">getSerializationVersion(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#getSerializationVersion-org.apache.datasketches.memory.Memory-"><code>Sketch.getSerializationVersion(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#getSerializedSizeBytes--">getSerializedSizeBytes()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes this sketch would require to store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getShortBE-byte:A-int-">getShortBE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>short</i> from the given byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#getShortLE-byte:A-int-">getShortLE(byte[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Get a <i>short</i> from the given byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/DeserializeResult.html#getSize--">getSize()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/DeserializeResult.html" title="class in org.apache.datasketches.tuple">DeserializeResult</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#getSketchSamples--">getSketchSamples()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Gets a result iterator object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.html#getSketchType-org.apache.datasketches.memory.Memory-">getSketchType(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.html" title="class in org.apache.datasketches.tuple">SerializerDeserializer</a></dt>
<dd>
<div class="block">Gets the sketch type byte from the given Memory image</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#getSlot--">getSlot()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#getStartingCapacity-int-int-">getStartingCapacity(int, int)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Gets the starting capacity of a new sketch given the Nominal Entries and the log Resize Factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getStorageBytes--">getStorageBytes()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes required to store this sketch as an array of bytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getStorageBytes--">getStorageBytes()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes this sketch would require to store in native form: compact for
 a CompactDoublesSketch, non-compact for an UpdateDoublesSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getStreamLength--">getStreamLength()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns the sum of the frequencies in the stream seen so far by the sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getStreamLength--">getStreamLength()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns the sum of the frequencies (weights or counts) in the stream seen so far by the sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SketchIterator.html#getSummary--">getSummary()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SketchIterator.html" title="class in org.apache.datasketches.tuple">SketchIterator</a></dt>
<dd>
<div class="block">Gets a Summary object from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getSummaryFactory--">getSummaryFactory()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getTgtHllType--">getTgtHllType()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getTgtHllType--">getTgtHllType()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getTheta--">getTheta()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the value of theta as a double with a value between zero and one</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getTheta--">getTheta()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Gets the value of theta as a double between zero and one</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getTheta--">getTheta()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the value of theta as a double between zero and one</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getThetaLong--">getThetaLong()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the value of theta as a long</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getThetaLong--">getThetaLong()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Returns Theta as a long</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/SampleSubsetSummary.html#getTotalSketchWeight--">getTotalSketchWeight()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/SampleSubsetSummary.html" title="class in org.apache.datasketches.sampling">SampleSubsetSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#getUnionAction--">getUnionAction()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getUpdatableSerializationBytes--">getUpdatableSerializationBytes()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getUpdatableSerializationBytes--">getUpdatableSerializationBytes()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getUpdatableStorageBytes--">getUpdatableStorageBytes()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes this sketch would require to store in updatable form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#getUpdatableStorageBytes-int-long-">getUpdatableStorageBytes(int, long)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns the number of bytes a sketch would require to store in updatable form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BinomialBoundsN.html#getUpperBound-long-double-int-boolean-">getUpperBound(long, double, int, boolean)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BinomialBoundsN.html" title="class in org.apache.datasketches">BinomialBoundsN</a></dt>
<dd>
<div class="block">Returns the approximate upper bound value</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Returns the best estimate of the upper bound of the confidence interval given <i>kappa</i>,
 the number of standard deviations from the mean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcWrapper.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcWrapper.html" title="class in org.apache.datasketches.cpc">CpcWrapper</a></dt>
<dd>
<div class="block">Returns the best estimate of the upper bound of the confidence interval given <i>kappa</i>,
 the number of standard deviations from the mean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#getUpperBound--">getUpperBound()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#getUpperBound-T-">getUpperBound(T)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Gets the guaranteed upper bound frequency of the given item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#getUpperBound--">getUpperBound()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#getUpperBound-long-">getUpperBound(long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Gets the guaranteed upper bound frequency of the given item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#getUpperBound--">getUpperBound()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getUpperBound-byte:A-">getUpperBound(byte[])</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns the upper bound cardinality with respect to <a href="org/apache/datasketches/hllmap/UniqueCountMap.html#getEstimate-byte:A-"><code>UniqueCountMap.getEstimate(byte[])</code></a> associated
 with the given key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/SampleSubsetSummary.html#getUpperBound--">getUpperBound()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/SampleSubsetSummary.html" title="class in org.apache.datasketches.sampling">SampleSubsetSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets the approximate upper error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#getUpperBound-int-org.apache.datasketches.memory.Memory-">getUpperBound(int, Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Gets the approximate upper error bound from a valid memory image of a Sketch
 given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Gets the approximate upper error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getUpperBound-int-">getUpperBound(int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the approximate upper error bound given the specified number of Standard Deviations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#getUpperBound-int-int-">getUpperBound(int, int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Gets the estimate of the upper bound of the true distinct population represented by the count
 of entries in a subset of the total retained entries of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html#getUpperBoundForBoverA-long-long-double-">getUpperBoundForBoverA(long, long, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInSampledSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInSampledSets</a></dt>
<dd>
<div class="block">Return the approximate upper bound based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html#getUpperBoundForBoverA-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">getUpperBoundForBoverA(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInThetaSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInThetaSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate upper bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getUpperBoundForBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">getUpperBoundForBoverA(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate upper bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html#getUpperBoundForBoverA-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-">getUpperBoundForBoverA(Sketch&lt;S&gt;, Sketch)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnRatiosInTupleSketchedSets.html" title="class in org.apache.datasketches">BoundsOnRatiosInTupleSketchedSets</a></dt>
<dd>
<div class="block">Gets the approximate upper bound for B over A based on a 95% confidence interval</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html" title="class in org.apache.datasketches.kll">KllFloatsSketchIterator</a></dt>
<dd>
<div class="block">Gets a value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html" title="class in org.apache.datasketches.quantiles">DoublesSketchIterator</a></dt>
<dd>
<div class="block">Gets a value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html" title="class in org.apache.datasketches.quantiles">ItemsSketchIterator</a></dt>
<dd>
<div class="block">Gets a value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqIterator.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqIterator.html" title="class in org.apache.datasketches.req">ReqIterator</a></dt>
<dd>
<div class="block">Gets a value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ResizeFactor.html#getValue--">getValue()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches">ResizeFactor</a></dt>
<dd>
<div class="block">Returns the Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#getValue--">getValue()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#getValues--">getValues()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html#getValues--">getValues()</a></span> - Method in interface org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketchIterator</a></dt>
<dd>
<div class="block">Gets an array of values from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html#getWeight--">getWeight()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html" title="class in org.apache.datasketches.kll">KllFloatsSketchIterator</a></dt>
<dd>
<div class="block">Gets a weight for the value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html#getWeight--">getWeight()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html" title="class in org.apache.datasketches.quantiles">DoublesSketchIterator</a></dt>
<dd>
<div class="block">Gets a weight for the value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html#getWeight--">getWeight()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html" title="class in org.apache.datasketches.quantiles">ItemsSketchIterator</a></dt>
<dd>
<div class="block">Gets a weight for the value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqIterator.html#getWeight--">getWeight()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqIterator.html" title="class in org.apache.datasketches.req">ReqIterator</a></dt>
<dd>
<div class="block">Gets a weight for the value from the current entry in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html#getWeight--">getWeight()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples.WeightedSample</a></dt>
<dd>
<div class="block">Accesses the iterator's current weight value</div>
</dd>
<dt><a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt"><span class="typeNameLink">Group</span></a> - Class in <a href="org/apache/datasketches/fdt/package-summary.html">org.apache.datasketches.fdt</a></dt>
<dd>
<div class="block">Defines a Group from a Frequent Distinct Tuple query.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#Group--">Group()</a></span> - Constructor for class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>
<div class="block">Construct an empty Group</div>
</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-long-long-">hash(long, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-long:A-long-">hash(long[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given long[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-long:A-int-int-long-">hash(long[], int, int, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash a portion of the given long[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-int:A-long-">hash(int[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given int[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-int:A-int-int-long-">hash(int[], int, int, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash a portion of the given int[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-char:A-long-">hash(char[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given char[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-char:A-int-int-long-">hash(char[], int, int, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash a portion of the given char[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-byte:A-long-">hash(byte[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given byte[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-byte:A-int-int-long-">hash(byte[], int, int, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash a portion of the given byte[] array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-java.nio.ByteBuffer-long-">hash(ByteBuffer, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the remaining bytes of the given ByteBuffer starting at position().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3.html#hash-org.apache.datasketches.memory.Memory-long-">hash(Memory, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash">MurmurHash3</a></dt>
<dd>
<div class="block">Hash the given Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/XxHash.html#hash-org.apache.datasketches.memory.Memory-long-long-long-">hash(Memory, long, long, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/XxHash.html" title="class in org.apache.datasketches.hash">XxHash</a></dt>
<dd>
<div class="block">Compute the hash of the given Memory object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/XxHash.html#hash-long-long-">hash(long, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/XxHash.html" title="class in org.apache.datasketches.hash">XxHash</a></dt>
<dd>
<div class="block">Returns a 64-bit hash.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashArrayInsert-long:A-long:A-int-long-">hashArrayInsert(long[], long[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Inserts the given long array into the given OADH hashTable of the target size,
 ignores duplicates and counts the values inserted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#hashCode--">hashCode()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>
<div class="block">This hashCode is computed only from the Row.getEstimate() value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#hashCode--">hashCode()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>
<div class="block">This hashCode is computed only from the Row.getEstimate() value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#hashCode--">hashCode()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashInsertOnly-long:A-int-long-">hashInsertOnly(long[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashInsertOnlyMemory-org.apache.datasketches.memory.WritableMemory-int-long-int-">hashInsertOnlyMemory(WritableMemory, int, long, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for Memory.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/HashIterator.html" title="interface in org.apache.datasketches.theta"><span class="typeNameLink">HashIterator</span></a> - Interface in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">This is used to iterate over the retained hash values of the Theta sketch.</div>
</dd>
<dt><a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches"><span class="typeNameLink">HashOperations</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Helper class for the common hash table methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashSearch-long:A-int-long-">hashSearch(long[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for on-heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashSearchMemory-org.apache.datasketches.memory.Memory-int-long-int-">hashSearchMemory(Memory, int, long, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashSearchOrInsert-long:A-int-long-">hashSearchOrInsert(long[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#hashSearchOrInsertMemory-org.apache.datasketches.memory.WritableMemory-int-long-int-">hashSearchOrInsertMemory(WritableMemory, int, long, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">This is a classical Knuth-style Open Addressing, Double Hash insert scheme, but inserts
 values directly into a Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-long-long-">hashToBytes(long, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a long and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-long:A-long-">hashToBytes(long[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a long[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-int:A-long-">hashToBytes(int[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash an int[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-char:A-long-">hashToBytes(char[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a char[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-byte:A-long-">hashToBytes(byte[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a byte[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-double-long-">hashToBytes(double, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a double and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToBytes-java.lang.String-long-">hashToBytes(String, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a String and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-long-long-">hashToLongs(long, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a long and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-long:A-long-">hashToLongs(long[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a long[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-int:A-long-">hashToLongs(int[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a int[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-char:A-long-">hashToLongs(char[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a char[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-byte:A-long-">hashToLongs(byte[], long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a byte[] and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-double-long-">hashToLongs(double, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a double and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#hashToLongs-java.lang.String-long-">hashToLongs(String, long)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Hash a String and long seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#hasMemory--">hasMemory()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if this sketch's data structure is backed by Memory or WritableMemory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#hasMemory--">hasMemory()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch's data structure is backed by Memory or WritableMemory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples.VarOptItemsIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#hasResult--">hasResult()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Returns true if there is a valid intersection result available</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#hasResult--">hasResult()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Returns true if there is a valid intersection result available</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the given Memory as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#heapify-byte:A-">heapify(byte[])</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the given byte array as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the given Memory as a CpcSketch on the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#heapify-byte:A-long-">heapify(byte[], long)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return the given byte array as a CpcSketch on the Java heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#heapify-byte:A-">heapify(byte[])</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Heapify the given byte array, which must be a valid HllSketch image and may have data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Heapify the given Memory, which must be a valid HllSketch image and may have data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#heapify-byte:A-">heapify(byte[])</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Construct a union operator populated with the given byte array image of an HllSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Construct a union operator populated with the given Memory image of an HllSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Factory heapify takes the sketch image in Memory and instantiates an on-heap sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/CompactDoublesSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/CompactDoublesSketch.html" title="class in org.apache.datasketches.quantiles">CompactDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#heapify-org.apache.datasketches.quantiles.DoublesSketch-">heapify(DoublesSketch)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns a Heap Union object that has been initialized with the data from the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns a Heap Union object that has been initialized with the data from the given memory
 image of a sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>
<div class="block">Returns an ReqSketch on the heap from a Memory image of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#heapify-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">heapify(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given srcMem,
 which must be a Memory representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#heapify-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">heapify(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Instantiates a Union from Memory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given srcMem, which must be a Memory
 representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Instantiates a Union from Memory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#heapify-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">heapify(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a sketch instance of this class from the given srcMem,
 which must be a Memory representation of this sketch class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#heapify-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">heapify(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Instantiates a Union from Memory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>
<div class="block">Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>
<div class="block">Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Heapify takes the SetOperations image in Memory and instantiates an on-heap
 SetOperation using the
 <a href="./resources/dictionary.html#defaultUpdateSeed">Default Update Seed</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Heapify takes the SetOperation image in Memory and instantiates an on-heap
 SetOperation using the given expectedSeed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Instantiates an on-heap UpdateSketch from Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Instantiates an on-heap UpdateSketch from Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as a ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#heapify-org.apache.datasketches.memory.Memory-">heapify(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#heapify-org.apache.datasketches.memory.Memory-long-">heapify(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifyCompactSketch-org.apache.datasketches.memory.Memory-">heapifyCompactSketch(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/CompactSketch.html#heapify-org.apache.datasketches.memory.Memory-"><code>CompactSketch.heapify(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifyCompactSketch-org.apache.datasketches.memory.Memory-long-">heapifyCompactSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/CompactSketch.html#heapify-org.apache.datasketches.memory.Memory-long-"><code>CompactSketch.heapify(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifySetOperation-org.apache.datasketches.memory.Memory-">heapifySetOperation(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#heapify-org.apache.datasketches.memory.Memory-"><code>SetOperation.heapify(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifySetOperation-org.apache.datasketches.memory.Memory-long-">heapifySetOperation(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#heapify-org.apache.datasketches.memory.Memory-long-"><code>SetOperation.heapify(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifySketch-org.apache.datasketches.memory.Memory-">heapifySketch(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#heapify-org.apache.datasketches.memory.Memory-"><code>Sketch.heapify(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifySketch-org.apache.datasketches.memory.Memory-long-">heapifySketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#heapify-org.apache.datasketches.memory.Memory-long-"><code>Sketch.heapify(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifySketch-org.apache.datasketches.memory.Memory-">heapifySketch(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifySketch-org.apache.datasketches.memory.Memory-long-">heapifySketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as a ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketches.html#heapifySketch-org.apache.datasketches.memory.Memory-org.apache.datasketches.tuple.SummaryDeserializer-">heapifySketch(Memory, SummaryDeserializer&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketches.html" title="class in org.apache.datasketches.tuple">Sketches</a></dt>
<dd>
<div class="block">Instantiate a Sketch from a given Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html#heapifySummary-org.apache.datasketches.memory.Memory-">heapifySummary(Memory)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html#heapifySummary-org.apache.datasketches.memory.Memory-">heapifySummary(Memory)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html#heapifySummary-org.apache.datasketches.memory.Memory-">heapifySummary(Memory)</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SummaryDeserializer.html#heapifySummary-org.apache.datasketches.memory.Memory-">heapifySummary(Memory)</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SummaryDeserializer.html" title="interface in org.apache.datasketches.tuple">SummaryDeserializer</a></dt>
<dd>
<div class="block">This is to create an instance of a Summary given a serialized representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifyUnion-org.apache.datasketches.memory.Memory-">heapifyUnion(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifyUnion-org.apache.datasketches.memory.Memory-long-">heapifyUnion(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifyUpdatableSketch-org.apache.datasketches.memory.Memory-">heapifyUpdatableSketch(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory as an ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#heapifyUpdatableSketch-org.apache.datasketches.memory.Memory-long-">heapifyUpdatableSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketches.html#heapifyUpdatableSketch-org.apache.datasketches.memory.Memory-org.apache.datasketches.tuple.SummaryDeserializer-org.apache.datasketches.tuple.SummaryFactory-">heapifyUpdatableSketch(Memory, SummaryDeserializer&lt;S&gt;, SummaryFactory&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketches.html" title="class in org.apache.datasketches.tuple">Sketches</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">As of 3.0.0, heapifying an UpdatableSketch is deprecated.
 This capability will be removed in a future release.
 Heapifying a CompactSketch is not deprecated.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifyUpdateSketch-org.apache.datasketches.memory.Memory-">heapifyUpdateSketch(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/UpdateSketch.html#heapify-org.apache.datasketches.memory.Memory-"><code>UpdateSketch.heapify(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#heapifyUpdateSketch-org.apache.datasketches.memory.Memory-long-">heapifyUpdateSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/UpdateSketch.html#heapify-org.apache.datasketches.memory.Memory-long-"><code>UpdateSketch.heapify(Memory, long)</code></a></div>
</dd>
<dt><a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll"><span class="typeNameLink">HllSketch</span></a> - Class in <a href="org/apache/datasketches/hll/package-summary.html">org.apache.datasketches.hll</a></dt>
<dd>
<div class="block">This is a high performance implementation of Phillipe Flajolet&#8217;s HLL sketch but with
 significantly improved error behavior.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#HllSketch--">HllSketch()</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Constructs a new on-heap sketch with the default lgConfigK and tgtHllType.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#HllSketch-int-">HllSketch(int)</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Constructs a new on-heap sketch with the default tgtHllType.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#HllSketch-int-org.apache.datasketches.hll.TgtHllType-">HllSketch(int, TgtHllType)</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Constructs a new on-heap sketch with the type of HLL sketch to configure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#HllSketch-int-org.apache.datasketches.hll.TgtHllType-org.apache.datasketches.memory.WritableMemory-">HllSketch(int, TgtHllType, WritableMemory)</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Constructs a new sketch with the type of HLL sketch to configure and the given
 WritableMemory as the destination for the sketch.</div>
</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#idToFamily-int-">idToFamily(int)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the Family given the ID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#iGolden">iGolden</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The inverse golden ratio as a fraction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#iGoldenU64">iGoldenU64</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The inverse golden ratio as an unsigned long.</div>
</dd>
<dt><a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches"><span class="typeNameLink">InequalitySearch</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">This provides efficient, unique and unambiguous binary searching for inequality comparison criteria
 for ordered arrays of values that may include duplicate values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#init-java.lang.String-int-double-double-double-double-double-">init(String, int, double, double, double, double, double)</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>
<div class="block">Specifies the parameters to be listed as columns</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSketch</span></a> - Class in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html#IntegerSketch-int-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSketch(int, IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSketch</a></dt>
<dd>
<div class="block">Constructs this sketch with given <i>lgK</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html#IntegerSketch-int-int-float-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSketch(int, int, float, IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSketch</a></dt>
<dd>
<div class="block">Creates this sketch with the following parameters:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html#IntegerSketch-org.apache.datasketches.memory.Memory-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSketch(Memory, IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSketch</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">As of 3.0.0, heapifying an UpdatableSketch is deprecated.
 This capability will be removed in a future release.
 Heapifying a CompactSketch is not deprecated.</span></div>
</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSummary</span></a> - Class in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>
<div class="block">Summary for generic tuple sketches of type Integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#IntegerSummary-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSummary(IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>
<div class="block">Creates an instance of IntegerSummary with a given mode.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html" title="enum in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSummary.Mode</span></a> - Enum in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>
<div class="block">The aggregation modes for this Summary</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSummaryDeserializer</span></a> - Class in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html#IntegerSummaryDeserializer--">IntegerSummaryDeserializer()</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummaryDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html" title="class in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSummaryFactory</span></a> - Class in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>
<div class="block">Factory for IntegerSummary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html#IntegerSummaryFactory-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSummaryFactory(IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummaryFactory</a></dt>
<dd>
<div class="block">Creates an instance of IntegerSummaryFactory with a given mode</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html" title="class in org.apache.datasketches.tuple.aninteger"><span class="typeNameLink">IntegerSummarySetOperations</span></a> - Class in <a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a></dt>
<dd>
<div class="block">Methods for defining how unions and intersections of two objects of type IntegerSummary
 are performed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html#IntegerSummarySetOperations-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode-">IntegerSummarySetOperations(IntegerSummary.Mode, IntegerSummary.Mode)</a></span> - Constructor for class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummarySetOperations</a></dt>
<dd>
<div class="block">Creates a new instance with two modes</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#intersect-org.apache.datasketches.theta.Sketch-">intersect(Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Intersect the given sketch with the internal state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#intersect-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">intersect(Sketch, Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Perform intersect set operation on the two given sketch arguments and return the result as an
 ordered CompactSketch on the heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#intersect-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-boolean-org.apache.datasketches.memory.WritableMemory-">intersect(Sketch, Sketch, boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Perform intersect set operation on the two given sketches and return the result as a
 CompactSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/PairwiseSetOperations.html#intersect-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">intersect(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta">PairwiseSetOperations</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">v2.0.0. Use <a href="org/apache/datasketches/theta/Intersection.html#intersect-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-"><code>Intersection.intersect(Sketch, Sketch)</code></a> instead, which has more
 complete seed handling.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html#intersect-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCombiner-">intersect(ArrayOfDoublesSketch, ArrayOfDoublesCombiner)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesIntersection</a></dt>
<dd>
<div class="block">Performs a stateful intersection of the internal set with the given tupleSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#intersect-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">intersect(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Perform a stateless intersect set operation on the two given tuple sketches and returns the
 result as an unordered CompactSketch on the heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#intersect-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-">intersect(Sketch&lt;S&gt;, Sketch, S)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Perform a stateless intersect set operation on a tuple sketch and a theta sketch and returns the
 result as an unordered CompactSketch on the heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#intersect-org.apache.datasketches.tuple.Sketch-">intersect(Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Performs a stateful intersection of the internal set with the given tupleSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#intersect-org.apache.datasketches.theta.Sketch-S-">intersect(Sketch, S)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Performs a stateful intersection of the internal set with the given thetaSketch by combining entries
 using the hashes from the theta sketch and summary values from the given summary and rules
 from the summarySetOps defined by the Intersection constructor.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">Intersection</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">The API for intersection operations</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#Intersection--">Intersection()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html#intersection-org.apache.datasketches.tuple.adouble.DoubleSummary-org.apache.datasketches.tuple.adouble.DoubleSummary-">intersection(DoubleSummary, DoubleSummary)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html#intersection-org.apache.datasketches.tuple.aninteger.IntegerSummary-org.apache.datasketches.tuple.aninteger.IntegerSummary-">intersection(IntegerSummary, IntegerSummary)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Intersection</span></a>&lt;<a href="org/apache/datasketches/tuple/Intersection.html" title="type parameter in Intersection">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Computes an intersection of two or more generic tuple sketches or generic tuple sketches
 combined with theta sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#Intersection-org.apache.datasketches.tuple.SummarySetOperations-">Intersection(SummarySetOperations&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Creates new Intersection instance with instructions on how to process two summaries that
 intersect.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html#intersection-org.apache.datasketches.tuple.strings.ArrayOfStringsSummary-org.apache.datasketches.tuple.strings.ArrayOfStringsSummary-">intersection(ArrayOfStringsSummary, ArrayOfStringsSummary)</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SummarySetOperations.html#intersection-S-S-">intersection(S, S)</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SummarySetOperations.html" title="interface in org.apache.datasketches.tuple">SummarySetOperations</a></dt>
<dd>
<div class="block">This is called by the intersection operator when both sketches have the same hash value.</div>
</dd>
<dt><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll"><span class="typeNameLink">IntMemoryPairIterator</span></a> - Class in <a href="org/apache/datasketches/hll/package-summary.html">org.apache.datasketches.hll</a></dt>
<dd>
<div class="block">Iterates within a given Memory extracting integer pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#intToBytes-int-byte:A-">intToBytes(int, byte[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a Little-Endian byte array extracted from the given int.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#invPow2-int-">invPow2(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the inverse integer power of 2: 1/(2^e) = 2^(-e).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#isCompact--">isCompact()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#isCompact--">isCompact()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#isCompact--">isCompact()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isCompact--">isCompact()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is in compact form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#isCompact--">isCompact()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#isDirect--">isDirect()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is direct</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#isDirect--">isDirect()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns true if this union is direct</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#isDirect--">isDirect()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#isDirect--">isDirect()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns true if this union is direct</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isDirect--">isDirect()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if the this sketch's internal data structure is backed by direct (off-heap)
 Memory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return true if this sketch is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is empty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns true if this union is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns true if this union is empty</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block"><a href="./resources/dictionary.html#empty">See Empty</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block"><a href="./resources/dictionary.html#empty">See Empty</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block"><a href="./resources/dictionary.html#empty">See Empty</a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is in estimation mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns true if this sketch is in estimation mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#isEstimationMode--">isEstimationMode()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#isLessThanOrEqual--">isLessThanOrEqual()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#isLessThanUnsigned-long-long-">isLessThanUnsigned(long, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Unsigned compare with longs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#isMemory--">isMemory()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#isMemory--">isMemory()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#isMultipleOf8AndGT0-long-">isMultipleOf8AndGT0(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns true if v is a multiple of 8 and greater than zero</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#isOffHeap--">isOffHeap()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#isOffHeap--">isOffHeap()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isOrdered--">isOrdered()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if internal cache is ordered</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#isOrdered--">isOrdered()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#isPowerOf2-int-">isPowerOf2(int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns true if argument is exactly a positive power of 2 and greater than zero.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#isSameResource-org.apache.datasketches.memory.Memory-">isSameResource(Memory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#items--">items()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Returns a shallow copy of the array of sample items contained in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#items-int-">items(int)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Returns a single item from the samples contained in the sketch.</div>
</dd>
<dt><a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies"><span class="typeNameLink">ItemsSketch</span></a>&lt;<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="type parameter in ItemsSketch">T</a>&gt; - Class in <a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a></dt>
<dd>
<div class="block">This sketch is useful for tracking approximate frequencies of items of type <i>&lt;T&gt;</i>
 with optional associated counts (<i>&lt;T&gt;</i> item, <i>long</i> count) that are members of a
 multiset of such items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#ItemsSketch-int-">ItemsSketch(int)</a></span> - Constructor for class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">ItemsSketch</span></a>&lt;<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="type parameter in ItemsSketch">T</a>&gt; - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">This is a stochastic streaming sketch that enables near-real time analysis of the
 approximate distribution of comparable items from a very large stream in a single pass.</div>
</dd>
<dt><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies"><span class="typeNameLink">ItemsSketch.Row</span></a>&lt;<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="type parameter in ItemsSketch.Row">T</a>&gt; - Class in <a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a></dt>
<dd>
<div class="block">Row class that defines the return values from a getFrequentItems query.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">ItemsSketchIterator</span></a>&lt;<a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html" title="type parameter in ItemsSketchIterator">T</a>&gt; - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">Iterator over ItemsSketch.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">ItemsUnion</span></a>&lt;<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt; - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>
<div class="block">The API for Union operations for generic ItemsSketches</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns a HashIterator that can be used to iterate over the retained hash values of the
 Theta sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/CompactSketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#iterator--">iterator()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">Returns a SketchIterator</div>
</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/JaccardSimilarity.html#jaccard-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">jaccard(Sketch, Sketch)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta">JaccardSimilarity</a></dt>
<dd>
<div class="block">Computes the Jaccard similarity index with upper and lower bounds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#jaccard-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.SummarySetOperations-">jaccard(Sketch&lt;S&gt;, Sketch&lt;S&gt;, SummarySetOperations&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Computes the Jaccard similarity index with upper and lower bounds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#jaccard-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-org.apache.datasketches.tuple.SummarySetOperations-">jaccard(Sketch&lt;S&gt;, Sketch, S, SummarySetOperations&lt;S&gt;)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Computes the Jaccard similarity index with upper and lower bounds.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">JaccardSimilarity</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">Jaccard similarity of two Theta Sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/JaccardSimilarity.html#JaccardSimilarity--">JaccardSimilarity()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta">JaccardSimilarity</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">JaccardSimilarity</span></a> - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Jaccard similarity of two Tuple Sketches, or alternatively, of a Tuple and Theta Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#JaccardSimilarity--">JaccardSimilarity()</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll"><span class="typeNameLink">KllFloatsSketch</span></a> - Class in <a href="org/apache/datasketches/kll/package-summary.html">org.apache.datasketches.kll</a></dt>
<dd>
<div class="block">Implementation of a very compact quantiles sketch with lazy compaction scheme
 and nearly optimal accuracy per retained item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#KllFloatsSketch--">KllFloatsSketch()</a></span> - Constructor for class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Heap constructor with the default <em>k = 200</em>, which has a rank error of about 1.65%.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#KllFloatsSketch-int-">KllFloatsSketch(int)</a></span> - Constructor for class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Heap constructor with a given parameter <em>k</em>.</div>
</dd>
<dt><a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html" title="class in org.apache.datasketches.kll"><span class="typeNameLink">KllFloatsSketchIterator</span></a> - Class in <a href="org/apache/datasketches/kll/package-summary.html">org.apache.datasketches.kll</a></dt>
<dd>
<div class="block">Iterator over KllFloatsSketch.</div>
</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ResizeFactor.html#lg--">lg()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches">ResizeFactor</a></dt>
<dd>
<div class="block">Returns the Log-base 2 of the Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#LOG2">LOG2</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The natural logarithm of 2.0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#log2-double-">log2(double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The log base 2 of the value</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#logB-double-double-">logB(double, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns the logarithm_logBase of x.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#LONG_MAX_VALUE_AS_DOUBLE">LONG_MAX_VALUE_AS_DOUBLE</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Long.MAX_VALUE as a double.</div>
</dd>
<dt><a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies"><span class="typeNameLink">LongsSketch</span></a> - Class in <a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a></dt>
<dd>
<div class="block">This sketch is useful for tracking approximate frequencies of <i>long</i> items with optional
 associated counts (<i>long</i> item, <i>long</i> count) that are members of a multiset of
 such items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#LongsSketch-int-">LongsSketch(int)</a></span> - Constructor for class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).</div>
</dd>
<dt><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies"><span class="typeNameLink">LongsSketch.Row</span></a> - Class in <a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a></dt>
<dd>
<div class="block">Row class that defines the return values from a getFrequentItems query.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#longToBytes-long-byte:A-">longToBytes(long, byte[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a Little-Endian byte array extracted from the given long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#longToHexBytes-long-">longToHexBytes(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns a string of spaced hex bytes in Big-Endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#LS">LS</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The java line separator character as a String.</div>
</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#MAX_LG_NOM_LONGS">MAX_LG_NOM_LONGS</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The largest Log2 nom entries allowed: 26.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#maxK_">maxK_</a></span> - Variable in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#memChecks-org.apache.datasketches.memory.Memory-">memChecks(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#merge-org.apache.datasketches.frequencies.ItemsSketch-">merge(ItemsSketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">This function merges the other sketch into this one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#merge-org.apache.datasketches.frequencies.LongsSketch-">merge(LongsSketch)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">This function merges the other sketch into this one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#merge-org.apache.datasketches.kll.KllFloatsSketch-">merge(KllFloatsSketch)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Merges another sketch into this one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#merge-org.apache.datasketches.req.ReqSketch-">merge(ReqSketch)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/cpc/MergingValidation.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">MergingValidation</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This code is used both by unit tests, for short running tests,
 and by the characterization repository for longer running, more exhaustive testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/MergingValidation.html#MergingValidation-int-int-int-int-int-java.io.PrintStream-java.io.PrintWriter-">MergingValidation(int, int, int, int, int, PrintStream, PrintWriter)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/MergingValidation.html" title="class in org.apache.datasketches.cpc">MergingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#milliSecToString-long-">milliSecToString(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns the given time in milliseconds formatted as Hours:Min:Sec.mSec</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#MIN_LG_ARR_LONGS">MIN_LG_ARR_LONGS</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The smallest Log2 cache size allowed: 5.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#MIN_LG_NOM_LONGS">MIN_LG_NOM_LONGS</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The smallest Log2 nom entries allowed: 4.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#minLgHashTableSize-int-double-">minLgHashTableSize(int, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">Returns the smallest log hash table size given the count of items and the rebuild threshold.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#modulo-long-long-int-">modulo(long, long, int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
 divisor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html#modulo-long:A-int-">modulo(long[], int)</a></span> - Static method in class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash">MurmurHash3Adaptor</a></dt>
<dd>
<div class="block">Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the
 divisor.</div>
</dd>
<dt><a href="org/apache/datasketches/hash/MurmurHash3.html" title="class in org.apache.datasketches.hash"><span class="typeNameLink">MurmurHash3</span></a> - Class in <a href="org/apache/datasketches/hash/package-summary.html">org.apache.datasketches.hash</a></dt>
<dd>
<div class="block">
 The MurmurHash3 is a fast, non-cryptographic, 128-bit hash function that has
 excellent avalanche and 2-way bit independence properties.</div>
</dd>
<dt><a href="org/apache/datasketches/hash/MurmurHash3Adaptor.html" title="class in org.apache.datasketches.hash"><span class="typeNameLink">MurmurHash3Adaptor</span></a> - Class in <a href="org/apache/datasketches/hash/package-summary.html">org.apache.datasketches.hash</a></dt>
<dd>
<div class="block">A general purpose wrapper for the MurmurHash3.</div>
</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#nanoSecToString-long-">nanoSecToString(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns the given time in nanoseconds formatted as Sec.mSec uSec nSec</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Construct a mergeable sampling sketch with up to k samples using the default resize
 factor (8).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#newInstance-int-org.apache.datasketches.ResizeFactor-">newInstance(int, ResizeFactor)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Construct a mergeable sampling sketch with up to k samples using a specified resize factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Creates an empty Union with a maximum reservoir capacity of size k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Construct a mergeable reservoir sampling sketch with up to k samples using the default resize
 factor (8).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#newInstance-int-org.apache.datasketches.ResizeFactor-">newInstance(int, ResizeFactor)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Construct a mergeable reservoir sampling sketch with up to k samples using the default resize
 factor (8).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Creates an empty Union with a maximum reservoir capacity of size k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Construct a varopt sampling sketch with up to k samples using the default resize factor (8).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#newInstance-int-org.apache.datasketches.ResizeFactor-">newInstance(int, ResizeFactor)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Construct a varopt sampling sketch with up to k samples using the specified resize factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#newInstance-int-">newInstance(int)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Creates an empty Union with a maximum capacity of size k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html#newSummary--">newSummary()</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummaryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html#newSummary--">newSummary()</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummaryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html#newSummary--">newSummary()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummaryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SummaryFactory.html#newSummary--">newSummary()</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SummaryFactory.html" title="interface in org.apache.datasketches.tuple">SummaryFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#newSummaryArray-S:A-int-">newSummaryArray(S[], int)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketchIterator.html" title="class in org.apache.datasketches.kll">KllFloatsSketchIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchIterator.html" title="class in org.apache.datasketches.quantiles">DoublesSketchIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketchIterator.html" title="class in org.apache.datasketches.quantiles">ItemsSketchIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqIterator.html" title="class in org.apache.datasketches.req">ReqIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples.VarOptItemsIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/HashIterator.html#next--">next()</a></span> - Method in interface org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/HashIterator.html" title="interface in org.apache.datasketches.theta">HashIterator</a></dt>
<dd>
<div class="block">Returns true at the next hash value in sequence.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html#next--">next()</a></span> - Method in interface org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html" title="interface in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketchIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SketchIterator.html#next--">next()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SketchIterator.html" title="class in org.apache.datasketches.tuple">SketchIterator</a></dt>
<dd>
<div class="block">Advancing the iterator and checking existence of the next entry
 is combined here for efficiency.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#nextAll--">nextAll()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/IntMemoryPairIterator.html#nextValid--">nextValid()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/IntMemoryPairIterator.html" title="class in org.apache.datasketches.hll">IntMemoryPairIterator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/BoundsOnBinomialProportions.html#normalCDF-double-">normalCDF(double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/BoundsOnBinomialProportions.html" title="class in org.apache.datasketches">BoundsOnBinomialProportions</a></dt>
<dd>
<div class="block">Computes an approximation to normalCDF(x).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#notB-org.apache.datasketches.theta.Sketch-">notB(Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the
 second (or <i>n+1</i>th) argument <i>B</i> of <i>A-AND-NOT-B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#notB-org.apache.datasketches.tuple.Sketch-">notB(Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the
 second (or <i>n+1</i>th) argument <i>B</i> of <i>A-AND-NOT-B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#notB-org.apache.datasketches.theta.Sketch-">notB(Sketch)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the
 second (or <i>n+1</i>th) argument <i>B</i> of <i>A-AND-NOT-B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#numberOfLeadingOnes-long-">numberOfLeadingOnes(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns the number of one bits preceding the highest-order ("leftmost") zero-bit in the
 two's complement binary representation of the specified long value, or 64 if the value is equal
 to minus one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#numberOfTrailingOnes-long-">numberOfTrailingOnes(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Returns the number of one bits following the lowest-order ("rightmost") zero-bit in the
 two's complement binary representation of the specified long value, or 64 if the value is equal
 to minus one.</div>
</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a> - package org.apache.datasketches</dt>
<dd>
<div class="block">This package is the parent package for all sketch algorithms.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a> - package org.apache.datasketches.cpc</dt>
<dd>
<div class="block">Compressed Probabilistic Counting</div>
</dd>
<dt><a href="org/apache/datasketches/fdt/package-summary.html">org.apache.datasketches.fdt</a> - package org.apache.datasketches.fdt</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/frequencies/package-summary.html">org.apache.datasketches.frequencies</a> - package org.apache.datasketches.frequencies</dt>
<dd>
<div class="block">This package is dedicated to streaming algorithms that enable estimation of the 
 frequency of occurence of items in a weighted multiset stream of items.</div>
</dd>
<dt><a href="org/apache/datasketches/hash/package-summary.html">org.apache.datasketches.hash</a> - package org.apache.datasketches.hash</dt>
<dd>
<div class="block">The hash package contains a high-performing and extended Java implementation 
 of Austin Appleby's 128-bit MurmurHash3 hash function originally coded in C.</div>
</dd>
<dt><a href="org/apache/datasketches/hll/package-summary.html">org.apache.datasketches.hll</a> - package org.apache.datasketches.hll</dt>
<dd>
<div class="block">The hll package contains a high performance implementation of Phillipe
 Flajolet's HLL sketch with significantly improved error behavior.</div>
</dd>
<dt><a href="org/apache/datasketches/hllmap/package-summary.html">org.apache.datasketches.hllmap</a> - package org.apache.datasketches.hllmap</dt>
<dd>
<div class="block">The hllmap package contains a space efficient HLL mapping sketch of keys to approximate unique
 count of identifiers.</div>
</dd>
<dt><a href="org/apache/datasketches/kll/package-summary.html">org.apache.datasketches.kll</a> - package org.apache.datasketches.kll</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a> - package org.apache.datasketches.quantiles</dt>
<dd>
<div class="block">The quantiles package contains stochastic streaming algorithms that enable single-pass 
 analysis of the distribution of a stream of real (double) values or generic items.</div>
</dd>
<dt><a href="org/apache/datasketches/req/package-summary.html">org.apache.datasketches.req</a> - package org.apache.datasketches.req</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a> - package org.apache.datasketches.sampling</dt>
<dd>
<div class="block">This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of
 unweighted items from a stream.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a> - package org.apache.datasketches.theta</dt>
<dd>
<div class="block">The theta package contains all the sketch classes that are members of the
 <a href="./resources/dictionary.html#thetaSketch">Theta Sketch Framework</a>.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a> - package org.apache.datasketches.tuple</dt>
<dd>
<div class="block">The tuple package contains implementation of sketches based on the idea of
 theta sketches with the addition of values associated with unique keys.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/adouble/package-summary.html">org.apache.datasketches.tuple.adouble</a> - package org.apache.datasketches.tuple.adouble</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/aninteger/package-summary.html">org.apache.datasketches.tuple.aninteger</a> - package org.apache.datasketches.tuple.aninteger</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/arrayofdoubles/package-summary.html">org.apache.datasketches.tuple.arrayofdoubles</a> - package org.apache.datasketches.tuple.arrayofdoubles</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/strings/package-summary.html">org.apache.datasketches.tuple.strings</a> - package org.apache.datasketches.tuple.strings</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">PairwiseSetOperations</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">v2.0.0. This class has been deprecated as equivalent functionality has been added to the
 SetOperation classes: <a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta"><code>Union</code></a>, <a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta"><code>Intersection</code></a> and <a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta"><code>AnotB</code></a>.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/PairwiseSetOperations.html#PairwiseSetOperations--">PairwiseSetOperations()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta">PairwiseSetOperations</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuantilesHelper.html#posOfPhi-double-long-">posOfPhi(double, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuantilesHelper.html" title="class in org.apache.datasketches">QuantilesHelper</a></dt>
<dd>
<div class="block">Returns the zero-based index (position) of a value in the hypothetical sorted stream of
 values of size n.</div>
</dd>
<dt><a href="org/apache/datasketches/fdt/PostProcessor.html" title="class in org.apache.datasketches.fdt"><span class="typeNameLink">PostProcessor</span></a> - Class in <a href="org/apache/datasketches/fdt/package-summary.html">org.apache.datasketches.fdt</a></dt>
<dd>
<div class="block">This processes the contents of a FDT sketch to extract the
 primary keys with the most frequent unique combinations of the non-primary dimensions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/PostProcessor.html#PostProcessor-org.apache.datasketches.fdt.FdtSketch-org.apache.datasketches.fdt.Group-char-">PostProcessor(FdtSketch, Group, char)</a></span> - Constructor for class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/PostProcessor.html" title="class in org.apache.datasketches.fdt">PostProcessor</a></dt>
<dd>
<div class="block">Construct with a populated FdtSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#PREAMBLE_LONGS">PREAMBLE_LONGS</a></span> - Static variable in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putDoubleBE-byte:A-int-double-">putDoubleBE(byte[], int, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>double</i> into the destination byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putDoubleLE-byte:A-int-double-">putDoubleLE(byte[], int, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>double</i> into the destination byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putFloatBE-byte:A-int-float-">putFloatBE(byte[], int, float)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>float</i> into the destination byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putFloatLE-byte:A-int-float-">putFloatLE(byte[], int, float)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>float</i> into the destination byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putIntBE-byte:A-int-int-">putIntBE(byte[], int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>int</i> into the destination byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putIntLE-byte:A-int-int-">putIntLE(byte[], int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>int</i> into the destination byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putLongBE-byte:A-int-long-">putLongBE(byte[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>long</i> into the destination byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putLongLE-byte:A-int-long-">putLongLE(byte[], int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>long</i> into the destination byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#putMemory-org.apache.datasketches.memory.WritableMemory-">putMemory(WritableMemory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Puts the current sketch into the given Memory in compact form if there is sufficient space,
 otherwise, it throws an error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#putMemory-org.apache.datasketches.memory.WritableMemory-boolean-">putMemory(WritableMemory, boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Puts the current sketch into the given Memory if there is sufficient space, otherwise,
 throws an error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#putMemory-org.apache.datasketches.memory.WritableMemory-org.apache.datasketches.ArrayOfItemsSerDe-">putMemory(WritableMemory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Puts the current sketch into the given Memory if there is sufficient space.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putShortBE-byte:A-int-short-">putShortBE(byte[], int, short)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>short</i> into the destination byte array starting at the given offset
 in big endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ByteArrayUtil.html#putShortLE-byte:A-int-short-">putShortLE(byte[], int, short)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/ByteArrayUtil.html" title="class in org.apache.datasketches">ByteArrayUtil</a></dt>
<dd>
<div class="block">Put the source <i>short</i> into the destination byte array starting at the given offset
 in little endian order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#pwr2LawNext-int-int-">pwr2LawNext(int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the next larger integer point in the power series
 <i>point = 2<sup>( i / ppo )</sup></i> given the current point in the series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#pwr2LawPrev-int-int-">pwr2LawPrev(int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the previous, smaller integer point in the power series
 <i>point = 2<sup>( i / ppo )</sup></i> given the current point in the series.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#pwrLawNextDouble-int-double-boolean-double-">pwrLawNextDouble(int, double, boolean, double)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Computes the next larger double in the power series
 <i>point = logBase<sup>( i / ppo )</sup></i> given the current point in the series.</div>
</dd>
</dl>
<a name="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><a href="org/apache/datasketches/QuantilesHelper.html" title="class in org.apache.datasketches"><span class="typeNameLink">QuantilesHelper</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Common static methods for quantiles sketches</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuantilesHelper.html#QuantilesHelper--">QuantilesHelper()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/QuantilesHelper.html" title="class in org.apache.datasketches">QuantilesHelper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/cpc/QuickMergingValidation.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">QuickMergingValidation</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This code is used both by unit tests, for short running tests,
 and by the characterization repository for longer running, more exhaustive testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/QuickMergingValidation.html#QuickMergingValidation-int-int-int-java.io.PrintStream-java.io.PrintWriter-">QuickMergingValidation(int, int, int, PrintStream, PrintWriter)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/QuickMergingValidation.html" title="class in org.apache.datasketches.cpc">QuickMergingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches"><span class="typeNameLink">QuickSelect</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">QuickSelect algorithm improved from Sedgewick.</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#rand">rand</a></span> - Static variable in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Setting the seed makes the results of the sketch deterministic if the input values are
 received in exactly the same order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#rebuild--">rebuild()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Rebuilds the hash table to remove dirty values or to reduce the size
 to nominal entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#REBUILD_THRESHOLD">REBUILD_THRESHOLD</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The hash table rebuild threshold = 15.0/16.0.</div>
</dd>
<dt><a href="org/apache/datasketches/req/ReqDebug.html" title="interface in org.apache.datasketches.req"><span class="typeNameLink">ReqDebug</span></a> - Interface in <a href="org/apache/datasketches/req/package-summary.html">org.apache.datasketches.req</a></dt>
<dd>
<div class="block">The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor
 while eliminating code clutter in the main classes.</div>
</dd>
<dt><a href="org/apache/datasketches/req/ReqIterator.html" title="class in org.apache.datasketches.req"><span class="typeNameLink">ReqIterator</span></a> - Class in <a href="org/apache/datasketches/req/package-summary.html">org.apache.datasketches.req</a></dt>
<dd>
<div class="block">Iterator over all retained items of the ReqSketch.</div>
</dd>
<dt><a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req"><span class="typeNameLink">ReqSketch</span></a> - Class in <a href="org/apache/datasketches/req/package-summary.html">org.apache.datasketches.req</a></dt>
<dd>
<div class="block">This Relative Error Quantiles Sketch is the Java implementation based on the paper
 "Relative Error Streaming Quantiles", https://arxiv.org/abs/2004.01668, and loosely derived from
 a Python prototype written by Pavel Vesely.</div>
</dd>
<dt><a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req"><span class="typeNameLink">ReqSketchBuilder</span></a> - Class in <a href="org/apache/datasketches/req/package-summary.html">org.apache.datasketches.req</a></dt>
<dd>
<div class="block">For building a new ReqSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#ReqSketchBuilder--">ReqSketchBuilder()</a></span> - Constructor for class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Constructor for the ReqSketchBuilder.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">ReservoirItemsSketch</span></a>&lt;<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="type parameter in ReservoirItemsSketch">T</a>&gt; - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">This sketch provides a reservoir sample over an input stream of items.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">ReservoirItemsUnion</span></a>&lt;<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="type parameter in ReservoirItemsUnion">T</a>&gt; - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">Class to union reservoir samples of generic items.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">ReservoirLongsSketch</span></a> - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">This sketch provides a reservoir sample over an input stream of <code>long</code>s.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">ReservoirLongsUnion</span></a> - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">Class to union reservoir samples of longs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Resets this sketch to empty but retains the original LgK and Seed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to a virgin state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to a virgin state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Resets to empty and retains the current lgK, but does not change the configured value of
 lgMaxK.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Resets this Union to a virgin state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to a virgin state, but retains the original value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Resets this Union to a virgin state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>
<div class="block">Resets this sketch to the empty state, but retains the original value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to the empty state, but retains the original value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to the empty state, but retains the original value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Resets this sketch to the empty state, but retains the original value of k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Resets this sketch to the empty state, but retains the original value of max k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Resets this Intersection for stateful operations only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Resets this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Resets this sketch back to a virgin empty state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">Resets this operation back to the empty state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesIntersection</a></dt>
<dd>
<div class="block">Resets the internal set to the initial state, which represents the Universal Set</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Resets the union to an empty state</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Resets this sketch an empty state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Intersection.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Intersection.html" title="class in org.apache.datasketches.tuple">Intersection</a></dt>
<dd>
<div class="block">Resets the internal set to the initial state, which represents the Universal Set</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Resets the internal set to the initial state, which represents an empty set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#reset--">reset()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Resets the Nominal Entries, Resize Factor and Sampling Probability to their default values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#RESIZE_THRESHOLD">RESIZE_THRESHOLD</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The resize threshold = 0.5; tuned for speed.</div>
</dd>
<dt><a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches"><span class="typeNameLink">ResizeFactor</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">For the Families that accept this configuration parameter, it controls the size multiple that
 affects how fast the internal cache grows, when more space is required.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><a href="org/apache/datasketches/sampling/SampleSubsetSummary.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">SampleSubsetSummary</span></a> - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">A simple object o capture the results of a subset sum query on a sampling sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#select-long:A-int-int-int-">select(long[], int, int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 0-based kth order statistic from the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#select-double:A-int-int-int-">select(double[], int, int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 0-based kth order statistic from the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#selectExcludingZeros-long:A-int-int-">selectExcludingZeros(long[], int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 1-based kth order statistic from the array excluding any zero values in the
 array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#selectExcludingZeros-double:A-int-int-">selectExcludingZeros(double[], int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 1-based kth order statistic from the array excluding any zero values in the
 array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#selectIncludingZeros-long:A-int-">selectIncludingZeros(long[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 1-based kth order statistic from the array including any zero values in the
 array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/QuickSelect.html#selectIncludingZeros-double:A-int-">selectIncludingZeros(double[], int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/QuickSelect.html" title="class in org.apache.datasketches">QuickSelect</a></dt>
<dd>
<div class="block">Gets the 1-based kth order statistic from the array including any zero values in the
 array.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/SerializerDeserializer.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">SerializerDeserializer</span></a> - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Multipurpose serializer-deserializer for a collection of sketches defined by the enum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.html#SerializerDeserializer--">SerializerDeserializer()</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.html" title="class in org.apache.datasketches.tuple">SerializerDeserializer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html" title="enum in org.apache.datasketches.tuple"><span class="typeNameLink">SerializerDeserializer.SketchType</span></a> - Enum in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Defines the sketch classes that this SerializerDeserializer can handle.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfBooleansSerDe.html#serializeToByteArray-java.lang.Boolean:A-">serializeToByteArray(Boolean[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfBooleansSerDe.html" title="class in org.apache.datasketches">ArrayOfBooleansSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfDoublesSerDe.html#serializeToByteArray-java.lang.Double:A-">serializeToByteArray(Double[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfDoublesSerDe.html" title="class in org.apache.datasketches">ArrayOfDoublesSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfItemsSerDe.html#serializeToByteArray-T:A-">serializeToByteArray(T[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches">ArrayOfItemsSerDe</a></dt>
<dd>
<div class="block">Serialize an array of items to byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfLongsSerDe.html#serializeToByteArray-java.lang.Long:A-">serializeToByteArray(Long[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfLongsSerDe.html" title="class in org.apache.datasketches">ArrayOfLongsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfNumbersSerDe.html#serializeToByteArray-java.lang.Number:A-">serializeToByteArray(Number[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfNumbersSerDe.html" title="class in org.apache.datasketches">ArrayOfNumbersSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfStringsSerDe.html#serializeToByteArray-java.lang.String:A-">serializeToByteArray(String[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfStringsSerDe.html" title="class in org.apache.datasketches">ArrayOfStringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html#serializeToByteArray-java.lang.String:A-">serializeToByteArray(String[])</a></span> - Method in class org.apache.datasketches.<a href="org/apache/datasketches/ArrayOfUtf16StringsSerDe.html" title="class in org.apache.datasketches">ArrayOfUtf16StringsSerDe</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#serializeToString--">serializeToString()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a String representation of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/AnotB.html#setA-org.apache.datasketches.theta.Sketch-">setA(Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/AnotB.html" title="class in org.apache.datasketches.theta">AnotB</a></dt>
<dd>
<div class="block">This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the
 first argument <i>A</i> of <i>A-AND-NOT-B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/AnotB.html#setA-org.apache.datasketches.tuple.Sketch-">setA(Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/AnotB.html" title="class in org.apache.datasketches.tuple">AnotB</a></dt>
<dd>
<div class="block">This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the
 first argument <i>A</i> of <i>A-AND-NOT-B</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#setClass-java.lang.Class-">setClass(Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Specifies the class to use when copying the item array from the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setFamily-org.apache.datasketches.Family-">setFamily(Family)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Set the Family.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#setHighRankAccuracy-boolean-">setHighRankAccuracy(boolean)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">This sets the parameter highRankAccuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#setK-int-">setK(int)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Sets the parameter <i>k</i> that determines the accuracy and size of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#setK-int-">setK(int)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">This sets the parameter k.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#setLessThanOrEqual-boolean-">setLessThanOrEqual(boolean)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#setLessThanOrEqual-boolean-">setLessThanOrEqual(boolean)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">Sets the parameter lessThanOrEquals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setLocalLogNominalEntries-int-">setLocalLogNominalEntries(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Alternative method of setting the Nominal Entries for a local concurrent sketch from the
 log_base2 value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setLocalNominalEntries-int-">setLocalNominalEntries(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the Nominal Entries for the concurrent local sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setLogNominalEntries-int-">setLogNominalEntries(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Alternative method of setting the Nominal Entries for this sketch from the log_base2 value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setMaxConcurrencyError-double-">setMaxConcurrencyError(double)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the Maximum Concurrency Error.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html#setMaxK-int-">setMaxK(int)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnionBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesUnionBuilder</a></dt>
<dd>
<div class="block">Sets the parameter <i>masK</i> that determines the maximum size of the sketch that
 results from a union and its accuracy.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setMaxNumLocalThreads-int-">setMaxNumLocalThreads(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the Maximum Number of Local Threads.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#setMemoryRequestServer-org.apache.datasketches.memory.MemoryRequestServer-">setMemoryRequestServer(MemoryRequestServer)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Set the MemoryRequestServer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setMemoryRequestServer-org.apache.datasketches.memory.MemoryRequestServer-">setMemoryRequestServer(MemoryRequestServer)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Set the MemoryRequestServer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#setNominalEntries-int-">setNominalEntries(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Sets the Maximum Nominal Entries (max K) for this set operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setNominalEntries-int-">setNominalEntries(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the Nominal Entries for this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#setNominalEntries-int-">setNominalEntries(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">This is to set the nominal number of entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#setNominalEntries-int-">setNominalEntries(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set the nominal number of entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#setNominalEntries-int-">setNominalEntries(int)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set the nominal number of entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#setNumberOfValues-int-">setNumberOfValues(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">This is to set the number of double values associated with each key</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#setNumberOfValues-int-">setNumberOfValues(int)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set the number of double values associated with each key</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setNumPoolThreads-int-">setNumPoolThreads(int)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the number of pool threads used for background propagation in the concurrent sketches.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">SetOperation</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">The parent API for all Set Operations</div>
</dd>
<dt><a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">SetOperationBuilder</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">For building a new SetOperation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#SetOperationBuilder--">SetOperationBuilder()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Constructor for building a new SetOperation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#setOperationBuilder--">setOperationBuilder()</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta"><code>SetOperationBuilder</code></a></div>
</dd>
<dt><a href="org/apache/datasketches/SetOperationCornerCases.html" title="class in org.apache.datasketches"><span class="typeNameLink">SetOperationCornerCases</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.html#SetOperationCornerCases--">SetOperationCornerCases()</a></span> - Constructor for class org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.html" title="class in org.apache.datasketches">SetOperationCornerCases</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html" title="enum in org.apache.datasketches"><span class="typeNameLink">SetOperationCornerCases.AnotbAction</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches"><span class="typeNameLink">SetOperationCornerCases.CornerCase</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html" title="enum in org.apache.datasketches"><span class="typeNameLink">SetOperationCornerCases.IntersectAction</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html" title="enum in org.apache.datasketches"><span class="typeNameLink">SetOperationCornerCases.UnionAction</span></a> - Enum in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#setP-float-">setP(float)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Sets the upfront uniform sampling probability, <i>p</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setP-float-">setP(float)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the upfront uniform sampling probability, <i>p</i></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setPropagateOrderedCompact-boolean-">setPropagateOrderedCompact(boolean)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the Propagate Ordered Compact flag to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#setReqDebug-org.apache.datasketches.req.ReqDebug-">setReqDebug(ReqDebug)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>
<div class="block">This sets the parameter reqDebug.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#setResizeFactor-org.apache.datasketches.ResizeFactor-">setResizeFactor(ResizeFactor)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Sets the cache Resize Factor</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setResizeFactor-org.apache.datasketches.ResizeFactor-">setResizeFactor(ResizeFactor)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the cache Resize Factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#setResizeFactor-org.apache.datasketches.ResizeFactor-">setResizeFactor(ResizeFactor)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set the resize factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#setResizeFactor-org.apache.datasketches.ResizeFactor-">setResizeFactor(ResizeFactor)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set the resize factor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#setSamplingProbability-float-">setSamplingProbability(float)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set sampling probability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#setSamplingProbability-float-">setSamplingProbability(float)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">This is to set sampling probability.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>
<div class="block">Sets the long seed value that is require by the hashing function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Sets the long seed value that is required by the hashing function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSetOperationBuilder</a></dt>
<dd>
<div class="block">Sets the long seed value that is required by the hashing function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Sets the long seed value that is required by the hashing function.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/JaccardSimilarity.html#similarityTest-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-double-">similarityTest(Sketch, Sketch, double)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/JaccardSimilarity.html" title="class in org.apache.datasketches.theta">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests similarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#similarityTest-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.SummarySetOperations-double-">similarityTest(Sketch&lt;S&gt;, Sketch&lt;S&gt;, SummarySetOperations&lt;S&gt;, double)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests similarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/JaccardSimilarity.html#similarityTest-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-org.apache.datasketches.tuple.SummarySetOperations-double-">similarityTest(Sketch&lt;S&gt;, Sketch, S, SummarySetOperations&lt;S&gt;, double)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/JaccardSimilarity.html" title="class in org.apache.datasketches.tuple">JaccardSimilarity</a></dt>
<dd>
<div class="block">Tests similarity of a measured Sketch against an expected Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#simpleLog2OfLong-long-">simpleLog2OfLong(long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Gives the log2 of a long that is known to be a power of 2.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">Sketch</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">The top-level class for all sketches.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Sketch</span></a>&lt;<a href="org/apache/datasketches/tuple/Sketch.html" title="type parameter in Sketch">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">This is an equivalent to org.apache.datasketches.theta.Sketch with
 addition of a user-defined Summary object associated with every unique entry
 in the sketch.</div>
</dd>
<dt><a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">Sketches</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">This class brings together the common sketch and set operation creation methods and
 the public static methods into one place.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Sketches.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Sketches</span></a> - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Convenient static methods to instantiate generic tuple sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketches.html#Sketches--">Sketches()</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketches.html" title="class in org.apache.datasketches.tuple">Sketches</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/SketchesArgumentException.html" title="class in org.apache.datasketches"><span class="typeNameLink">SketchesArgumentException</span></a> - Exception in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Illegal Arguments Exception class for the library</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesArgumentException.html#SketchesArgumentException-java.lang.String-">SketchesArgumentException(String)</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesArgumentException.html" title="class in org.apache.datasketches">SketchesArgumentException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/datasketches/SketchesException.html" title="class in org.apache.datasketches"><span class="typeNameLink">SketchesException</span></a> - Exception in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Exception class for the library</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesException.html#SketchesException-java.lang.String-">SketchesException(String)</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesException.html" title="class in org.apache.datasketches">SketchesException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the specified detail message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesException.html#SketchesException-java.lang.String-java.lang.Throwable-">SketchesException(String, Throwable)</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesException.html" title="class in org.apache.datasketches">SketchesException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the specified detail message and cause.</div>
</dd>
<dt><a href="org/apache/datasketches/SketchesReadOnlyException.html" title="class in org.apache.datasketches"><span class="typeNameLink">SketchesReadOnlyException</span></a> - Exception in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Write operation attempted on a read-only class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesReadOnlyException.html#SketchesReadOnlyException--">SketchesReadOnlyException()</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesReadOnlyException.html" title="class in org.apache.datasketches">SketchesReadOnlyException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the message:
 "Write operation attempted on a read-only class."</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesReadOnlyException.html#SketchesReadOnlyException-java.lang.String-">SketchesReadOnlyException(String)</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesReadOnlyException.html" title="class in org.apache.datasketches">SketchesReadOnlyException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/datasketches/SketchesStateException.html" title="class in org.apache.datasketches"><span class="typeNameLink">SketchesStateException</span></a> - Exception in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Illegal State Exception class for the library</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SketchesStateException.html#SketchesStateException-java.lang.String-">SketchesStateException(String)</a></span> - Constructor for exception org.apache.datasketches.<a href="org/apache/datasketches/SketchesStateException.html" title="class in org.apache.datasketches">SketchesStateException</a></dt>
<dd>
<div class="block">Constructs a new runtime exception with the specified detail message.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/SketchIterator.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">SketchIterator</span></a>&lt;<a href="org/apache/datasketches/tuple/SketchIterator.html" title="type parameter in SketchIterator">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Iterator over a generic tuple sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.html#sketchStateId-boolean-int-long-">sketchStateId(boolean, int, long)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.html" title="class in org.apache.datasketches">SetOperationCornerCases</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CompressionCharacterization.html#start--">start()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CompressionCharacterization.html" title="class in org.apache.datasketches.cpc">CompressionCharacterization</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/MergingValidation.html#start--">start()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/MergingValidation.html" title="class in org.apache.datasketches.cpc">MergingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/QuickMergingValidation.html#start--">start()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/QuickMergingValidation.html" title="class in org.apache.datasketches.cpc">QuickMergingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/StreamingValidation.html#start--">start()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/StreamingValidation.html" title="class in org.apache.datasketches.cpc">StreamingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#startingSubMultiple-int-int-int-">startingSubMultiple(int, int, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Gets the smallest allowed exponent of 2 that it is a sub-multiple of the target by zero,
 one or more resize factors.</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/StreamingValidation.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">StreamingValidation</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>
<div class="block">This code is used both by unit tests, for short running tests,
 and by the characterization repository for longer running, more exhaustive testing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/StreamingValidation.html#StreamingValidation-int-int-int-int-java.io.PrintStream-java.io.PrintWriter-">StreamingValidation(int, int, int, int, PrintStream, PrintWriter)</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/StreamingValidation.html" title="class in org.apache.datasketches.cpc">StreamingValidation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/HashOperations.html#STRIDE_MASK">STRIDE_MASK</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/HashOperations.html" title="class in org.apache.datasketches">HashOperations</a></dt>
<dd>
<div class="block">The stride mask for the Open Address, Double Hashing (OADH) hash table algorithm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#stringArrHash-java.lang.String:A-">stringArrHash(String[])</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#stringConcat-java.lang.String:A-">stringConcat(String[])</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Concatenate array of Strings to a single String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#stringHash-java.lang.String-">stringHash(String)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#stringToByteArray-java.lang.String-">stringToByteArray(String)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>
<div class="block">Converts a String to a UTF_8 byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#stringToFamily-java.lang.String-">stringToFamily(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the Family given the family name</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple"><span class="typeNameLink">Summary</span></a> - Interface in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Interface for user-defined Summary, which is associated with every hash in a tuple sketch</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/SummaryDeserializer.html" title="interface in org.apache.datasketches.tuple"><span class="typeNameLink">SummaryDeserializer</span></a>&lt;<a href="org/apache/datasketches/tuple/SummaryDeserializer.html" title="type parameter in SummaryDeserializer">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Interface in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Interface for deserializing user-defined Summary</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/SummaryFactory.html" title="interface in org.apache.datasketches.tuple"><span class="typeNameLink">SummaryFactory</span></a>&lt;<a href="org/apache/datasketches/tuple/SummaryFactory.html" title="type parameter in SummaryFactory">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Interface in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Interface for user-defined SummaryFactory</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#summaryFactory_">summaryFactory_</a></span> - Variable in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/tuple/SummarySetOperations.html" title="interface in org.apache.datasketches.tuple"><span class="typeNameLink">SummarySetOperations</span></a>&lt;<a href="org/apache/datasketches/tuple/SummarySetOperations.html" title="type parameter in SummarySetOperations">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Interface in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">This is to provide methods of producing unions and intersections of two Summary objects.</div>
</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#TAB">TAB</a></span> - Static variable in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">The tab character</div>
</dd>
<dt><a href="org/apache/datasketches/cpc/TestUtil.html" title="class in org.apache.datasketches.cpc"><span class="typeNameLink">TestUtil</span></a> - Class in <a href="org/apache/datasketches/cpc/package-summary.html">org.apache.datasketches.cpc</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/TestUtil.html#TestUtil--">TestUtil()</a></span> - Constructor for class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/TestUtil.html" title="class in org.apache.datasketches.cpc">TestUtil</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/hll/TgtHllType.html" title="enum in org.apache.datasketches.hll"><span class="typeNameLink">TgtHllType</span></a> - Enum in <a href="org/apache/datasketches/hll/package-summary.html">org.apache.datasketches.hll</a></dt>
<dd>
<div class="block">Specifies the target type of HLL sketch to be created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return this sketch as a compressed byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns serialized sketch in a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Serialize this sketch to a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toByteArray-boolean-">toByteArray(boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Serialize this sketch in a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Serialize this union to a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Serialize this sketch to a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toByteArray-boolean-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(boolean, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Serialize this sketch to a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Serialize this union to a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;? super T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-java.lang.Class-">toByteArray(ArrayOfItemsSerDe&lt;? super T&gt;, Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Returns a byte array representation of this union</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-java.lang.Class-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;, Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Returns a byte array representation of this union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Returns a byte array representation of this union</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;? super T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-java.lang.Class-">toByteArray(ArrayOfItemsSerDe&lt;? super T&gt;, Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a byte array representation of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Returns a byte array representation of this union</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#toByteArray-org.apache.datasketches.ArrayOfItemsSerDe-java.lang.Class-">toByteArray(ArrayOfItemsSerDe&lt;T&gt;, Class&lt;?&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Returns a byte array representation of this union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Intersection.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Intersection.html" title="class in org.apache.datasketches.theta">Intersection</a></dt>
<dd>
<div class="block">Serialize this intersection to a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Serialize this sketch to a byte array form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Returns a byte array image of this Union object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/CompactSketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/CompactSketch.html" title="class in org.apache.datasketches.tuple">CompactSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>
<div class="block">This is to serialize a sketch instance to a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Summary.html#toByteArray--">toByteArray()</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a></dt>
<dd>
<div class="block">This is to serialize a Summary instance to a byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#toCompactByteArray--">toCompactByteArray()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#toCompactByteArray--">toCompactByteArray()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Gets the serialization of this union operator as a byte array in compact form, which is
 designed to be heapified only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#toLog2-int-java.lang.String-">toLog2(int, String)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks the given value if it is a power of 2.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return a human-readable string summary of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#toString-boolean-">toString(boolean)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Return a human-readable string summary of this sketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#toString-byte:A-boolean-">toString(byte[], boolean)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a CpcSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#toString-org.apache.datasketches.memory.Memory-boolean-">toString(Memory, boolean)</a></span> - Static method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a CpcSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#toString--">toString()</a></span> - Method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/Group.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/Group.html" title="class in org.apache.datasketches.fdt">Group</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.Row.html" title="class in org.apache.datasketches.frequencies">ItemsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable summary of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a ItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a ItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.Row.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.Row.html" title="class in org.apache.datasketches.frequencies">LongsSketch.Row</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a human readable summary of this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a LongsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a LongsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#toString-boolean-boolean-boolean-boolean-">toString(boolean, boolean, boolean, boolean)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of an HllSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of an HllSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#toString-boolean-boolean-boolean-boolean-">toString(boolean, boolean, boolean, boolean)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Returns a string with a human-readable summary of the UniqueCountMap and all the internal maps</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#toString-boolean-boolean-">toString(boolean, boolean)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Returns a summary of the sketch as a string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns summary information about this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toString-boolean-boolean-">toString(boolean, boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns summary information about this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a DoublesSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a DoublesSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketchBuilder.html" title="class in org.apache.datasketches.quantiles">DoublesSketchBuilder</a></dt>
<dd>
<div class="block">Creates a human readable string that describes the current configuration of this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns summary information about the backing sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#toString-boolean-boolean-">toString(boolean, boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns summary information about the backing sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns summary information about this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toString-boolean-boolean-">toString(boolean, boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns summary information about this sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of an ItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of an ItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns summary information about the backing sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#toString-boolean-boolean-">toString(boolean, boolean)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Returns summary information about the backing sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketchBuilder.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketchBuilder.html" title="class in org.apache.datasketches.req">ReqSketchBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch, without items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a ReservoirItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a ReservoirItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch, without items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch, without items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a ReservoirLongsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a ReservoirLongsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch, without items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a VarOptItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a VarOptItemsSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Returns a human-readable summary of the sketch, without items.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperationBuilder.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperationBuilder.html" title="class in org.apache.datasketches.theta">SetOperationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns a human readable summary of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#toString-boolean-boolean-int-boolean-">toString(boolean, boolean, int, boolean)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Gets a human readable listing of contents and summary of the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#toString-byte:A-">toString(byte[])</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a byte array image of a Theta Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#toString-org.apache.datasketches.memory.Memory-">toString(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Returns a human readable string of the preamble of a Memory image of a Theta Sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Sketch.html#toString--">toString()</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Sketch.html" title="class in org.apache.datasketches.tuple">Sketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#toUpdatableByteArray--">toUpdatableByteArray()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#toUpdatableByteArray--">toUpdatableByteArray()</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#trim--">trim()</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Rebuilds reducing the actual number of entries to the nominal number of entries if needed</div>
</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll"><span class="typeNameLink">Union</span></a> - Class in <a href="org/apache/datasketches/hll/package-summary.html">org.apache.datasketches.hll</a></dt>
<dd>
<div class="block">This performs union operations for all HllSketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#Union--">Union()</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Construct this Union operator with the default maximum log-base-2 of <i>K</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#Union-int-">Union(int)</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Construct this Union operator with a given maximum log-base-2 of <i>K</i>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#Union-int-org.apache.datasketches.memory.WritableMemory-">Union(int, WritableMemory)</a></span> - Constructor for class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Construct this Union operator with a given maximum log-base-2 of <i>K</i> and the given
 WritableMemory as the destination for this Union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/PairwiseSetOperations.html#union-org.apache.datasketches.theta.CompactSketch-org.apache.datasketches.theta.CompactSketch-">union(CompactSketch, CompactSketch)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta">PairwiseSetOperations</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">v2.0.0. Please use <a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-"><code>Union.union(Sketch, Sketch)</code></a> instead, which has more
 complete seed handling.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/PairwiseSetOperations.html#union-org.apache.datasketches.theta.CompactSketch-org.apache.datasketches.theta.CompactSketch-int-">union(CompactSketch, CompactSketch, int)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/PairwiseSetOperations.html" title="class in org.apache.datasketches.theta">PairwiseSetOperations</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">v2.0.0. Please use <a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-"><code>Union.union(Sketch, Sketch)</code></a> instead, which has more
 complete seed handling.</span></div>
</div>
</dd>
<dt><a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">Union</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">Compute the union of two or more theta sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#Union--">Union()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-">union(Sketch, Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">This implements a stateless, pair-wise union operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.theta.Sketch-org.apache.datasketches.theta.Sketch-boolean-org.apache.datasketches.memory.WritableMemory-">union(Sketch, Sketch, boolean, WritableMemory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">This implements a stateless, pair-wise union operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.theta.Sketch-">union(Sketch)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Perform a Union operation with <i>this</i> union and the given on-heap sketch of the Theta Family.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#union-org.apache.datasketches.memory.Memory-">union(Memory)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Perform a Union operation with <i>this</i> union and the given Memory image of any sketch of the
 Theta Family.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html#union-org.apache.datasketches.tuple.adouble.DoubleSummary-org.apache.datasketches.tuple.adouble.DoubleSummary-">union(DoubleSummary, DoubleSummary)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html#union-org.apache.datasketches.tuple.aninteger.IntegerSummary-org.apache.datasketches.tuple.aninteger.IntegerSummary-">union(IntegerSummary, IntegerSummary)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#union-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-">union(ArrayOfDoublesSketch)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Updates the union by adding a set of entries from a given sketch, which can be on-heap or off-heap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html#union-org.apache.datasketches.tuple.strings.ArrayOfStringsSummary-org.apache.datasketches.tuple.strings.ArrayOfStringsSummary-">union(ArrayOfStringsSummary, ArrayOfStringsSummary)</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummarySetOperations</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SummarySetOperations.html#union-S-S-">union(S, S)</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SummarySetOperations.html" title="interface in org.apache.datasketches.tuple">SummarySetOperations</a></dt>
<dd>
<div class="block">This is called by the union operator when both sketches have the same hash value.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Union</span></a>&lt;<a href="org/apache/datasketches/tuple/Union.html" title="type parameter in Union">S</a> extends <a href="org/apache/datasketches/tuple/Summary.html" title="interface in org.apache.datasketches.tuple">Summary</a>&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Compute the union of two or more generic tuple sketches or generic tuple sketches combined with
 theta sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#Union-org.apache.datasketches.tuple.SummarySetOperations-">Union(SummarySetOperations&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Creates new Union instance with instructions on how to process two summaries that
 overlap.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#Union-int-org.apache.datasketches.tuple.SummarySetOperations-">Union(int, SummarySetOperations&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Creates new Union instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#union-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.tuple.Sketch-">union(Sketch&lt;S&gt;, Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Perform a stateless, pair-wise union operation between two tuple sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#union-org.apache.datasketches.tuple.Sketch-org.apache.datasketches.theta.Sketch-S-">union(Sketch&lt;S&gt;, Sketch, S)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Perform a stateless, pair-wise union operation between a tupleSketch and a thetaSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#union-org.apache.datasketches.tuple.Sketch-">union(Sketch&lt;S&gt;)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Performs a stateful union of the internal set with the given tupleSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Union.html#union-org.apache.datasketches.theta.Sketch-S-">union(Sketch, S)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Union.html" title="class in org.apache.datasketches.tuple">Union</a></dt>
<dd>
<div class="block">Performs a stateful union of the internal set with the given thetaSketch by combining entries
 using the hashes from the theta sketch and summary values from the given summary.</div>
</dd>
<dt><a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap"><span class="typeNameLink">UniqueCountMap</span></a> - Class in <a href="org/apache/datasketches/hllmap/package-summary.html">org.apache.datasketches.hllmap</a></dt>
<dd>
<div class="block">This is a real-time, key-value HLL mapping sketch that tracks approximate unique counts of
 identifiers (the values) associated with each key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#UniqueCountMap-int-">UniqueCountMap(int)</a></span> - Constructor for class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Constructs a UniqueCountMap with an initial capacity of one million entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#UniqueCountMap-int-int-">UniqueCountMap(int, int)</a></span> - Constructor for class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Constructs a UniqueCountMap with a given initial number of entries.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">UpdatableSketch</span></a>&lt;<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="type parameter in UpdatableSketch">U</a>,<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="type parameter in UpdatableSketch">S</a> extends <a href="org/apache/datasketches/tuple/UpdatableSummary.html" title="interface in org.apache.datasketches.tuple">UpdatableSummary</a>&lt;<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="type parameter in UpdatableSketch">U</a>&gt;&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">An extension of QuickSelectSketch&lt;S&gt;, which can be updated with many types of keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#UpdatableSketch-int-int-float-org.apache.datasketches.tuple.SummaryFactory-">UpdatableSketch(int, int, float, SummaryFactory&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">This is to create a new instance of an UpdatableQuickSelectSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#UpdatableSketch-org.apache.datasketches.memory.Memory-org.apache.datasketches.tuple.SummaryDeserializer-org.apache.datasketches.tuple.SummaryFactory-">UpdatableSketch(Memory, SummaryDeserializer&lt;S&gt;, SummaryFactory&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">As of 3.0.0, heapifying an UpdatableSketch is deprecated.
 This capability will be removed in a future release.
 Heapifying a CompactSketch is not deprecated.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#UpdatableSketch-org.apache.datasketches.tuple.UpdatableSketch-">UpdatableSketch(UpdatableSketch&lt;U, S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Copy Constructor</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">UpdatableSketchBuilder</span></a>&lt;<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="type parameter in UpdatableSketchBuilder">U</a>,<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="type parameter in UpdatableSketchBuilder">S</a> extends <a href="org/apache/datasketches/tuple/UpdatableSummary.html" title="interface in org.apache.datasketches.tuple">UpdatableSummary</a>&lt;<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="type parameter in UpdatableSketchBuilder">U</a>&gt;&gt; - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">For building a new generic tuple UpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html#UpdatableSketchBuilder-org.apache.datasketches.tuple.SummaryFactory-">UpdatableSketchBuilder(SummaryFactory&lt;S&gt;)</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketchBuilder.html" title="class in org.apache.datasketches.tuple">UpdatableSketchBuilder</a></dt>
<dd>
<div class="block">Creates an instance of UpdatableSketchBuilder with default parameters</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/UpdatableSummary.html" title="interface in org.apache.datasketches.tuple"><span class="typeNameLink">UpdatableSummary</span></a>&lt;<a href="org/apache/datasketches/tuple/UpdatableSummary.html" title="type parameter in UpdatableSummary">U</a>&gt; - Interface in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Interface for updating user-defined Summary</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given long as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-double-">update(double)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given double (or float) datum as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-java.lang.String-">update(String)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given String as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-byte:A-">update(byte[])</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given byte array as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-char:A-">update(char[])</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given char array as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-int:A-">update(int[])</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given integer array as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#update-long:A-">update(long[])</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Present the given long array as a potential unique item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcUnion.html#update-org.apache.datasketches.cpc.CpcSketch-">update(CpcSketch)</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcUnion.html" title="class in org.apache.datasketches.cpc">CpcUnion</a></dt>
<dd>
<div class="block">Update this union with a CpcSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/fdt/FdtSketch.html#update-java.lang.String:A-">update(String[])</a></span> - Method in class org.apache.datasketches.fdt.<a href="org/apache/datasketches/fdt/FdtSketch.html" title="class in org.apache.datasketches.fdt">FdtSketch</a></dt>
<dd>
<div class="block">Update the sketch with the given string array tuple.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#update-T-">update(T)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Update this sketch with an item and a frequency count of one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ItemsSketch.html#update-T-long-">update(T, long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ItemsSketch.html" title="class in org.apache.datasketches.frequencies">ItemsSketch</a></dt>
<dd>
<div class="block">Update this sketch with an item and a positive frequency count.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Update this sketch with an item and a frequency count of one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/LongsSketch.html#update-long-long-">update(long, long)</a></span> - Method in class org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/LongsSketch.html" title="class in org.apache.datasketches.frequencies">LongsSketch</a></dt>
<dd>
<div class="block">Update this sketch with a item and a positive frequency count (or weight).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#update-org.apache.datasketches.hll.HllSketch-">update(HllSketch)</a></span> - Method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Update this union operator with the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hllmap/UniqueCountMap.html#update-byte:A-byte:A-">update(byte[], byte[])</a></span> - Method in class org.apache.datasketches.hllmap.<a href="org/apache/datasketches/hllmap/UniqueCountMap.html" title="class in org.apache.datasketches.hllmap">UniqueCountMap</a></dt>
<dd>
<div class="block">Updates the map with a given key and identifier and returns the estimate of the number of
 unique identifiers encountered so far for the given key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/kll/KllFloatsSketch.html#update-float-">update(float)</a></span> - Method in class org.apache.datasketches.kll.<a href="org/apache/datasketches/kll/KllFloatsSketch.html" title="class in org.apache.datasketches.kll">KllFloatsSketch</a></dt>
<dd>
<div class="block">Updates this sketch with the given data item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#update-org.apache.datasketches.quantiles.DoublesSketch-">update(DoublesSketch)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#update-org.apache.datasketches.memory.Memory-">update(Memory)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#update-double-">update(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Update this union with the given double (or float) data Item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsSketch.html#update-T-">update(T)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a></dt>
<dd>
<div class="block">Updates this sketch with the given double data item</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#update-org.apache.datasketches.quantiles.ItemsSketch-">update(ItemsSketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#update-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">update(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/ItemsUnion.html#update-T-">update(T)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a></dt>
<dd>
<div class="block">Update this union with the given double (or float) data Item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#update-double-">update(double)</a></span> - Method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>
<div class="block">Updates this sketch with the given double data item</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#update-float-">update(float)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html#update-T-">update(T)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirItemsSketch</a></dt>
<dd>
<div class="block">Randomly decide whether or not to include an item in the sample set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#update-org.apache.datasketches.sampling.ReservoirItemsSketch-">update(ReservoirItemsSketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Union the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#update-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">update(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Union the given Memory image of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#update-T-">update(T)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Present this union with a single item to be added to the union.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html#update-long-int-java.util.ArrayList-">update(long, int, ArrayList&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirItemsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirItemsUnion</a></dt>
<dd>
<div class="block">Present this union with raw elements of a sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsSketch.html" title="class in org.apache.datasketches.sampling">ReservoirLongsSketch</a></dt>
<dd>
<div class="block">Randomly decide whether or not to include an item in the sample set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#update-org.apache.datasketches.sampling.ReservoirLongsSketch-">update(ReservoirLongsSketch)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Union the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#update-org.apache.datasketches.memory.Memory-">update(Memory)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Union the given Memory image of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/ReservoirLongsUnion.html" title="class in org.apache.datasketches.sampling">ReservoirLongsUnion</a></dt>
<dd>
<div class="block">Present this union with a long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html#update-T-double-">update(T, double)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling">VarOptItemsSketch</a></dt>
<dd>
<div class="block">Randomly decide whether or not to include an item in the sample set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#update-org.apache.datasketches.sampling.VarOptItemsSketch-">update(VarOptItemsSketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Union the given sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#update-org.apache.datasketches.memory.Memory-org.apache.datasketches.ArrayOfItemsSerDe-">update(Memory, ArrayOfItemsSerDe&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Union the given Memory image of the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html#update-org.apache.datasketches.sampling.ReservoirItemsSketch-">update(ReservoirItemsSketch&lt;T&gt;)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling">VarOptItemsUnion</a></dt>
<dd>
<div class="block">Union a reservoir sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given long data item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-double-">update(double)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given double (or float) data item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-java.lang.String-">update(String)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the with the given String data item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-byte:A-">update(byte[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given byte array item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-int:A-">update(int[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given integer array item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-char:A-">update(char[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given char array item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Union.html#update-long:A-">update(long[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Union.html" title="class in org.apache.datasketches.theta">Union</a></dt>
<dd>
<div class="block">Update <i>this</i> union with the given long array item.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-long-">update(long)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with a long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-double-">update(double)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given double (or float) datum.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-java.lang.String-">update(String)</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-byte:A-">update(byte[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-char:A-">update(char[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given char array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-int:A-">update(int[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given integer array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#update-long:A-">update(long[])</a></span> - Method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Present this sketch with the given long array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html#update-java.lang.String-java.lang.Double-">update(String, Double)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html#update-long-java.lang.Double-">update(long, Double)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSketch.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html#update-java.lang.Double-">update(Double)</a></span> - Method in class org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.html" title="class in org.apache.datasketches.tuple.adouble">DoubleSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html#update-java.lang.String-java.lang.Integer-">update(String, Integer)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html#update-long-java.lang.Integer-">update(long, Integer)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSketch.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSketch</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html#update-java.lang.Integer-">update(Integer)</a></span> - Method in class org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.html" title="class in org.apache.datasketches.tuple.aninteger">IntegerSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html#update-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-">update(ArrayOfDoublesSketch, ArrayOfDoublesSketch)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotB</a></dt>
<dd>
<div class="block">Perform A-and-not-B set operation on the two given sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html#update-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch-">update(ArrayOfDoublesSketch, ArrayOfDoublesSketch)</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesAnotBImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-long-double:A-">update(long, double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a long key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-double-double:A-">update(double, double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a double key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-java.lang.String-double:A-">update(String, double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a String key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-byte:A-double:A-">update(byte[], double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a byte[] key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-int:A-double:A-">update(int[], double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a int[] key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#update-long:A-double:A-">update(long[], double[])</a></span> - Method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a long[] key and double values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html#update-java.lang.String:A-java.lang.String:A-">update(String[], String[])</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSketch</a></dt>
<dd>
<div class="block">Updates the sketch with String arrays for both key and value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html#update-java.lang.String:A-">update(String[])</a></span> - Method in class org.apache.datasketches.tuple.strings.<a href="org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html" title="class in org.apache.datasketches.tuple.strings">ArrayOfStringsSummary</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-long-U-">update(long, U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a long key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-double-U-">update(double, U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a double key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-java.lang.String-U-">update(String, U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a String key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-byte:A-U-">update(byte[], U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a byte[] key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-int:A-U-">update(int[], U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a int[] key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSketch.html#update-long:A-U-">update(long[], U)</a></span> - Method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSketch.html" title="class in org.apache.datasketches.tuple">UpdatableSketch</a></dt>
<dd>
<div class="block">Updates this sketch with a long[] key and U value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/UpdatableSummary.html#update-U-">update(U)</a></span> - Method in interface org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/UpdatableSummary.html" title="interface in org.apache.datasketches.tuple">UpdatableSummary</a></dt>
<dd>
<div class="block">This is to provide a method of updating summaries.</div>
</dd>
<dt><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles"><span class="typeNameLink">UpdateDoublesSketch</span></a> - Class in <a href="org/apache/datasketches/quantiles/package-summary.html">org.apache.datasketches.quantiles</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/theta/UpdateReturnState.html" title="enum in org.apache.datasketches.theta"><span class="typeNameLink">UpdateReturnState</span></a> - Enum in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block"><a href="./resources/dictionary.html#updateReturnState">See Update Return State</a></div>
</dd>
<dt><a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">UpdateSketch</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">The parent class for the  Update Sketch families, such as QuickSelect and Alpha.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#updateSketchBuilder--">updateSketchBuilder()</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta"><code>UpdateSketchBuilder</code></a></div>
</dd>
<dt><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta"><span class="typeNameLink">UpdateSketchBuilder</span></a> - Class in <a href="org/apache/datasketches/theta/package-summary.html">org.apache.datasketches.theta</a></dt>
<dd>
<div class="block">For building a new UpdateSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketchBuilder.html#UpdateSketchBuilder--">UpdateSketchBuilder()</a></span> - Constructor for class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketchBuilder.html" title="class in org.apache.datasketches.theta">UpdateSketchBuilder</a></dt>
<dd>
<div class="block">Constructor for building a new UpdateSketch.</div>
</dd>
<dt><a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple"><span class="typeNameLink">Util</span></a> - Class in <a href="org/apache/datasketches/tuple/package-summary.html">org.apache.datasketches.tuple</a></dt>
<dd>
<div class="block">Common utility functions for Tuples</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/Util.html#Util--">Util()</a></span> - Constructor for class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/Util.html" title="class in org.apache.datasketches.tuple">Util</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches"><span class="typeNameLink">Util</span></a> - Class in <a href="org/apache/datasketches/package-summary.html">org.apache.datasketches</a></dt>
<dd>
<div class="block">Common utility functions.</div>
</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/cpc/CpcSketch.html#validate--">validate()</a></span> - Method in class org.apache.datasketches.cpc.<a href="org/apache/datasketches/cpc/CpcSketch.html" title="class in org.apache.datasketches.cpc">CpcSketch</a></dt>
<dd>
<div class="block">Convience function that this Sketch is valid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.html#validateFamily-byte-byte-">validateFamily(byte, byte)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.html" title="class in org.apache.datasketches.tuple">SerializerDeserializer</a></dt>
<dd>
<div class="block">Validates the preamble-Longs value given the family ID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.html#validateType-byte-org.apache.datasketches.tuple.SerializerDeserializer.SketchType-">validateType(byte, SerializerDeserializer.SketchType)</a></span> - Static method in class org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.html" title="class in org.apache.datasketches.tuple">SerializerDeserializer</a></dt>
<dd>
<div class="block">Validates the sketch type byte versus the expected value</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#validateValues-float:A-">validateValues(float[])</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Checks the sequential validity of the given array of float values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ErrorType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ErrorType.html" title="enum in org.apache.datasketches.frequencies">ErrorType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/GenericInequalitySearch.Inequality.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/GenericInequalitySearch.Inequality.html" title="enum in org.apache.datasketches">GenericInequalitySearch.Inequality</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/TgtHllType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/TgtHllType.html" title="enum in org.apache.datasketches.hll">TgtHllType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/InequalitySearch.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches">InequalitySearch</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ResizeFactor.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches">ResizeFactor</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.AnotbAction</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.IntersectAction</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.UnionAction</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateReturnState.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateReturnState.html" title="enum in org.apache.datasketches.theta">UpdateReturnState</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html" title="enum in org.apache.datasketches.tuple.adouble">DoubleSummary.Mode</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html" title="enum in org.apache.datasketches.tuple.aninteger">IntegerSummary.Mode</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html" title="enum in org.apache.datasketches.tuple">SerializerDeserializer.SketchType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Family.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/Family.html" title="enum in org.apache.datasketches">Family</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/frequencies/ErrorType.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.frequencies.<a href="org/apache/datasketches/frequencies/ErrorType.html" title="enum in org.apache.datasketches.frequencies">ErrorType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/GenericInequalitySearch.Inequality.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/GenericInequalitySearch.Inequality.html" title="enum in org.apache.datasketches">GenericInequalitySearch.Inequality</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/TgtHllType.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/TgtHllType.html" title="enum in org.apache.datasketches.hll">TgtHllType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/InequalitySearch.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/InequalitySearch.html" title="enum in org.apache.datasketches">InequalitySearch</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/ResizeFactor.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/ResizeFactor.html" title="enum in org.apache.datasketches">ResizeFactor</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.AnotbAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.AnotbAction</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.CornerCase.html" title="enum in org.apache.datasketches">SetOperationCornerCases.CornerCase</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.IntersectAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.IntersectAction</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.<a href="org/apache/datasketches/SetOperationCornerCases.UnionAction.html" title="enum in org.apache.datasketches">SetOperationCornerCases.UnionAction</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateReturnState.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateReturnState.html" title="enum in org.apache.datasketches.theta">UpdateReturnState</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.tuple.adouble.<a href="org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html" title="enum in org.apache.datasketches.tuple.adouble">DoubleSummary.Mode</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.tuple.aninteger.<a href="org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html" title="enum in org.apache.datasketches.tuple.aninteger">IntegerSummary.Mode</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html#values--">values()</a></span> - Static method in enum org.apache.datasketches.tuple.<a href="org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html" title="enum in org.apache.datasketches.tuple">SerializerDeserializer.SketchType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">VarOptItemsSamples</span></a>&lt;<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="type parameter in VarOptItemsSamples">T</a>&gt; - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">This class provides access to the samples contained in a VarOptItemsSketch.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">VarOptItemsSamples.VarOptItemsIterator</span></a> - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">The standard iterator</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">VarOptItemsSamples.WeightedSample</span></a> - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">A convenience class to allow easy iterator access to a VarOpt sample.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">VarOptItemsSketch</span></a>&lt;<a href="org/apache/datasketches/sampling/VarOptItemsSketch.html" title="type parameter in VarOptItemsSketch">T</a>&gt; - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">This sketch provides a variance optimal sample over an input stream of weighted items.</div>
</dd>
<dt><a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="class in org.apache.datasketches.sampling"><span class="typeNameLink">VarOptItemsUnion</span></a>&lt;<a href="org/apache/datasketches/sampling/VarOptItemsUnion.html" title="type parameter in VarOptItemsUnion">T</a>&gt; - Class in <a href="org/apache/datasketches/sampling/package-summary.html">org.apache.datasketches.sampling</a></dt>
<dd>
<div class="block">Provides a unioning operation over varopt sketches.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/req/ReqSketch.html#viewCompactorDetail-java.lang.String-boolean-">viewCompactorDetail(String, boolean)</a></span> - Method in class org.apache.datasketches.req.<a href="org/apache/datasketches/req/ReqSketch.html" title="class in org.apache.datasketches.req">ReqSketch</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#weights--">weights()</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Returns a copy of the array of weights contained in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/sampling/VarOptItemsSamples.html#weights-int-">weights(int)</a></span> - Method in class org.apache.datasketches.sampling.<a href="org/apache/datasketches/sampling/VarOptItemsSamples.html" title="class in org.apache.datasketches.sampling">VarOptItemsSamples</a></dt>
<dd>
<div class="block">Returns a single weight from the samples contained in the sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Wraps the given read-only Memory that must be a image of a valid sketch,
 which may be in compact or updatable form, and should have data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesSketch.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesSketch.html" title="class in org.apache.datasketches.quantiles">DoublesSketch</a></dt>
<dd>
<div class="block">Wrap this sketch around the given Memory image of a DoublesSketch, compact or non-compact.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns a read-only Union object that wraps off-heap data of the given memory image of
 a sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/DoublesUnion.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/DoublesUnion.html" title="class in org.apache.datasketches.quantiles">DoublesUnion</a></dt>
<dd>
<div class="block">Returns an updatable Union object that wraps off-heap data of the given memory image of
 a sketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.quantiles.<a href="org/apache/datasketches/quantiles/UpdateDoublesSketch.html" title="class in org.apache.datasketches.quantiles">UpdateDoublesSketch</a></dt>
<dd>
<div class="block">Wrap this sketch around the given non-compact Memory image of a DoublesSketch.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>
<div class="block">Wrap takes the CompactSketch image in given Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/CompactSketch.html#wrap-org.apache.datasketches.memory.Memory-long-">wrap(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/CompactSketch.html" title="class in org.apache.datasketches.theta">CompactSketch</a></dt>
<dd>
<div class="block">Wrap takes the sketch image in the given Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Wrap takes the SetOperation image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-long-">wrap(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Wrap takes the SetOperation image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Wrap takes the SetOperation image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.WritableMemory-long-">wrap(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/SetOperation.html" title="class in org.apache.datasketches.theta">SetOperation</a></dt>
<dd>
<div class="block">Wrap takes the SetOperation image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Wrap takes the sketch image in the given Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-long-">wrap(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketch.html" title="class in org.apache.datasketches.theta">Sketch</a></dt>
<dd>
<div class="block">Wrap takes the sketch image in the given Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/UpdateSketch.html#wrap-org.apache.datasketches.memory.WritableMemory-long-">wrap(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/UpdateSketch.html" title="class in org.apache.datasketches.theta">UpdateSketch</a></dt>
<dd>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Wrap the given Memory as an ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html#wrap-org.apache.datasketches.memory.Memory-long-">wrap(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketch</a></dt>
<dd>
<div class="block">Wrap the given Memory and seed as a ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#wrap-org.apache.datasketches.memory.Memory-">wrap(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Wrap the given Memory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#wrap-org.apache.datasketches.memory.Memory-long-">wrap(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Wrap the given Memory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html#wrap-org.apache.datasketches.memory.WritableMemory-long-">wrap(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUnion</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#wrap-org.apache.datasketches.memory.WritableMemory-">wrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html#wrap-org.apache.datasketches.memory.WritableMemory-long-">wrap(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesUpdatableSketch</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapCompactSketch-org.apache.datasketches.memory.Memory-">wrapCompactSketch(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/CompactSketch.html#wrap-org.apache.datasketches.memory.Memory-"><code>CompactSketch.wrap(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapCompactSketch-org.apache.datasketches.memory.Memory-long-">wrapCompactSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/CompactSketch.html#wrap-org.apache.datasketches.memory.Memory-long-"><code>CompactSketch.wrap(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapIntersection-org.apache.datasketches.memory.Memory-">wrapIntersection(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Convenience method, calls <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a> and casts the result to a Intersection</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapIntersection-org.apache.datasketches.memory.WritableMemory-">wrapIntersection(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Convenience method, calls <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a> and casts the result to a Intersection</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSetOperation-org.apache.datasketches.memory.Memory-">wrapSetOperation(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSetOperation-org.apache.datasketches.memory.Memory-long-">wrapSetOperation(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-long-"><code>SetOperation.wrap(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSetOperation-org.apache.datasketches.memory.WritableMemory-">wrapSetOperation(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSetOperation-org.apache.datasketches.memory.WritableMemory-long-">wrapSetOperation(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-long-"><code>SetOperation.wrap(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSketch-org.apache.datasketches.memory.Memory-">wrapSketch(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-"><code>Sketch.wrap(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapSketch-org.apache.datasketches.memory.Memory-long-">wrapSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-long-"><code>Sketch.wrap(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapSketch-org.apache.datasketches.memory.Memory-">wrapSketch(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory as an ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapSketch-org.apache.datasketches.memory.Memory-long-">wrapSketch(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory and seed as a ArrayOfDoublesSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapUnion-org.apache.datasketches.memory.Memory-">wrapUnion(Memory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Convenience method, calls <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a> and casts the result to a Union</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapUnion-org.apache.datasketches.memory.WritableMemory-">wrapUnion(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Convenience method, calls <a href="org/apache/datasketches/theta/SetOperation.html#wrap-org.apache.datasketches.memory.Memory-"><code>SetOperation.wrap(Memory)</code></a> and casts the result to a Union</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUnion-org.apache.datasketches.memory.Memory-">wrapUnion(Memory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUnion-org.apache.datasketches.memory.Memory-long-">wrapUnion(Memory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUnion-org.apache.datasketches.memory.WritableMemory-">wrapUnion(WritableMemory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUnion-org.apache.datasketches.memory.WritableMemory-long-">wrapUnion(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given Memory and seed as an ArrayOfDoublesUnion</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUpdatableSketch-org.apache.datasketches.memory.WritableMemory-">wrapUpdatableSketch(WritableMemory)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html#wrapUpdatableSketch-org.apache.datasketches.memory.WritableMemory-long-">wrapUpdatableSketch(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.tuple.arrayofdoubles.<a href="org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html" title="class in org.apache.datasketches.tuple.arrayofdoubles">ArrayOfDoublesSketches</a></dt>
<dd>
<div class="block">Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapUpdateSketch-org.apache.datasketches.memory.WritableMemory-">wrapUpdateSketch(WritableMemory)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-"><code>UpdateSketch.wrap(Memory)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/theta/Sketches.html#wrapUpdateSketch-org.apache.datasketches.memory.WritableMemory-long-">wrapUpdateSketch(WritableMemory, long)</a></span> - Static method in class org.apache.datasketches.theta.<a href="org/apache/datasketches/theta/Sketches.html" title="class in org.apache.datasketches.theta">Sketches</a></dt>
<dd>
<div class="block">Ref: <a href="org/apache/datasketches/theta/Sketch.html#wrap-org.apache.datasketches.memory.Memory-long-"><code>UpdateSketch.wrap(Memory, long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/HllSketch.html#writableWrap-org.apache.datasketches.memory.WritableMemory-">writableWrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/HllSketch.html" title="class in org.apache.datasketches.hll">HllSketch</a></dt>
<dd>
<div class="block">Wraps the given WritableMemory, which must be a image of a valid updatable sketch,
 and may have data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hll/Union.html#writableWrap-org.apache.datasketches.memory.WritableMemory-">writableWrap(WritableMemory)</a></span> - Static method in class org.apache.datasketches.hll.<a href="org/apache/datasketches/hll/Union.html" title="class in org.apache.datasketches.hll">Union</a></dt>
<dd>
<div class="block">Wraps the given WritableMemory, which must be a image of a valid updatable HLL_8 sketch,
 and may have data.</div>
</dd>
</dl>
<a name="I:X">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><a href="org/apache/datasketches/hash/XxHash.html" title="class in org.apache.datasketches.hash"><span class="typeNameLink">XxHash</span></a> - Class in <a href="org/apache/datasketches/hash/package-summary.html">org.apache.datasketches.hash</a></dt>
<dd>
<div class="block">The XxHash is a fast, non-cryptographic, 64-bit hash function that has
 excellent avalanche and 2-way bit independence properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/hash/XxHash.html#XxHash--">XxHash()</a></span> - Constructor for class org.apache.datasketches.hash.<a href="org/apache/datasketches/hash/XxHash.html" title="class in org.apache.datasketches.hash">XxHash</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:Z">
<!--   -->
</a>
<h2 class="title">Z</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/datasketches/Util.html#zeroPad-java.lang.String-int-">zeroPad(String, int)</a></span> - Static method in class org.apache.datasketches.<a href="org/apache/datasketches/Util.html" title="class in org.apache.datasketches">Util</a></dt>
<dd>
<div class="block">Prepend the given string with zeros.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
