Package sim.util.distribution
Class Hyperbolic
java.lang.Object
sim.util.distribution.AbstractDistribution
sim.util.distribution.AbstractContinuousDistribution
sim.util.distribution.Hyperbolic
- All Implemented Interfaces:
Serializable
Hyperbolic distribution.
Static methods operate on a default uniform random number generator; they are synchronized.
Method: Non-Universal Rejection.
High performance implementation.
This is a port of hyplc.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
Valid parameter ranges: alpha > 0 and beta > 0.
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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleprotected doubleFields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator -
Constructor Summary
ConstructorsConstructorDescriptionHyperbolic(double alpha, double beta, MersenneTwisterFast randomGenerator) Constructs a Beta distribution. -
Method Summary
Modifier and TypeMethodDescriptiondoubleReturns a random number from the distribution.doublenextDouble(double alpha, double beta) Returns a hyperbolic distributed random number; bypasses the internal state.voidsetState(double alpha, double beta) Sets the parameters.toString()Returns a String representation of the receiver.Methods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, nextInt, setRandomGenerator
-
Field Details
-
alpha
protected double alpha -
beta
protected double beta -
a_setup
protected double a_setup -
b_setup
protected double b_setup -
x
protected double x -
u
protected double u -
v
protected double v -
e
protected double e -
hr
protected double hr -
hl
protected double hl -
s
protected double s -
pm
protected double pm -
pr
protected double pr -
samb
protected double samb -
pmr
protected double pmr -
mpa_1
protected double mpa_1 -
mmb_1
protected double mmb_1
-
-
Constructor Details
-
Hyperbolic
Constructs a Beta distribution.
-
-
Method Details
-
nextDouble
public double nextDouble()Returns a random number from the distribution.- Specified by:
nextDoublein classAbstractDistribution
-
nextDouble
public double nextDouble(double alpha, double beta) Returns a hyperbolic distributed random number; bypasses the internal state. -
setState
public void setState(double alpha, double beta) Sets the parameters. -
toString
Returns a String representation of the receiver.
-