<!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_162) on Tue Aug 07 18:31:01 PDT 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sketch (com.yahoo.datasketches:sketches-core 0.12.1-SNAPSHOT API)</title>
<meta name="date" content="2018-08-07">
<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="Sketch (com.yahoo.datasketches:sketches-core 0.12.1-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":6,"i2":10,"i3":6,"i4":10,"i5":9,"i6":9,"i7":10,"i8":6,"i9":9,"i10":10,"i11":10,"i12":6,"i13":9,"i14":9,"i15":6,"i16":6,"i17":6,"i18":10,"i19":6,"i20":10,"i21":6,"i22":10,"i23":10,"i24":9,"i25":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Sketch.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/yahoo/sketches/theta/SingleItemSketch.html" title="class in com.yahoo.sketches.theta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/yahoo/sketches/theta/Sketches.html" title="class in com.yahoo.sketches.theta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/yahoo/sketches/theta/Sketch.html" target="_top">Frames</a></li>
<li><a href="Sketch.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.yahoo.sketches.theta</div>
<h2 title="Class Sketch" class="title">Class Sketch</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.yahoo.sketches.theta.Sketch</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../com/yahoo/sketches/theta/CompactSketch.html" title="class in com.yahoo.sketches.theta">CompactSketch</a>, <a href="../../../../com/yahoo/sketches/theta/UpdateSketch.html" title="class in com.yahoo.sketches.theta">UpdateSketch</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Sketch</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">The top-level class for all sketches. This class is never constructed directly.
 Use the UpdateSketch.builder() methods to create UpdateSketches.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Lee Rhodes</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getCountLessThanTheta-double-">getCountLessThanTheta</a></span>(double&nbsp;theta)</code>
<div class="block">Gets the number of hash values less than the given theta.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getCurrentBytes-boolean-">getCurrentBytes</a></span>(boolean&nbsp;compact)</code>
<div class="block">Returns the number of storage bytes required for this Sketch in its current state.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getEstimate--">getEstimate</a></span>()</code>
<div class="block">Gets the unique count estimate.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../com/yahoo/sketches/Family.html" title="enum in com.yahoo.sketches">Family</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getFamily--">getFamily</a></span>()</code>
<div class="block">Returns the Family that this sketch belongs to</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getLowerBound-int-">getLowerBound</a></span>(int&nbsp;numStdDev)</code>
<div class="block">Gets the approximate lower error bound given the specified number of Standard Deviations.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getMaxCompactSketchBytes-int-">getMaxCompactSketchBytes</a></span>(int&nbsp;numberOfEntries)</code>
<div class="block">Returns the maximum number of storage bytes required for a CompactSketch with the given
 number of actual entries.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getMaxUpdateSketchBytes-int-">getMaxUpdateSketchBytes</a></span>(int&nbsp;nomEntries)</code>
<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>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getRetainedEntries--">getRetainedEntries</a></span>()</code>
<div class="block">Returns the number of valid entries that have been retained by the sketch.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getRetainedEntries-boolean-">getRetainedEntries</a></span>(boolean&nbsp;valid)</code>
<div class="block">Returns the number of entries that have been retained by the sketch.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getSerializationVersion-com.yahoo.memory.Memory-">getSerializationVersion</a></span>(com.yahoo.memory.Memory&nbsp;mem)</code>
<div class="block">Returns the serialization version from the given Memory</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getTheta--">getTheta</a></span>()</code>
<div class="block">Gets the value of theta as a double with a value between zero and one</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getUpperBound-int-">getUpperBound</a></span>(int&nbsp;numStdDev)</code>
<div class="block">Gets the approximate upper error bound given the specified number of Standard Deviations.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#hasMemory--">hasMemory</a></span>()</code>
<div class="block">Returns true if this sketch's data structure is backed by Memory or WritableMemory.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#heapify-com.yahoo.memory.Memory-">heapify</a></span>(com.yahoo.memory.Memory&nbsp;srcMem)</code>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap
 Sketch using the
 <a href="../../../../resources/dictionary.html#defaultUpdateSeed">Default Update Seed</a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#heapify-com.yahoo.memory.Memory-long-">heapify</a></span>(com.yahoo.memory.Memory&nbsp;srcMem,
       long&nbsp;seed)</code>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap
 Sketch using the given seed.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isCompact--">isCompact</a></span>()</code>
