<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>AbstractIntegerDistribution (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractIntegerDistribution (Apache Commons Math 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractIntegerDistribution.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 class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/distribution/AbstractMultivariateRealDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/AbstractIntegerDistribution.html" target="_top">Frames</a></li>
<li><a href="AbstractIntegerDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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.commons.math3.distribution</div>
<h2 title="Class AbstractIntegerDistribution" class="title">Class AbstractIntegerDistribution</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/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>org.apache.commons.math3.distribution.AbstractIntegerDistribution</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/commons/math3/distribution/BinomialDistribution.html" title="class in org.apache.commons.math3.distribution">BinomialDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/EnumeratedIntegerDistribution.html" title="class in org.apache.commons.math3.distribution">EnumeratedIntegerDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/GeometricDistribution.html" title="class in org.apache.commons.math3.distribution">GeometricDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/HypergeometricDistribution.html" title="class in org.apache.commons.math3.distribution">HypergeometricDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/PascalDistribution.html" title="class in org.apache.commons.math3.distribution">PascalDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/PoissonDistribution.html" title="class in org.apache.commons.math3.distribution">PoissonDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/UniformIntegerDistribution.html" title="class in org.apache.commons.math3.distribution">UniformIntegerDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/ZipfDistribution.html" title="class in org.apache.commons.math3.distribution">ZipfDistribution</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractIntegerDistribution</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">Base class for integer-valued discrete distributions.  Default
 implementations are provided for some of the methods that do not vary
 from distribution to distribution.</div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Id: AbstractIntegerDistribution.java 1547633 2013-12-03 23:03:06Z tn $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.commons.math3.distribution.AbstractIntegerDistribution">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#random">random</a></strong></code>
<div class="block">RNG instance used to generate samples from the distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/commons/math3/random/RandomDataImpl.html" title="class in org.apache.commons.math3.random">RandomDataImpl</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#randomData">randomData</a></strong></code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1, to be removed in 4.0. Please use the
 <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#random"><code>random</code></a> instance variable instead.</i></div>
</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" 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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#AbstractIntegerDistribution()">AbstractIntegerDistribution</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1, to be removed in 4.0. Please use
 <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#AbstractIntegerDistribution(org.apache.commons.math3.random.RandomGenerator)"><code>AbstractIntegerDistribution(RandomGenerator)</code></a> instead.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#AbstractIntegerDistribution(org.apache.commons.math3.random.RandomGenerator)">AbstractIntegerDistribution</a></strong>(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#cumulativeProbability(int, int)">cumulativeProbability</a></strong>(int&nbsp;x0,
                     int&nbsp;x1)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(x0 &lt; X &lt;= x1)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></strong>(double&nbsp;p)</code>
<div class="block">Computes the quantile function of this distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#logProbability(int)">logProbability</a></strong>(int&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according to
 this distribution, this method returns <code>log(P(X = x))</code>, where
 <code>log</code> is the natural logarithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#reseedRandomGenerator(long)">reseedRandomGenerator</a></strong>(long&nbsp;seed)</code>
<div class="block">Reseed the random generator used to generate samples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#sample()">sample</a></strong>()</code>
<div class="block">Generate a random value sampled from this distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#sample(int)">sample</a></strong>(int&nbsp;sampleSize)</code>
<div class="block">Generate a random sample from the distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#solveInverseCumulativeProbability(double, int, int)">solveInverseCumulativeProbability</a></strong>(double&nbsp;p,
                                 int&nbsp;lower,
                                 int&nbsp;upper)</code>
<div class="block">This is a utility function used by <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#inverseCumulativeProbability(double)"><code>inverseCumulativeProbability(double)</code></a>.</div>
</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/6/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/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/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/6/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/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.distribution.IntegerDistribution">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.commons.math3.distribution.<a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></h3>
<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#cumulativeProbability(int)">cumulativeProbability</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getNumericalMean()">getNumericalMean</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getNumericalVariance()">getNumericalVariance</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportLowerBound()">getSupportLowerBound</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportUpperBound()">getSupportUpperBound</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#isSupportConnected()">isSupportConnected</a>, <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#probability(int)">probability</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="randomData">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>randomData</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
protected final&nbsp;<a href="../../../../../org/apache/commons/math3/random/RandomDataImpl.html" title="class in org.apache.commons.math3.random">RandomDataImpl</a> randomData</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>As of 3.1, to be removed in 4.0. Please use the
 <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#random"><code>random</code></a> instance variable instead.</i></div>
<div class="block">RandomData instance used to generate samples from the distribution.</div>
</li>
</ul>
<a name="random">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>random</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a> random</pre>
<div class="block">RNG instance used to generate samples from the distribution.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.1</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractIntegerDistribution()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractIntegerDistribution</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
protected&nbsp;AbstractIntegerDistribution()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>As of 3.1, to be removed in 4.0. Please use
 <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#AbstractIntegerDistribution(org.apache.commons.math3.random.RandomGenerator)"><code>AbstractIntegerDistribution(RandomGenerator)</code></a> instead.</i></div>
