public class UniformIntegerDistribution extends AbstractIntegerDistribution
random, randomData
Constructor and Description |
---|
UniformIntegerDistribution(int lower,
int upper)
Creates a new uniform integer distribution using the given lower and
upper bounds (both inclusive).
|
UniformIntegerDistribution(RandomGenerator rng,
int lower,
int upper)
Creates a new uniform integer distribution using the given lower and
upper bounds (both inclusive).
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this
distribution.
|
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this
distribution.
|
int |
getSupportLowerBound()
Access the lower bound of the support.
|
int |
getSupportUpperBound()
Access the upper bound of the support.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is
connected, i.e.
|
double |
probability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X = x) . |
int |
sample()
Generate a random value sampled from this distribution.
|
cumulativeProbability, inverseCumulativeProbability, logProbability, reseedRandomGenerator, sample, solveInverseCumulativeProbability
public UniformIntegerDistribution(int lower, int upper) throws NumberIsTooLargeException
Note: this constructor will implicitly create an instance of
Well19937c
as random generator to be used for sampling only (see
sample()
and AbstractIntegerDistribution.sample(int)
). In case no sampling is
needed for the created distribution, it is advised to pass null
as random generator via the appropriate constructors to avoid the
additional initialisation overhead.
lower
- Lower bound (inclusive) of this distribution.upper
- Upper bound (inclusive) of this distribution.NumberIsTooLargeException
- if lower >= upper
.public UniformIntegerDistribution(RandomGenerator rng, int lower, int upper) throws NumberIsTooLargeException
rng
- Random number generator.lower
- Lower bound (inclusive) of this distribution.upper
- Upper bound (inclusive) of this distribution.NumberIsTooLargeException
- if lower > upper
.public double probability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X = x)
. In other
words, this method represents the probability mass function (PMF)
for the distribution.x
- the point at which the PMF is evaluatedx
public double cumulativeProbability(int x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.x
- the point at which the CDF is evaluatedx
public double getNumericalMean()
lower
and upper bound upper
, the mean is
0.5 * (lower + upper)
.Double.NaN
if it is not definedpublic double getNumericalVariance()
lower
and upper bound upper
, and
n = upper - lower + 1
, the variance is (n^2 - 1) / 12
.Double.POSITIVE_INFINITY
or
Double.NaN
if it is not defined)public int getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in Z | P(X <= x) > 0}
.
public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
public boolean isSupportConnected()
true
public int sample()
sample
in interface IntegerDistribution
sample
in class AbstractIntegerDistribution
Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.