<div class="block">Returns true if this sketch is in compact form.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isDirect--">isDirect</a></span>()</code>
<div class="block">Returns true if the this sketch's internal data structure is backed by direct (off-heap)
 Memory.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isEmpty--">isEmpty</a></span>()</code>
<div class="block"><a href="../../../../resources/dictionary.html#empty">See Empty</a></div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isEstimationMode--">isEstimationMode</a></span>()</code>
<div class="block">Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isOrdered--">isOrdered</a></span>()</code>
<div class="block">Returns true if internal cache is ordered</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isSameResource-com.yahoo.memory.Memory-">isSameResource</a></span>(com.yahoo.memory.Memory&nbsp;that)</code>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>abstract byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#toByteArray--">toByteArray</a></span>()</code>
<div class="block">Serialize this sketch to a byte array form.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#toString--">toString</a></span>()</code>
<div class="block">Returns a human readable summary of the sketch.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#toString-boolean-boolean-int-boolean-">toString</a></span>(boolean&nbsp;sketchSummary,
        boolean&nbsp;dataDetail,
        int&nbsp;width,
        boolean&nbsp;hexMode)</code>
<div class="block">Gets a human readable listing of contents and summary of the given sketch.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static <a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#wrap-com.yahoo.memory.Memory-">wrap</a></span>(com.yahoo.memory.Memory&nbsp;srcMem)</code>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/Sketch.html#wrap-com.yahoo.memory.Memory-long-">wrap</a></span>(com.yahoo.memory.Memory&nbsp;srcMem,
    long&nbsp;seed)</code>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="heapify-com.yahoo.memory.Memory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>heapify</h4>
<pre>public static&nbsp;<a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a>&nbsp;heapify(com.yahoo.memory.Memory&nbsp;srcMem)</pre>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap
 Sketch using the
 <a href="../../../../resources/dictionary.html#defaultUpdateSeed">Default Update Seed</a>.
 The resulting sketch will not retain any link to the source Memory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcMem</code> - an image of a Sketch where the image seed hash matches the default seed hash.
 <a href="../../../../resources/dictionary.html#mem">See Memory</a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Heap-based Sketch from the given Memory</dd>
</dl>
</li>
</ul>
<a name="heapify-com.yahoo.memory.Memory-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>heapify</h4>
<pre>public static&nbsp;<a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a>&nbsp;heapify(com.yahoo.memory.Memory&nbsp;srcMem,
                             long&nbsp;seed)</pre>
<div class="block">Heapify takes the sketch image in Memory and instantiates an on-heap
 Sketch using the given seed.
 The resulting sketch will not retain any link to the source Memory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcMem</code> - an image of a Sketch where the image seed hash matches the given seed hash.
 <a href="../../../../resources/dictionary.html#mem">See Memory</a></dd>
<dd><code>seed</code> - <a href="../../../../resources/dictionary.html#seed">See Update Hash Seed</a>.
 Compact sketches store a 16-bit hash of the seed, but not the seed itself.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Heap-based Sketch from the given Memory</dd>
</dl>
</li>
</ul>
<a name="wrap-com.yahoo.memory.Memory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a>&nbsp;wrap(com.yahoo.memory.Memory&nbsp;srcMem)</pre>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly. There is no data copying onto
 the java heap.  Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have
 been explicitly stored as direct objects can be wrapped. This method assumes the
 <a href="../../../../com/yahoo/sketches/Util.html#DEFAULT_UPDATE_SEED"><code>Util.DEFAULT_UPDATE_SEED</code></a>.
 <a href="../../../../resources/dictionary.html#defaultUpdateSeed">Default Update Seed</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcMem</code> - an image of a Sketch where the image seed hash matches the default seed hash.
 <a href="../../../../resources/dictionary.html#mem">See Memory</a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Sketch backed by the given Memory</dd>
</dl>
</li>
</ul>
<a name="wrap-com.yahoo.memory.Memory-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre>public static&nbsp;<a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a>&nbsp;wrap(com.yahoo.memory.Memory&nbsp;srcMem,
                          long&nbsp;seed)</pre>
<div class="block">Wrap takes the sketch image in Memory and refers to it directly. There is no data copying onto
 the java heap.  Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have
 been explicitly stored as direct objects can be wrapped.
 An attempt to "wrap" earlier version sketches will result in a "heapified", normal
 Java Heap version of the sketch where all data will be copied to the heap.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcMem</code> - an image of a Sketch where the image seed hash matches the given seed hash.
 <a href="../../../../resources/dictionary.html#mem">See Memory</a></dd>
