blob: ac83ff3966e55e231c7d050d99ab7fcff481dbdd [file]
<!DOCTYPE HTML>
<html lang>
<head>
<!-- Generated by javadoc (25) -->
<title>QuantilesGenericAPI (datasketches-java 9.0.1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.datasketches.quantilescommon, interface: QuantilesGenericAPI">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/QuantilesGenericAPI.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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">org.apache.datasketches.quantilescommon</a></li>
<li><a href="QuantilesGenericAPI.html" class="current-selection">QuantilesGenericAPI</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getCDF(T%5B%5D)" tabindex="0">getCDF(T[])</a></li>
<li><a href="#getCDF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getCDF(T[], QuantileSearchCriteria)</a></li>
<li><a href="#getClassOfT()" tabindex="0">getClassOfT()</a></li>
<li><a href="#getComparator()" tabindex="0">getComparator()</a></li>
<li><a href="#getMaxItem()" tabindex="0">getMaxItem()</a></li>
<li><a href="#getMaxPartitions()" tabindex="0">getMaxPartitions()</a></li>
<li><a href="#getMinItem()" tabindex="0">getMinItem()</a></li>
<li><a href="#getPMF(T%5B%5D)" tabindex="0">getPMF(T[])</a></li>
<li><a href="#getPMF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getPMF(T[], QuantileSearchCriteria)</a></li>
<li><a href="#getQuantile(double)" tabindex="0">getQuantile(double)</a></li>
<li><a href="#getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getQuantile(double, QuantileSearchCriteria)</a></li>
<li><a href="#getQuantileLowerBound(double)" tabindex="0">getQuantileLowerBound(double)</a></li>
<li><a href="#getQuantileUpperBound(double)" tabindex="0">getQuantileUpperBound(double)</a></li>
<li><a href="#getQuantiles(double%5B%5D)" tabindex="0">getQuantiles(double[])</a></li>
<li><a href="#getQuantiles(double%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getQuantiles(double[], QuantileSearchCriteria)</a></li>
<li><a href="#getRank(T)" tabindex="0">getRank(T)</a></li>
<li><a href="#getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getRank(T, QuantileSearchCriteria)</a></li>
<li><a href="#getRanks(T%5B%5D)" tabindex="0">getRanks(T[])</a></li>
<li><a href="#getRanks(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" tabindex="0">getRanks(T[], QuantileSearchCriteria)</a></li>
<li><a href="#getSortedView()" tabindex="0">getSortedView()</a></li>
<li><a href="#iterator()" tabindex="0">iterator()</a></li>
<li><a href="#update(T)" tabindex="0">update(T)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface QuantilesGenericAPI" class="title">Interface QuantilesGenericAPI&lt;T&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="type-param-T"><code>T</code> - The given item type</span></dd>
</dl>
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="PartitioningFeature.html" title="interface in org.apache.datasketches.quantilescommon">PartitioningFeature</a>&lt;T&gt;, <a href="QuantilesAPI.html" title="interface in org.apache.datasketches.quantilescommon">QuantilesAPI</a>, <a href="SketchPartitionLimits.html" title="interface in org.apache.datasketches.quantilescommon">SketchPartitionLimits</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../kll/KllItemsSketch.html" title="class in org.apache.datasketches.kll">KllItemsSketch</a>, <a href="../quantiles/QuantilesItemsSketch.html" title="class in org.apache.datasketches.quantiles">QuantilesItemsSketch</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">QuantilesGenericAPI&lt;T&gt;</span><span class="extends-implements">
extends <a href="QuantilesAPI.html" title="interface in org.apache.datasketches.quantilescommon">QuantilesAPI</a>, <a href="PartitioningFeature.html" title="interface in org.apache.datasketches.quantilescommon">PartitioningFeature</a>&lt;T&gt;, <a href="SketchPartitionLimits.html" title="interface in org.apache.datasketches.quantilescommon">SketchPartitionLimits</a></span></div>
<div class="block">The Quantiles API for item type <i>generic</i>.</div>
<dl class="notes">
<dt>Author:</dt>
<dd>Lee Rhodes</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="QuantilesAPI.html" title="interface in org.apache.datasketches.quantilescommon"><code>QuantilesAPI</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.datasketches.quantilescommon.QuantilesAPI">Fields inherited from interface&nbsp;<a href="QuantilesAPI.html#field-summary" title="interface in org.apache.datasketches.quantilescommon">QuantilesAPI</a></h3>
<code><a href="QuantilesAPI.html#EMPTY_MSG">EMPTY_MSG</a>, <a href="QuantilesAPI.html#MEM_REQ_SVR_NULL_MSG">MEM_REQ_SVR_NULL_MSG</a>, <a href="QuantilesAPI.html#NOT_SINGLE_ITEM_MSG">NOT_SINGLE_ITEM_MSG</a>, <a href="QuantilesAPI.html#SELF_MERGE_MSG">SELF_MERGE_MSG</a>, <a href="QuantilesAPI.html#TGT_IS_READ_ONLY_MSG">TGT_IS_READ_ONLY_MSG</a>, <a href="QuantilesAPI.html#UNSUPPORTED_MSG">UNSUPPORTED_MSG</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default double[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getCDF(T%5B%5D)" class="member-name-link">getCDF</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getCDF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getCDF(splitPoints, INCLUSIVE)</code></a></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCDF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getCDF</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><wbr>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getClassOfT()" class="member-name-link">getClassOfT</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the sketch item class</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a><wbr>&lt;? super <a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getComparator()" class="member-name-link">getComparator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the Comparator of T</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMaxItem()" class="member-name-link">getMaxItem</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the maximum item of the stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getMaxPartitions()" class="member-name-link">getMaxPartitions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Gets the maximum number of partitions this sketch will support based on the configured size <i>K</i>
and the number of retained values of this sketch.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMinItem()" class="member-name-link">getMinItem</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the minimum item of the stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default double[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getPMF(T%5B%5D)" class="member-name-link">getPMF</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getPMF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getPMF(splitPoints, INCLUSIVE)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getPMF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getPMF</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getQuantile(double)" class="member-name-link">getQuantile</a><wbr>(double&nbsp;rank)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getQuantile(rank, INCLUSIVE)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getQuantile</a><wbr>(double&nbsp;rank,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the approximate quantile of the given normalized rank and the given search criterion.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getQuantileLowerBound(double)" class="member-name-link">getQuantileLowerBound</a><wbr>(double&nbsp;rank)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the lower bound of the quantile confidence interval in which the quantile of the
given rank exists.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getQuantiles(double%5B%5D)" class="member-name-link">getQuantiles</a><wbr>(double[]&nbsp;ranks)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getQuantiles(double%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getQuantiles(ranks, INCLUSIVE)</code></a></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getQuantiles(double%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getQuantiles</a><wbr>(double[]&nbsp;ranks,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets an array of quantiles from the given array of normalized ranks.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getQuantileUpperBound(double)" class="member-name-link">getQuantileUpperBound</a><wbr>(double&nbsp;rank)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the upper bound of the quantile confidence interval in which the true quantile of the
given rank exists.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getRank(T)" class="member-name-link">getRank</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;quantile)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getRank(T quantile, INCLUSIVE)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getRank</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;quantile,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the normalized rank corresponding to the given a quantile.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default double[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getRanks(T%5B%5D)" class="member-name-link">getRanks</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;quantiles)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">This is equivalent to <a href="#getRanks(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getRanks(quantiles, INCLUSIVE)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>double[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRanks(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" class="member-name-link">getRanks</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;quantiles,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets an array of normalized ranks corresponding to the given array of quantiles and the given
search criterion.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="GenericSortedView.html" title="interface in org.apache.datasketches.quantilescommon">GenericSortedView</a><wbr>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSortedView()" class="member-name-link">getSortedView</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the sorted view of this sketch</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="QuantilesGenericSketchIteratorAPI.html" title="interface in org.apache.datasketches.quantilescommon">QuantilesGenericSketchIteratorAPI</a><wbr>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#iterator()" class="member-name-link">iterator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the iterator for this sketch, which is not sorted.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#update(T)" class="member-name-link">update</a><wbr>(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;item)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Updates this sketch with the given item.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.datasketches.quantilescommon.PartitioningFeature">Methods inherited from interface&nbsp;<a href="PartitioningFeature.html#method-summary" title="interface in org.apache.datasketches.quantilescommon">PartitioningFeature</a></h3>
<code><a href="PartitioningFeature.html#getPartitionBoundariesFromNumParts(int)" title="getPartitionBoundariesFromNumParts(int)">getPartitionBoundariesFromNumParts</a>, <a href="PartitioningFeature.html#getPartitionBoundariesFromNumParts(int,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" title="getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria)">getPartitionBoundariesFromNumParts</a>, <a href="PartitioningFeature.html#getPartitionBoundariesFromPartSize(long)" title="getPartitionBoundariesFromPartSize(long)">getPartitionBoundariesFromPartSize</a>, <a href="PartitioningFeature.html#getPartitionBoundariesFromPartSize(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)" title="getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria)">getPartitionBoundariesFromPartSize</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.datasketches.quantilescommon.QuantilesAPI">Methods inherited from interface&nbsp;<a href="QuantilesAPI.html#method-summary" title="interface in org.apache.datasketches.quantilescommon">QuantilesAPI</a></h3>
<code><a href="QuantilesAPI.html#getK()" title="getK()">getK</a>, <a href="QuantilesAPI.html#getN()" title="getN()">getN</a>, <a href="QuantilesAPI.html#getNormalizedRankError(boolean)" title="getNormalizedRankError(boolean)">getNormalizedRankError</a>, <a href="QuantilesAPI.html#getNumRetained()" title="getNumRetained()">getNumRetained</a>, <a href="QuantilesAPI.html#getRankLowerBound(double)" title="getRankLowerBound(double)">getRankLowerBound</a>, <a href="QuantilesAPI.html#getRankUpperBound(double)" title="getRankUpperBound(double)">getRankUpperBound</a>, <a href="QuantilesAPI.html#isEmpty()" title="isEmpty()">isEmpty</a>, <a href="QuantilesAPI.html#isEstimationMode()" title="isEstimationMode()">isEstimationMode</a>, <a href="QuantilesAPI.html#isReadOnly()" title="isReadOnly()">isReadOnly</a>, <a href="QuantilesAPI.html#reset()" title="reset()">reset</a>, <a href="QuantilesAPI.html#toString()" title="toString()">toString</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.datasketches.quantilescommon.SketchPartitionLimits">Methods inherited from interface&nbsp;<a href="SketchPartitionLimits.html#method-summary" title="interface in org.apache.datasketches.quantilescommon">SketchPartitionLimits</a></h3>
<code><a href="SketchPartitionLimits.html#getMinPartitionSizeItems()" title="getMinPartitionSizeItems()">getMinPartitionSizeItems</a>, <a href="SketchPartitionLimits.html#getN()" title="getN()">getN</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getCDF(T[])">
<h3 id="getCDF(java.lang.Object[])">getCDF</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">getCDF</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints)</span></div>
<div class="block">This is equivalent to <a href="#getCDF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getCDF(splitPoints, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>splitPoints</code> - an array of <i>m</i> unique, monotonically increasing items.</dd>
<dt>Returns:</dt>
<dd>a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getCDF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3 id="getCDF(java.lang.Object[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getCDF</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">double[]</span>&nbsp;<span class="element-name">getCDF</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<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 class="notes">
<dt>Parameters:</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.
<blockquote>
<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>
</blockquote></dd>
<dd><code>searchCrit</code> - the desired search criteria.</dd>
<dt>Returns:</dt>
<dd>a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getClassOfT()">
<h3>getClassOfT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</span>&nbsp;<span class="element-name">getClassOfT</span>()</div>
<div class="block">Returns the sketch item class</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the sketch item class</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getComparator()">
<h3>getComparator</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;? super <a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</span>&nbsp;<span class="element-name">getComparator</span>()</div>
<div class="block">Returns the Comparator of T</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Comparator of the sketch</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getMaxItem()">
<h3>getMaxItem</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getMaxItem</span>()</div>
<div class="block">Returns the maximum item of the stream. This may be distinct from the largest item retained by the
sketch algorithm.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the maximum item of the stream</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getMaxPartitions()">
<h3>getMaxPartitions</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMaxPartitions</span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="SketchPartitionLimits.html#getMaxPartitions()">SketchPartitionLimits</a></code></span></div>
<div class="block">Gets the maximum number of partitions this sketch will support based on the configured size <i>K</i>
and the number of retained values of this sketch.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="SketchPartitionLimits.html#getMaxPartitions()">getMaxPartitions</a></code>&nbsp;in interface&nbsp;<code><a href="SketchPartitionLimits.html" title="interface in org.apache.datasketches.quantilescommon">SketchPartitionLimits</a></code></dd>
<dt>Returns:</dt>
<dd>the maximum number of partitions this sketch will support.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getMinItem()">
<h3>getMinItem</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getMinItem</span>()</div>
<div class="block">Returns the minimum item of the stream. This may be distinct from the smallest item retained by the
sketch algorithm.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the minimum item of the stream</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getPMF(T[])">
<h3 id="getPMF(java.lang.Object[])">getPMF</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">getPMF</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints)</span></div>
<div class="block">This is equivalent to <a href="#getPMF(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getPMF(splitPoints, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>splitPoints</code> - an array of <i>m</i> unique, monotonically increasing items.</dd>
<dt>Returns:</dt>
<dd>a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getPMF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3 id="getPMF(java.lang.Object[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getPMF</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">double[]</span>&nbsp;<span class="element-name">getPMF</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;splitPoints,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<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 class="notes">
<dt>Parameters:</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.
<blockquote>
<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>
</blockquote></dd>
<dd><code>searchCrit</code> - the desired search criteria.</dd>
<dt>Returns:</dt>
<dd>a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantile(double)">
<h3>getQuantile</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getQuantile</span><wbr><span class="parameters">(double&nbsp;rank)</span></div>
<div class="block">This is equivalent to <a href="#getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getQuantile(rank, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rank</code> - the given normalized rank, a double in the range [0.0, 1.0].</dd>
<dt>Returns:</dt>
<dd>the approximate quantile given the normalized rank.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3>getQuantile</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getQuantile</span><wbr><span class="parameters">(double&nbsp;rank,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<div class="block">Gets the approximate quantile of the given normalized rank and the given search criterion.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>the approximate quantile given the normalized rank.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantileLowerBound(double)">
<h3>getQuantileLowerBound</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getQuantileLowerBound</span><wbr><span class="parameters">(double&nbsp;rank)</span></div>
<div class="block">Gets the lower bound of the quantile confidence interval in which the quantile of the
given rank exists.
<p>Although it is possible to estimate the probability that the true quantile
exists within the quantile confidence interval specified by the upper and lower quantile bounds,
it is not possible to guarantee the width of the quantile confidence interval
as an additive or multiplicative percent of the true quantile.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rank</code> - the given normalized rank</dd>
<dt>Returns:</dt>
<dd>the lower bound of the quantile confidence interval in which the quantile of the
given rank exists.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantileUpperBound(double)">
<h3>getQuantileUpperBound</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a></span>&nbsp;<span class="element-name">getQuantileUpperBound</span><wbr><span class="parameters">(double&nbsp;rank)</span></div>
<div class="block">Gets the upper bound of the quantile confidence interval in which the true quantile of the
given rank exists.
<p>Although it is possible to estimate the probability that the true quantile
exists within the quantile confidence interval specified by the upper and lower quantile bounds,
it is not possible to guarantee the width of the quantile interval
as an additive or multiplicative percent of the true quantile.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rank</code> - the given normalized rank</dd>
<dt>Returns:</dt>
<dd>the upper bound of the quantile confidence interval in which the true quantile of the
given rank exists.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantiles(double[])">
<h3>getQuantiles</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]</span>&nbsp;<span class="element-name">getQuantiles</span><wbr><span class="parameters">(double[]&nbsp;ranks)</span></div>
<div class="block">This is equivalent to <a href="#getQuantiles(double%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getQuantiles(ranks, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>ranks</code> - the given array of normalized ranks, each of which must be
in the interval [0.0,1.0].</dd>
<dt>Returns:</dt>
<dd>an array of quantiles corresponding to the given array of normalized ranks.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3>getQuantiles</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]</span>&nbsp;<span class="element-name">getQuantiles</span><wbr><span class="parameters">(double[]&nbsp;ranks,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<div class="block">Gets an array of quantiles from the given array of normalized ranks.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>ranks</code> - the given array of normalized ranks, each of which must be
in the interval [0.0,1.0].</dd>
<dd><code>searchCrit</code> - if INCLUSIVE, the given ranks include all quantiles &le;
the quantile directly corresponding to each rank.</dd>
<dt>Returns:</dt>
<dd>an array of quantiles corresponding to the given array of normalized ranks.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getRank(T)">
<h3 id="getRank(java.lang.Object)">getRank</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getRank</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;quantile)</span></div>
<div class="block">This is equivalent to <a href="#getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getRank(T quantile, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>quantile</code> - the given quantile</dd>
<dt>Returns:</dt>
<dd>the normalized rank corresponding to the given quantile.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3 id="getRank(java.lang.Object,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getRank</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">double</span>&nbsp;<span class="element-name">getRank</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;quantile,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<div class="block">Gets the normalized rank corresponding to the given a quantile.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>the normalized rank corresponding to the given quantile.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getRanks(T[])">
<h3 id="getRanks(java.lang.Object[])">getRanks</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">getRanks</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;quantiles)</span></div>
<div class="block">This is equivalent to <a href="#getRanks(T%5B%5D,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"><code>getRanks(quantiles, INCLUSIVE)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>quantiles</code> - the given array of quantiles</dd>
<dt>Returns:</dt>
<dd>an array of normalized ranks corresponding to the given array of quantiles.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getRanks(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">
<h3 id="getRanks(java.lang.Object[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)">getRanks</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">double[]</span>&nbsp;<span class="element-name">getRanks</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>[]&nbsp;quantiles,
<a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon">QuantileSearchCriteria</a>&nbsp;searchCrit)</span></div>
<div class="block">Gets an array of normalized ranks corresponding to the given array of quantiles and the given
search criterion.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>quantiles</code> - the given array of quantiles</dd>
<dd><code>searchCrit</code> - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.</dd>
<dt>Returns:</dt>
<dd>an array of normalized ranks corresponding to the given array of quantiles.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if sketch is empty.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="QuantileSearchCriteria.html" title="enum class in org.apache.datasketches.quantilescommon"><code>QuantileSearchCriteria</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getSortedView()">
<h3>getSortedView</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="GenericSortedView.html" title="interface in org.apache.datasketches.quantilescommon">GenericSortedView</a>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</span>&nbsp;<span class="element-name">getSortedView</span>()</div>
<div class="block">Gets the sorted view of this sketch</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the sorted view of this sketch</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="iterator()">
<h3>iterator</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="QuantilesGenericSketchIteratorAPI.html" title="interface in org.apache.datasketches.quantilescommon">QuantilesGenericSketchIteratorAPI</a>&lt;<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&gt;</span>&nbsp;<span class="element-name">iterator</span>()</div>
<div class="block">Gets the iterator for this sketch, which is not sorted.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the iterator for this sketch</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="update(T)">
<h3 id="update(java.lang.Object)">update</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">update</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in QuantilesGenericAPI">T</a>&nbsp;item)</span></div>
<div class="block">Updates this sketch with the given item.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>item</code> - from a stream of items. Nulls are ignored.</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2015&#x2013;2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</main>
</div>
</body>
</html>