Package cern.jet.random
Class ExponentialPower
java.lang.Object
cern.colt.PersistentObject
cern.jet.random.AbstractDistribution
cern.jet.random.AbstractContinousDistribution
cern.jet.random.ExponentialPower
- All Implemented Interfaces:
DoubleFunction
,IntFunction
,Serializable
,Cloneable
Exponential Power distribution.
Static methods operate on a default uniform random number generator; they are synchronized.
Method: Non-universal rejection method for logconcave densities.
This is a port of epd.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
Valid parameter ranges: tau >= 1.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation:
L. Devroye (1986): Non-Uniform Random Variate Generation , Springer Verlag, New York.
- Version:
- 1.0, 09/24/99
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate double
protected static ExponentialPower
private double
protected double
private double
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
Constructor Summary
ConstructorsConstructorDescriptionExponentialPower
(double tau, RandomEngine randomGenerator) Constructs an Exponential Power distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Returns a random number from the distribution.double
nextDouble
(double tau) Returns a random number from the distribution; bypasses the internal state.void
setState
(double tau) Sets the distribution parameter.static double
staticNextDouble
(double tau) Returns a random number from the distribution.toString()
Returns a String representation of the receiver.private static void
xstaticSetRandomGenerator
(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt, setRandomGenerator
-
Field Details
-
tau
protected double tau -
s
private double s -
sm1
private double sm1 -
tau_set
private double tau_set
-
-
Constructor Details
-
ExponentialPower
Constructs an Exponential Power distribution. Example: tau=1.0.- Throws:
IllegalArgumentException
- if tau < 1.0.
-
-
Method Details
-
nextDouble
public double nextDouble()Returns a random number from the distribution.- Specified by:
nextDouble
in classAbstractDistribution
-
nextDouble
public double nextDouble(double tau) Returns a random number from the distribution; bypasses the internal state.- Throws:
IllegalArgumentException
- if tau < 1.0.
-
setState
public void setState(double tau) Sets the distribution parameter.- Throws:
IllegalArgumentException
- if tau < 1.0.
-
staticNextDouble
public static double staticNextDouble(double tau) Returns a random number from the distribution.- Throws:
IllegalArgumentException
- if tau < 1.0.
-
toString
Returns a String representation of the receiver. -
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator
- the new uniform random number generator to be shared.
-