</li>
</ul>
<a name="AbstractIntegerDistribution(org.apache.commons.math3.random.RandomGenerator)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractIntegerDistribution</h4>
<pre>protected&nbsp;AbstractIntegerDistribution(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rng</code> - Random number generator.</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.1</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="cumulativeProbability(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cumulativeProbability</h4>
<pre>public&nbsp;double&nbsp;cumulativeProbability(int&nbsp;x0,
                           int&nbsp;x1)
                             throws <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(x0 &lt; X &lt;= x1)</code>.

 The default implementation uses the identity
 <p><code>P(x0 &lt; X &lt;= x1) = P(X &lt;= x1) - P(X &lt;= x0)</code></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#cumulativeProbability(int, int)">cumulativeProbability</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>x0</code> - the exclusive lower bound</dd><dd><code>x1</code> - the inclusive upper bound</dd>
<dt><span class="strong">Returns:</span></dt><dd>the probability that a random variable with this distribution
 will take a value between <code>x0</code> and <code>x1</code>,
 excluding the lower and including the upper endpoint</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>x0 &gt; x1</code></dd></dl>
</li>
</ul>
<a name="inverseCumulativeProbability(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inverseCumulativeProbability</h4>
<pre>public&nbsp;int&nbsp;inverseCumulativeProbability(double&nbsp;p)
                                 throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Computes the quantile function of this distribution.
 For a random variable <code>X</code> distributed according to this distribution,
 the returned value is
 <ul>
 <li><code>inf{x in Z | P(X<=x) >= p}</code> for <code>0 &lt; p &lt;= 1</code>,</li>
 <li><code>inf{x in Z | P(X<=x) > 0}</code> for <code>p = 0</code>.</li>
 </ul>
 If the result exceeds the range of the data type <code>int</code>,
 then <code>Integer.MIN_VALUE</code> or <code>Integer.MAX_VALUE</code> is returned.

 The default implementation returns
 <ul>
 <li><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportLowerBound()"><code>IntegerDistribution.getSupportLowerBound()</code></a> for <code>p = 0</code>,</li>
 <li><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportUpperBound()"><code>IntegerDistribution.getSupportUpperBound()</code></a> for <code>p = 1</code>, and</li>
 <li><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#solveInverseCumulativeProbability(double, int, int)"><code>solveInverseCumulativeProbability(double, int, int)</code></a> for
     <code>0 &lt; p &lt; 1</code>.</li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the cumulative probability</dd>
<dt><span class="strong">Returns:</span></dt><dd>the smallest <code>p</code>-quantile of this distribution
 (largest 0-quantile for <code>p = 0</code>)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if <code>p &lt; 0</code> or <code>p &gt; 1</code></dd></dl>
</li>
</ul>
<a name="solveInverseCumulativeProbability(double, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>solveInverseCumulativeProbability</h4>
<pre>protected&nbsp;int&nbsp;solveInverseCumulativeProbability(double&nbsp;p,
                                    int&nbsp;lower,
                                    int&nbsp;upper)</pre>
<div class="block">This is a utility function used by <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#inverseCumulativeProbability(double)"><code>inverseCumulativeProbability(double)</code></a>. It assumes <code>0 &lt; p &lt; 1</code> and
 that the inverse cumulative probability lies in the bracket <code>(lower, upper]</code>. The implementation does simple bisection to find the
 smallest <code>p</code>-quantile <code>inf{x in Z | P(X<=x) >= p}</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the cumulative probability</dd><dd><code>lower</code> - a value satisfying <code>cumulativeProbability(lower) &lt; p</code></dd><dd><code>upper</code> - a value satisfying <code>p &lt;= cumulativeProbability(upper)</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the smallest <code>p</code>-quantile of this distribution</dd></dl>
</li>
</ul>
<a name="reseedRandomGenerator(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reseedRandomGenerator</h4>
<pre>public&nbsp;void&nbsp;reseedRandomGenerator(long&nbsp;seed)</pre>
<div class="block">Reseed the random generator used to generate samples.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#reseedRandomGenerator(long)">reseedRandomGenerator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the new seed</dd></dl>
</li>
</ul>
<a name="sample()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sample</h4>
<pre>public&nbsp;int&nbsp;sample()</pre>
<div class="block">Generate a random value sampled from this distribution.

 The default implementation uses the
 <a href="http://en.wikipedia.org/wiki/Inverse_transform_sampling">
 inversion method</a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#sample()">sample</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a random value</dd></dl>
</li>
</ul>
<a name="sample(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sample</h4>
<pre>public&nbsp;int[]&nbsp;sample(int&nbsp;sampleSize)</pre>
<div class="block">Generate a random sample from the distribution.

 The default implementation generates the sample by calling
 <a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html#sample()"><code>sample()</code></a> in a loop.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#sample(int)">sample</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html" title="interface in org.apache.commons.math3.distribution">IntegerDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>sampleSize</code> - the number of random values to generate</dd>
<dt><span class="strong">Returns:</span></dt><dd>an array representing the random sample</dd></dl>
</li>
</ul>
<a name="logProbability(int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>logProbability</h4>
<pre>public&nbsp;double&nbsp;logProbability(int&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according to
 this distribution, this method returns <code>log(P(X = x))</code>, where
 <code>log</code> is the natural logarithm. In other words, this method
 represents the logarithm of the probability mass function (PMF) for the
 distribution. Note that due to the floating point precision and
 under/overflow issues, this method will for some distributions be more
 precise and faster than computing the logarithm of
 <a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#probability(int)"><code>IntegerDistribution.probability(int)</code></a>.
 <p>
 The default implementation simply computes the logarithm of <code>probability(x)</code>.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PMF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the logarithm of the value of the probability mass function at <code>x</code></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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractIntegerDistribution.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 class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/distribution/AbstractMultivariateRealDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/AbstractIntegerDistribution.html" target="_top">Frames</a></li>
<li><a href="AbstractIntegerDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
