blob: bcc422edd47d25a2189458522cd603a2cf377dd2 [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>
<title>Percentile</title>
<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="Percentile";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Min.html" title="class in org.apache.openejb.math.stat.descriptive.rank"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/openejb/math/stat/descriptive/rank/Percentile.html" target="_top">Frames</a></li>
<li><a href="Percentile.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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">org.apache.openejb.math.stat.descriptive.rank</div>
<h2 title="Class Percentile" class="title">Class Percentile</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html" title="class in org.apache.openejb.math.stat.descriptive">org.apache.openejb.math.stat.descriptive.AbstractUnivariateStatistic</a></li>
<li>
<ul class="inheritance">
<li>org.apache.openejb.math.stat.descriptive.rank.Percentile</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/UnivariateStatistic.html" title="interface in org.apache.openejb.math.stat.descriptive">UnivariateStatistic</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Percentile</span>
extends <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html" title="class in org.apache.openejb.math.stat.descriptive">AbstractUnivariateStatistic</a>
implements java.io.Serializable</pre>
<div class="block">Provides percentile computation.
<p>
There are several commonly used methods for estimating percentiles (a.k.a.
quantiles) based on sample data. For large samples, the different methods
agree closely, but when sample sizes are small, different methods will give
significantly different results. The algorithm implemented here works as follows:
<ol>
<li>Let <code>n</code> be the length of the (sorted) array and
<code>0 < p <= 100</code> be the desired percentile.</li>
<li>If <code> n = 1 </code> return the unique array element (regardless of
the value of <code>p</code>); otherwise </li>
<li>Compute the estimated percentile position
<code> pos = p * (n + 1) / 100</code> and the difference, <code>d</code>
between <code>pos</code> and <code>floor(pos)</code> (i.e. the fractional
part of <code>pos</code>). If <code>pos >= n</code> return the largest
element in the array; otherwise</li>
<li>Let <code>lower</code> be the element in position
<code>floor(pos)</code> in the array and let <code>upper</code> be the
next element in the array. Return <code>lower + d * (upper - lower)</code>
</li>
</ol></p>
<p>
To compute percentiles, the data must be (totally) ordered. Input arrays
are copied and then sorted using <code>Arrays.sort(double[])</code>.
The ordering used by <code>Arrays.sort(double[])</code> is the one determined
by <code>Double.compareTo(Double)</code>. This ordering makes
<code>Double.NaN</code> larger than any other value (including
<code>Double.POSITIVE_INFINITY</code>). Therefore, for example, the median
(50th percentile) of
<code>{0, 1, 2, 3, 4, Double.NaN}</code> evaluates to <code>2.5.</code></p>
<p>
Since percentile estimation usually involves interpolation between array
elements, arrays containing <code>NaN</code> or infinite values will often
result in <code>NaN<code> or infinite values returned.</p>
<p>
<strong>Note that this implementation is not synchronized.</strong> If
multiple threads access an instance of this class concurrently, and at least
one of the threads invokes the <code>increment()</code> or
<code>clear()</code> method, it must be synchronized externally.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../serialized-form.html#org.apache.openejb.math.stat.descriptive.rank.Percentile">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#Percentile--">Percentile</a></span>()</code>
<div class="block">Constructs a Percentile with a default quantile
value of 50.0.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#Percentile-double-">Percentile</a></span>(double&nbsp;p)</code>
<div class="block">Constructs a Percentile with the specific quantile value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#Percentile-org.apache.openejb.math.stat.descriptive.rank.Percentile-">Percentile</a></span>(<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;original)</code>
<div class="block">Copy constructor, creates a new <code>Percentile</code> identical
to the <code>original</code></div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#copy--">copy</a></span>()</code>
<div class="block">Returns a copy of the statistic with the same internal state.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#copy-org.apache.openejb.math.stat.descriptive.rank.Percentile-org.apache.openejb.math.stat.descriptive.rank.Percentile-">copy</a></span>(<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;source,
<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;dest)</code>
<div class="block">Copies source to dest.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#evaluate-double:A-double-">evaluate</a></span>(double[]&nbsp;values,
double&nbsp;p)</code>
<div class="block">Returns an estimate of the <code>p</code>th percentile of the values
in the <code>values</code> array.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#evaluate-double:A-int-int-">evaluate</a></span>(double[]&nbsp;values,
int&nbsp;start,
int&nbsp;length)</code>
<div class="block">Returns an estimate of the <code>quantile</code>th percentile of the
designated values in the <code>values</code> array.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#evaluate-double:A-int-int-double-">evaluate</a></span>(double[]&nbsp;values,
int&nbsp;begin,
int&nbsp;length,
double&nbsp;p)</code>
<div class="block">Returns an estimate of the <code>p</code>th percentile of the values
in the <code>values</code> array, starting with the element in (0-based)
position <code>begin</code> in the array and including <code>length</code>
values.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#getQuantile--">getQuantile</a></span>()</code>
<div class="block">Returns the value of the quantile field (determines what percentile is
computed when evaluate() is called with no quantile argument).</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html#setQuantile-double-">setQuantile</a></span>(double&nbsp;p)</code>
<div class="block">Sets the value of the quantile field (determines what percentile is
computed when evaluate() is called with no quantile argument).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.openejb.math.stat.descriptive.AbstractUnivariateStatistic">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.openejb.math.stat.descriptive.<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html" title="class in org.apache.openejb.math.stat.descriptive">AbstractUnivariateStatistic</a></h3>
<code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html#evaluate-double:A-">evaluate</a>, <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html#test-double:A-double:A-int-int-">test</a>, <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html#test-double:A-int-int-">test</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Percentile--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Percentile</h4>
<pre>public&nbsp;Percentile()</pre>
<div class="block">Constructs a Percentile with a default quantile
value of 50.0.</div>
</li>
</ul>
<a name="Percentile-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Percentile</h4>
<pre>public&nbsp;Percentile(double&nbsp;p)</pre>
<div class="block">Constructs a Percentile with the specific quantile value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - the quantile</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if p is not greater than 0 and less
than or equal to 100</dd>
</dl>
</li>
</ul>
<a name="Percentile-org.apache.openejb.math.stat.descriptive.rank.Percentile-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Percentile</h4>
<pre>public&nbsp;Percentile(<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;original)</pre>
<div class="block">Copy constructor, creates a new <code>Percentile</code> identical
to the <code>original</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>original</code> - the <code>Percentile</code> instance to copy</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="evaluate-double:A-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;double&nbsp;evaluate(double[]&nbsp;values,
double&nbsp;p)</pre>
<div class="block">Returns an estimate of the <code>p</code>th percentile of the values
in the <code>values</code> array.
<p>
Calls to this method do not modify the internal <code>quantile</code>
state of this statistic.</p>
<p>
<ul>
<li>Returns <code>Double.NaN</code> if <code>values</code> has length
<code>0</code></li>
<li>Returns (for any value of <code>p</code>) <code>values[0]</code>
if <code>values</code> has length <code>1</code></li>
<li>Throws <code>IllegalArgumentException</code> if <code>values</code>
is null or p is not a valid quantile value (p must be greater than 0
and less than or equal to 100) </li>
</ul></p>
<p>
See <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank"><code>Percentile</code></a> for a description of the percentile estimation
algorithm used.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - input array of values</dd>
<dd><code>p</code> - the percentile value to compute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the percentile value or Double.NaN if the array is empty</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>values</code> is null
or p is invalid</dd>
</dl>
</li>
</ul>
<a name="evaluate-double:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;double&nbsp;evaluate(double[]&nbsp;values,
int&nbsp;start,
int&nbsp;length)</pre>
<div class="block">Returns an estimate of the <code>quantile</code>th percentile of the
designated values in the <code>values</code> array. The quantile
estimated is determined by the <code>quantile</code> property.
<p>
<ul>
<li>Returns <code>Double.NaN</code> if <code>length = 0</code></li>
<li>Returns (for any value of <code>quantile</code>)
<code>values[begin]</code> if <code>length = 1 </code></li>
<li>Throws <code>IllegalArgumentException</code> if <code>values</code>
is null, or <code>start</code> or <code>length</code>
is invalid</li>
</ul></p>
<p>
See <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank"><code>Percentile</code></a> for a description of the percentile estimation
algorithm used.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/UnivariateStatistic.html#evaluate-double:A-int-int-">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/UnivariateStatistic.html" title="interface in org.apache.openejb.math.stat.descriptive">UnivariateStatistic</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html#evaluate-double:A-int-int-">evaluate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html" title="class in org.apache.openejb.math.stat.descriptive">AbstractUnivariateStatistic</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - the input array</dd>
<dd><code>start</code> - index of the first array element to include</dd>
<dd><code>length</code> - the number of elements to include</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the percentile value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the parameters are not valid</dd>
</dl>
</li>
</ul>
<a name="evaluate-double:A-int-int-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;double&nbsp;evaluate(double[]&nbsp;values,
int&nbsp;begin,
int&nbsp;length,
double&nbsp;p)</pre>
<div class="block">Returns an estimate of the <code>p</code>th percentile of the values
in the <code>values</code> array, starting with the element in (0-based)
position <code>begin</code> in the array and including <code>length</code>
values.
<p>
Calls to this method do not modify the internal <code>quantile</code>
state of this statistic.</p>
<p>
<ul>
<li>Returns <code>Double.NaN</code> if <code>length = 0</code></li>
<li>Returns (for any value of <code>p</code>) <code>values[begin]</code>
if <code>length = 1 </code></li>
<li>Throws <code>IllegalArgumentException</code> if <code>values</code>
is null , <code>begin</code> or <code>length</code> is invalid, or
<code>p</code> is not a valid quantile value (p must be greater than 0
and less than or equal to 100)</li>
</ul></p>
<p>
See <a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank"><code>Percentile</code></a> for a description of the percentile estimation
algorithm used.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - array of input values</dd>
<dd><code>p</code> - the percentile to compute</dd>
<dd><code>begin</code> - the first (0-based) element to include in the computation</dd>
<dd><code>length</code> - the number of array elements to include</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the percentile value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the parameters are not valid or the
input array is null</dd>
</dl>
</li>
</ul>
<a name="getQuantile--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuantile</h4>
<pre>public&nbsp;double&nbsp;getQuantile()</pre>
<div class="block">Returns the value of the quantile field (determines what percentile is
computed when evaluate() is called with no quantile argument).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>quantile</dd>
</dl>
</li>
</ul>
<a name="setQuantile-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQuantile</h4>
<pre>public&nbsp;void&nbsp;setQuantile(double&nbsp;p)</pre>
<div class="block">Sets the value of the quantile field (determines what percentile is
computed when evaluate() is called with no quantile argument).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>p</code> - a value between 0 < p <= 100</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if p is not greater than 0 and less
than or equal to 100</dd>
</dl>
</li>
</ul>
<a name="copy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;copy()</pre>
<div class="block">Returns a copy of the statistic with the same internal state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/UnivariateStatistic.html#copy--">copy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/UnivariateStatistic.html" title="interface in org.apache.openejb.math.stat.descriptive">UnivariateStatistic</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html#copy--">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/openejb/math/stat/descriptive/AbstractUnivariateStatistic.html" title="class in org.apache.openejb.math.stat.descriptive">AbstractUnivariateStatistic</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of the statistic</dd>
</dl>
</li>
</ul>
<a name="copy-org.apache.openejb.math.stat.descriptive.rank.Percentile-org.apache.openejb.math.stat.descriptive.rank.Percentile-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copy</h4>
<pre>public static&nbsp;void&nbsp;copy(<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;source,
<a href="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Percentile.html" title="class in org.apache.openejb.math.stat.descriptive.rank">Percentile</a>&nbsp;dest)</pre>
<div class="block">Copies source to dest.
<p>Neither source nor dest can be null.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - Percentile to copy</dd>
<dd><code>dest</code> - Percentile to copy to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if either source or dest is null</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="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="../../../../../../../org/apache/openejb/math/stat/descriptive/rank/Min.html" title="class in org.apache.openejb.math.stat.descriptive.rank"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/openejb/math/stat/descriptive/rank/Percentile.html" target="_top">Frames</a></li>
<li><a href="Percentile.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>