blob: 6dc713cd5d17d8dcc96ffe01dd81bd09f24100d4 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>FloatsSortedView (datasketches-java 4.0.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FloatsSortedView (datasketches-java 4.0.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":18,"i2":6,"i3":6,"i4":6,"i5":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FloatsSortedView.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" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.datasketches.quantilescommon</a></div>
<h2 title="Interface FloatsSortedView" class="title">Interface FloatsSortedView</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="SortedView.html" title="interface in org.apache.datasketches.quantilescommon">SortedView</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../kll/KllFloatsSketchSortedView.html" title="class in org.apache.datasketches.kll">KllFloatsSketchSortedView</a></code>, <code><a href="../req/ReqSketchSortedView.html" title="class in org.apache.datasketches.req">ReqSketchSortedView</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">FloatsSortedView</span>
extends <a href="SortedView.html" title="interface in org.apache.datasketches.quantilescommon">SortedView</a></pre>
<div class="block">The Sorted View for quantiles of primitive type float.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Alexander Saydakov, Lee Rhodes</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="SortedView.html" title="interface in org.apache.datasketches.quantilescommon"><code>SortedView</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default double[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCDF(float%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getCDF</a></span>&#8203;(float[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></th>
<td class="colLast">
<div class="block">Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream
as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0],
given a set of splitPoints.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default double[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPMF(float%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getPMF</a></span>&#8203;(float[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></th>
<td class="colLast">
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream
as an array of probability masses as doubles on the interval [0.0, 1.0],
given a set of splitPoints.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getQuantile</a></span>&#8203;(double&nbsp;rank,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></th>
<td class="colLast">
<div class="block">Gets the approximate quantile of the given normalized rank and the given search criterion.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>float[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQuantiles()">getQuantiles</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the array of quantiles</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getRank</a></span>&#8203;(float&nbsp;quantile,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></th>
<td class="colLast">
<div class="block">Gets the normalized rank corresponding to the given a quantile.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="FloatsSortedViewIterator.html" title="interface in org.apache.datasketches.quantilescommon">FloatsSortedViewIterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#iterator()">iterator</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an iterator for this Sorted View.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.datasketches.quantilescommon.SortedView">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.datasketches.quantilescommon.<a href="SortedView.html" title="interface in org.apache.datasketches.quantilescommon">SortedView</a></h3>
<code><a href="SortedView.html#getCumulativeWeights()">getCumulativeWeights</a>, <a href="SortedView.html#isEmpty()">isEmpty</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuantile</h4>
<pre class="methodSignature">float&nbsp;getQuantile&#8203;(double&nbsp;rank,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</pre>
<div class="block">Gets the approximate quantile of the given normalized rank and the given search criterion.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rank</code> - the given normalized rank, a double in the range [0.0, 1.0].</dd>
<dd><code>searchCrit</code> - If INCLUSIVE, the given rank includes all quantiles &le;
the quantile directly corresponding to the given rank.
If EXCLUSIVE, he given rank includes all quantiles &lt;
the quantile directly corresponding to the given rank.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the approximate quantile given the normalized rank.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></dd>
</dl>
</li>
</ul>
<a id="getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRank</h4>
<pre class="methodSignature">double&nbsp;getRank&#8203;(float&nbsp;quantile,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</pre>
<div class="block">Gets the normalized rank corresponding to the given a quantile.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quantile</code> - the given quantile</dd>
<dd><code>searchCrit</code> - if INCLUSIVE the given quantile is included into the rank.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the normalized rank corresponding to the given quantile.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></dd>
</dl>
</li>
</ul>
<a id="getCDF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCDF</h4>
<pre class="methodSignature">default&nbsp;double[]&nbsp;getCDF&#8203;(float[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</pre>
<div class="block">Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream
as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0],
given a set of splitPoints.
<p>The resulting approximations have a probabilistic guarantee that can be obtained from the
getNormalizedRankError(false) function.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>splitPoints</code> - an array of <i>m</i> unique, monotonically increasing items
(of the same type as the input items)
that divide the item input domain into <i>m+1</i> overlapping intervals.
<p>The start of each interval is below the lowest item retained by the sketch
corresponding to a zero rank or zero probability, and the end of the interval
is the rank or cumulative probability corresponding to the split point.</p>
<p>The <i>(m+1)th</i> interval represents 100% of the distribution represented by the sketch
and consistent with the definition of a cumulative probability distribution, thus the <i>(m+1)th</i>
rank or probability in the returned array is always 1.0.</p>
<p>If a split point exactly equals a retained item of the sketch and the search criterion is:</p>
<ul>
<li>INCLUSIVE, the resulting cumulative probability will include that item.</li>
<li>EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.</li>
</ul>
<p>It is not recommended to include either the minimum or maximum items of the input stream.</p></dd>
<dd><code>searchCrit</code> - the desired search criteria.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</li>
</ul>
<a id="getPMF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPMF</h4>
<pre class="methodSignature">default&nbsp;double[]&nbsp;getPMF&#8203;(float[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</pre>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream
as an array of probability masses as doubles on the interval [0.0, 1.0],
given a set of splitPoints.
<p>The resulting approximations have a probabilistic guarantee that can be obtained from the
getNormalizedRankError(true) function.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>splitPoints</code> - an array of <i>m</i> unique, monotonically increasing items
(of the same type as the input items)
that divide the item input domain into <i>m+1</i> consecutive, non-overlapping intervals.
<p>Each interval except for the end intervals starts with a split point and ends with the next split
point in sequence.</p>
<p>The first interval starts below the lowest item retained by the sketch
corresponding to a zero rank or zero probability, and ends with the first split point</p>
<p>The last <i>(m+1)th</i> interval starts with the last split point and ends after the last
item retained by the sketch corresponding to a rank or probability of 1.0. </p>
<p>The sum of the probability masses of all <i>(m+1)</i> intervals is 1.0.</p>
<p>If the search criterion is:</p>
<ul>
<li>INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval
will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude
that item.</li>
<li>EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval
will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include
that item.</li>
</ul>
<p>It is not recommended to include either the minimum or maximum items of the input stream.</p></dd>
<dd><code>searchCrit</code> - the desired search criteria.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</li>
</ul>
<a id="getQuantiles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuantiles</h4>
<pre class="methodSignature">float[]&nbsp;getQuantiles()</pre>
<div class="block">Returns the array of quantiles</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the array of quantiles</dd>
</dl>
</li>
</ul>
<a id="iterator()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>iterator</h4>
<pre class="methodSignature"><a href="FloatsSortedViewIterator.html" title="interface in org.apache.datasketches.quantilescommon">FloatsSortedViewIterator</a>&nbsp;iterator()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="SortedView.html#iterator()">SortedView</a></code></span></div>
<div class="block">Returns an iterator for this Sorted View.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SortedView.html#iterator()">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="SortedView.html" title="interface in org.apache.datasketches.quantilescommon">SortedView</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator for this Sorted View.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FloatsSortedView.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" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>