<dd><code>seed</code> - <a href="../../../../resources/dictionary.html#seed">See Update Hash Seed</a>.
 Compact sketches store a 16-bit hash of the seed, but not the seed itself.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a UpdateSketch backed by the given Memory</dd>
</dl>
</li>
</ul>
<a name="getCountLessThanTheta-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCountLessThanTheta</h4>
<pre>public&nbsp;int&nbsp;getCountLessThanTheta(double&nbsp;theta)</pre>
<div class="block">Gets the number of hash values less than the given theta.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>theta</code> - the given theta as a double between zero and one.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of hash values less than the given theta.</dd>
</dl>
</li>
</ul>
<a name="getCurrentBytes-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentBytes</h4>
<pre>public abstract&nbsp;int&nbsp;getCurrentBytes(boolean&nbsp;compact)</pre>
<div class="block">Returns the number of storage bytes required for this Sketch in its current state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>compact</code> - if true, returns the bytes required for compact form.
 If this sketch is already in compact form this parameter is ignored.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of storage bytes required for this sketch</dd>
</dl>
</li>
</ul>
<a name="getEstimate--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEstimate</h4>
<pre>public&nbsp;double&nbsp;getEstimate()</pre>
<div class="block">Gets the unique count estimate.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the sketch's best estimate of the cardinality of the input stream.</dd>
</dl>
</li>
</ul>
<a name="getFamily--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFamily</h4>
<pre>public abstract&nbsp;<a href="../../../../com/yahoo/sketches/Family.html" title="enum in com.yahoo.sketches">Family</a>&nbsp;getFamily()</pre>
<div class="block">Returns the Family that this sketch belongs to</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Family that this sketch belongs to</dd>
</dl>
</li>
</ul>
<a name="getLowerBound-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLowerBound</h4>
<pre>public&nbsp;double&nbsp;getLowerBound(int&nbsp;numStdDev)</pre>
<div class="block">Gets the approximate lower error bound given the specified number of Standard Deviations.
 This will return getEstimate() if isEmpty() is true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numStdDev</code> - <a href="../../../../resources/dictionary.html#numStdDev">See Number of Standard Deviations</a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the lower bound.</dd>
</dl>
</li>
</ul>
<a name="getMaxCompactSketchBytes-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxCompactSketchBytes</h4>
<pre>public static&nbsp;int&nbsp;getMaxCompactSketchBytes(int&nbsp;numberOfEntries)</pre>
<div class="block">Returns the maximum number of storage bytes required for a CompactSketch with the given
 number of actual entries.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numberOfEntries</code> - the actual number of entries stored with the CompactSketch.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of storage bytes required for a CompactSketch with the given number
 of entries.</dd>
</dl>
</li>
</ul>
<a name="getMaxUpdateSketchBytes-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxUpdateSketchBytes</h4>
<pre>public static&nbsp;int&nbsp;getMaxUpdateSketchBytes(int&nbsp;nomEntries)</pre>
<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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nomEntries</code> - <a href="../../../../resources/dictionary.html#nomEntries">Nominal Entres</a>
 This will become the ceiling power of 2 if it is not.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of storage bytes required for a UpdateSketch with the given
 nomEntries</dd>
</dl>
</li>
</ul>
<a name="getRetainedEntries--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRetainedEntries</h4>
<pre>public&nbsp;int&nbsp;getRetainedEntries()</pre>
<div class="block">Returns the number of valid entries that have been retained by the sketch.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of valid retained entries</dd>
</dl>
</li>
</ul>
<a name="getRetainedEntries-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRetainedEntries</h4>
<pre>public abstract&nbsp;int&nbsp;getRetainedEntries(boolean&nbsp;valid)</pre>
<div class="block">Returns the number of entries that have been retained by the sketch.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>valid</code> - if true, returns the number of valid entries, which are less than theta and used
 for estimation.
 Otherwise, return the number of all entries, valid or not, that are currently in the internal
 sketch cache.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of retained entries</dd>
