blob: 8b1bf5549064e6457a8d94ff4cefd3d1bde1d0ce [file] [log] [blame]
<!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_121) on Fri Sep 08 14:53:30 PDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CompactSketch (com.yahoo.datasketches:sketches-core 0.10.2-SNAPSHOT API)</title>
<meta name="date" content="2017-09-08">
<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="CompactSketch (com.yahoo.datasketches:sketches-core 0.10.2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/CompactSketch.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/AnotB.html" title="interface in com.yahoo.sketches.theta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/yahoo/sketches/theta/Intersection.html" title="interface 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/CompactSketch.html" target="_top">Frames</a></li>
<li><a href="CompactSketch.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 CompactSketch" class="title">Class CompactSketch</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://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><a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">com.yahoo.sketches.theta.Sketch</a></li>
<li>
<ul class="inheritance">
<li>com.yahoo.sketches.theta.CompactSketch</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">CompactSketch</span>
extends <a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></pre>
<div class="block">The parent class of all the CompactSketches. CompactSketches are never created directly.
They are created as a result of the compact() method of an UpdateSketch or as a result of a
getResult() of a SetOperation.
<p>A CompactSketch is the simplist form of a Theta Sketch. It consists of a compact list
(i.e., no intervening spaces) of hash values, which may be ordered or not, a value for theta
and a seed hash. A CompactSketch is read-only,
and the space required when stored is only the space required for the hash values and 8 to 24
bytes of preamble. An empty CompactSketch consumes only 8 bytes.</p></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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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><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/CompactSketch.html#getFamily--">getFamily</a></span>()</code>
<div class="block">Returns the Family that this sketch belongs to</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/CompactSketch.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="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/CompactSketch.html#isCompact--">isCompact</a></span>()</code>
<div class="block">Returns true if this sketch is in compact form.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/yahoo/sketches/theta/CompactSketch.html#isEmpty--">isEmpty</a></span>()</code>
<div class="block"><a href="../../../../resources/dictionary.html#empty">See Empty</a></div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.yahoo.sketches.theta.Sketch">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.yahoo.sketches.theta.<a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></h3>
<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getCountLessThanTheta-double-">getCountLessThanTheta</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getCurrentBytes-boolean-">getCurrentBytes</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getEstimate--">getEstimate</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getLowerBound-int-">getLowerBound</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getMaxCompactSketchBytes-int-">getMaxCompactSketchBytes</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getMaxUpdateSketchBytes-int-">getMaxUpdateSketchBytes</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getRetainedEntries--">getRetainedEntries</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getSerializationVersion-com.yahoo.memory.Memory-">getSerializationVersion</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getTheta--">getTheta</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#getUpperBound-int-">getUpperBound</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#heapify-com.yahoo.memory.Memory-">heapify</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#heapify-com.yahoo.memory.Memory-long-">heapify</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#isDirect--">isDirect</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#isEstimationMode--">isEstimationMode</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#isOrdered--">isOrdered</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#isSameResource-com.yahoo.memory.Memory-">isSameResource</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#toByteArray--">toByteArray</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#toString--">toString</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#toString-boolean-boolean-int-boolean-">toString</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#wrap-com.yahoo.memory.Memory-">wrap</a>, <a href="../../../../com/yahoo/sketches/theta/Sketch.html#wrap-com.yahoo.memory.Memory-long-">wrap</a></code></li>
</ul>
<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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="getRetainedEntries-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRetainedEntries</h4>
<pre>public&nbsp;int&nbsp;getRetainedEntries(boolean&nbsp;valid)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getRetainedEntries-boolean-">Sketch</a></code></span></div>
<div class="block">Returns the number of entries that have been retained by the sketch.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getRetainedEntries-boolean-">getRetainedEntries</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></dd>
<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="isEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isEmpty--">Sketch</a></code></span></div>
<div class="block"><a href="../../../../resources/dictionary.html#empty">See Empty</a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isEmpty--">isEmpty</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if empty.</dd>
</dl>
</li>
</ul>
<a name="getFamily--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFamily</h4>
<pre>public&nbsp;<a href="../../../../com/yahoo/sketches/Family.html" title="enum in com.yahoo.sketches">Family</a>&nbsp;getFamily()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getFamily--">Sketch</a></code></span></div>
<div class="block">Returns the Family that this sketch belongs to</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#getFamily--">getFamily</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Family that this sketch belongs to</dd>
</dl>
</li>
</ul>
<a name="isCompact--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isCompact</h4>
<pre>public&nbsp;boolean&nbsp;isCompact()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isCompact--">Sketch</a></code></span></div>
<div class="block">Returns true if this sketch is in compact form.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/yahoo/sketches/theta/Sketch.html#isCompact--">isCompact</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/yahoo/sketches/theta/Sketch.html" title="class in com.yahoo.sketches.theta">Sketch</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this sketch is in compact form.</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/CompactSketch.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/AnotB.html" title="interface in com.yahoo.sketches.theta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/yahoo/sketches/theta/Intersection.html" title="interface 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/CompactSketch.html" target="_top">Frames</a></li>
<li><a href="CompactSketch.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;2017 <a href="https://www.yahoo.com">Yahoo! Inc.</a>. All rights reserved.</small></p>
</body>
</html>