Files
2015-03-14 10:44:30 -07:00

570 lines
24 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_31) on Sat Mar 14 10:07:08 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Percentiler (Vilya Core 1.6 API)</title>
<meta name="date" content="2015-03-14">
<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="Percentiler (Vilya Core 1.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Percentiler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/threerings/parlor/rating/util/Percentiler.html" target="_top">Frames</a></li>
<li><a href="Percentiler.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">com.threerings.parlor.rating.util</div>
<h2 title="Class Percentiler" class="title">Class Percentiler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.threerings.parlor.rating.util.Percentiler</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Percentiler</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Used to keep track of the percentile distribution of positive values (generally puzzle scores).</div>
</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="../../../../../com/threerings/parlor/rating/util/Percentiler.html#Percentiler--">Percentiler</a></span>()</code>
<div class="block">Creates an empty percentiler.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#Percentiler-byte:A-">Percentiler</a></span>(byte[]&nbsp;data)</code>
<div class="block">Creates a percentiler from its serialized representation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#Percentiler-int-int-">Percentiler</a></span>(int&nbsp;min,
int&nbsp;max)</code>
<div class="block">Creates a percentiler that expects values to fall within the given range.</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="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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#clearModified--">clearModified</a></span>()</code>
<div class="block">Clears this percentiler's "is modified" state.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#dump-java.io.PrintWriter-">dump</a></span>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;out)</code>
<div class="block">Dumps a text representation of this percentiler to the supplied print stream.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#dumpGnuPlot-java.io.PrintWriter-">dumpGnuPlot</a></span>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;out)</code>
<div class="block">Dumps out our data in a format that can be used to generate a gnuplot.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getCounts--">getCounts</a></span>()</code>
<div class="block">Returns the counts for each bucket.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getMaxScore--">getMaxScore</a></span>()</code>
<div class="block">Returns the largest score seen by this percentiler.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getMinScore--">getMinScore</a></span>()</code>
<div class="block">Returns the smallest score seen by this percentiler.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getPercentile-float-">getPercentile</a></span>(float&nbsp;value)</code>
<div class="block">Returns the percent of all numbers seen that are lower than the specified value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getRecordedCount--">getRecordedCount</a></span>()</code>
<div class="block">Returns the total number of values ever recorded to this percentiler.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getRequiredScore-int-">getRequiredScore</a></span>(int&nbsp;percentile)</code>
<div class="block">Returns the score necessary to attain the specified percentile.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>float[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#getRequiredScores--">getRequiredScores</a></span>()</code>
<div class="block">Returns the scores required to obtain a percentile rating from 0 to 99.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#isModified--">isModified</a></span>()</code>
<div class="block">Returns true if thsi percentiler has been modified since it was created or since the last
call to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#clearModified--"><code>clearModified()</code></a>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recomputePercentiles--">recomputePercentiles</a></span>()</code>
<div class="block">Recomputes the percentile cutoffs based on the values recorded since the last percentile
computation.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recordValue-float-">recordValue</a></span>(float&nbsp;value)</code>
<div class="block">Records a value, updating the histogram but not the percentiles (a call to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recomputePercentiles--"><code>recomputePercentiles()</code></a> is required for that and is sufficiently expensive that it shouldn't
be done every time a value is added).</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recordValue-float-boolean-">recordValue</a></span>(float&nbsp;value,
boolean&nbsp;logNewMax)</code>
<div class="block">See <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recordValue-float-"><code>recordValue(float)</code></a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#toBytes--">toBytes</a></span>()</code>
<div class="block">Converts this percentiler to a byte array so that it may be stored into a database.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Percentiler--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Percentiler</h4>
<pre>public&nbsp;Percentiler()</pre>
<div class="block">Creates an empty percentiler.</div>
</li>
</ul>
<a name="Percentiler-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Percentiler</h4>
<pre>public&nbsp;Percentiler(int&nbsp;min,
int&nbsp;max)</pre>
<div class="block">Creates a percentiler that expects values to fall within the given range.</div>
</li>
</ul>
<a name="Percentiler-byte:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Percentiler</h4>
<pre>public&nbsp;Percentiler(byte[]&nbsp;data)</pre>
<div class="block">Creates a percentiler from its serialized representation.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="recordValue-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordValue</h4>
<pre>public&nbsp;void&nbsp;recordValue(float&nbsp;value)</pre>
<div class="block">Records a value, updating the histogram but not the percentiles (a call to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recomputePercentiles--"><code>recomputePercentiles()</code></a> is required for that and is sufficiently expensive that it shouldn't
be done every time a value is added).</div>
</li>
</ul>
<a name="recordValue-float-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordValue</h4>
<pre>public&nbsp;void&nbsp;recordValue(float&nbsp;value,
boolean&nbsp;logNewMax)</pre>
<div class="block">See <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recordValue-float-"><code>recordValue(float)</code></a>.</div>
</li>
</ul>
<a name="getRecordedCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRecordedCount</h4>
<pre>public&nbsp;long&nbsp;getRecordedCount()</pre>
<div class="block">Returns the total number of values ever recorded to this percentiler.</div>
</li>
</ul>
<a name="isModified--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isModified</h4>
<pre>public&nbsp;boolean&nbsp;isModified()</pre>
<div class="block">Returns true if thsi percentiler has been modified since it was created or since the last
call to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#clearModified--"><code>clearModified()</code></a>.</div>
</li>
</ul>
<a name="clearModified--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearModified</h4>
<pre>public&nbsp;void&nbsp;clearModified()</pre>
<div class="block">Clears this percentiler's "is modified" state.</div>
</li>
</ul>
<a name="getPercentile-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPercentile</h4>
<pre>public&nbsp;int&nbsp;getPercentile(float&nbsp;value)</pre>
<div class="block">Returns the percent of all numbers seen that are lower than the specified value. This value
can range from zero to 100 (100 in the case where this is the highest value ever seen by
this percentiler). This value reflects the percentiles computed as of the most recent call
to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recomputePercentiles--"><code>recomputePercentiles()</code></a>.</div>
</li>
</ul>
<a name="getRequiredScore-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequiredScore</h4>
<pre>public&nbsp;float&nbsp;getRequiredScore(int&nbsp;percentile)</pre>
<div class="block">Returns the score necessary to attain the specified percentile. This value reflects the
percentiles computed as of the most recent call to <a href="../../../../../com/threerings/parlor/rating/util/Percentiler.html#recomputePercentiles--"><code>recomputePercentiles()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>percentile</code> - the desired percentile (from 0 to 99 inclusive).</dd>
</dl>
</li>
</ul>
<a name="getMaxScore--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxScore</h4>
<pre>public&nbsp;int&nbsp;getMaxScore()</pre>
<div class="block">Returns the largest score seen by this percentiler.</div>
</li>
</ul>
<a name="getMinScore--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinScore</h4>
<pre>public&nbsp;int&nbsp;getMinScore()</pre>
<div class="block">Returns the smallest score seen by this percentiler.</div>
</li>
</ul>
<a name="getRequiredScores--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequiredScores</h4>
<pre>public&nbsp;float[]&nbsp;getRequiredScores()</pre>
<div class="block">Returns the scores required to obtain a percentile rating from 0 to 99.</div>
</li>
</ul>
<a name="getCounts--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCounts</h4>
<pre>public&nbsp;int[]&nbsp;getCounts()</pre>
<div class="block">Returns the counts for each bucket.</div>
</li>
</ul>
<a name="recomputePercentiles--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recomputePercentiles</h4>
<pre>public&nbsp;void&nbsp;recomputePercentiles()</pre>
<div class="block">Recomputes the percentile cutoffs based on the values recorded since the last percentile
computation.</div>
</li>
</ul>
<a name="toBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBytes</h4>
<pre>public&nbsp;byte[]&nbsp;toBytes()</pre>
<div class="block">Converts this percentiler to a byte array so that it may be stored into a database.</div>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="dumpGnuPlot-java.io.PrintWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpGnuPlot</h4>
<pre>public&nbsp;void&nbsp;dumpGnuPlot(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;out)</pre>
<div class="block">Dumps out our data in a format that can be used to generate a gnuplot.</div>
</li>
</ul>
<a name="dump-java.io.PrintWriter-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dump</h4>
<pre>public&nbsp;void&nbsp;dump(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;out)</pre>
<div class="block">Dumps a text representation of this percentiler to the supplied print stream.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Percentiler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/threerings/parlor/rating/util/Percentiler.html" target="_top">Frames</a></li>
<li><a href="Percentiler.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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>