</dl>
</li>
</ul>
<a name="getSerializationVersion-com.yahoo.memory.Memory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSerializationVersion</h4>
<pre>public static&nbsp;int&nbsp;getSerializationVersion(com.yahoo.memory.Memory&nbsp;mem)</pre>
<div class="block">Returns the serialization version from the given Memory</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mem</code> - the sketch Memory</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the serialization version from the Memory</dd>
</dl>
</li>
</ul>
<a name="getTheta--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTheta</h4>
<pre>public&nbsp;double&nbsp;getTheta()</pre>
<div class="block">Gets the value of theta as a double with a value between zero and one</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of theta as a double</dd>
</dl>
</li>
</ul>
<a name="getUpperBound-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpperBound</h4>
<pre>public&nbsp;double&nbsp;getUpperBound(int&nbsp;numStdDev)</pre>
<div class="block">Gets the approximate upper error bound given the specified number of Standard Deviations.
 This will return getEstimate() if isEmpty() is true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numStdDev</code> - <a href="../../../../resources/dictionary.html#numStdDev">See Number of Standard Deviations</a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the upper bound.</dd>
</dl>
</li>
</ul>
<a name="hasMemory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasMemory</h4>
<pre>public abstract&nbsp;boolean&nbsp;hasMemory()</pre>
<div class="block">Returns true if this sketch's data structure is backed by Memory or WritableMemory.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this sketch's data structure is backed by Memory or WritableMemory.</dd>
</dl>
</li>
</ul>
<a name="isCompact--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompact</h4>
<pre>public abstract&nbsp;boolean&nbsp;isCompact()</pre>
<div class="block">Returns true if this sketch is in compact form.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this sketch is in compact form.</dd>
</dl>
</li>
</ul>
<a name="isDirect--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirect</h4>
<pre>public abstract&nbsp;boolean&nbsp;isDirect()</pre>
<div class="block">Returns true if the this sketch's internal data structure is backed by direct (off-heap)
 Memory.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the this sketch's internal data structure is backed by direct (off-heap)
 Memory.</dd>
</dl>
</li>
</ul>
<a name="isEmpty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public abstract&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block"><a href="../../../../resources/dictionary.html#empty">See Empty</a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if empty.</dd>
</dl>
</li>
</ul>
<a name="isEstimationMode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEstimationMode</h4>
<pre>public&nbsp;boolean&nbsp;isEstimationMode()</pre>
<div class="block">Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
 This is true if theta &lt; 1.0 AND isEmpty() is false.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the sketch is in estimation mode.</dd>
</dl>
</li>
</ul>
<a name="isOrdered--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOrdered</h4>
<pre>public abstract&nbsp;boolean&nbsp;isOrdered()</pre>
<div class="block">Returns true if internal cache is ordered</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if internal cache is ordered</dd>
</dl>
</li>
</ul>
<a name="isSameResource-com.yahoo.memory.Memory-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSameResource</h4>
<pre>public&nbsp;boolean&nbsp;isSameResource(com.yahoo.memory.Memory&nbsp;that)</pre>
<div class="block">Returns true if the backing resource of <i>this</i> is identical with the backing resource
 of <i>that</i>. The capacities must be the same.  If <i>this</i> is a region,
 the region offset must also be the same.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - A different non-null object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the backing resource of <i>this</i> is the same as the backing resource
 of <i>that</i>.</dd>
</dl>
</li>
</ul>
<a name="toByteArray--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toByteArray</h4>
<pre>public abstract&nbsp;byte[]&nbsp;toByteArray()</pre>
<div class="block">Serialize this sketch to a byte array form.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte array of this sketch</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">Returns a human readable summary of the sketch.  This method is equivalent to the parameterized
 call:<br>
 <i>Sketch.toString(sketch, true, false, 8, true);</i></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>summary</dd>
</dl>
</li>
</ul>
<a name="toString-boolean-boolean-int-boolean-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString(boolean&nbsp;sketchSummary,
                       boolean&nbsp;dataDetail,
                       int&nbsp;width,
                       boolean&nbsp;hexMode)</pre>
<div class="block">Gets a human readable listing of contents and summary of the given sketch.
 This can be a very long string.  If this sketch is in a "dirty" state there
 may be values in the dataDetail view that are &ge; theta.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sketchSummary</code> - If true the sketch summary will be output at the end.</dd>
<dd><code>dataDetail</code> - If true, includes all valid hash values in the sketch.</dd>
<dd><code>width</code> - The number of columns of hash values. Default is 8.</dd>
<dd><code>hexMode</code> - If true, hashes will be output in hex.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The result string, which can be very long.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Sketch.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/yahoo/sketches/theta/SingleItemSketch.html" title="class in com.yahoo.sketches.theta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/yahoo/sketches/theta/Sketches.html" title="class in com.yahoo.sketches.theta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/yahoo/sketches/theta/Sketch.html" target="_top">Frames</a></li>
<li><a href="Sketch.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2018. All rights reserved.</small></p>
</body>
</html>
