Package cern.jet.random
Class Zeta
- java.lang.Object
-
- All Implemented Interfaces:
DoubleFunction
,IntFunction
,java.io.Serializable
,java.lang.Cloneable
public class Zeta extends AbstractDiscreteDistribution
Zeta distribution.Valid parameter ranges: ro > 0 and pk >= 0.
- If either ro > 100 or k > 10000 numerical problems in computing the theoretical moments arise, therefore ro <= 100 and k <= 10000 are recommended.
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
- Static methods operate on a default uniform random number generator; they are synchronized.
Implementation:
- Method: Acceptance/Rejection. High performance implementation.
- This is a port and adaption of Zeta.c from the C-RAND / WIN-RAND library. C-RAND's implementation, in turn, is based upon
J. Dagpunar (1988): Principles of Random Variate Generation, Clarendon Press, Oxford.
- Version:
- 1.0, 09/24/99
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected double
c
protected double
d
protected double
maxlongint
protected double
pk
protected double
pk_prev
protected double
ro
protected double
ro_prev
protected static Zeta
shared
-
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
-
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
-
Constructor Summary
Constructors Constructor Description Zeta(double ro, double pk, RandomEngine randomGenerator)
Constructs a Zeta distribution.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
generateZeta(double ro, double pk, RandomEngine randomGenerator)
Returns a zeta distributed random number.int
nextInt()
Returns a random number from the distribution.void
setState(double ro, double pk)
Sets the parameters.static int
staticNextInt(double ro, double pk)
Returns a random number from the distribution.java.lang.String
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.AbstractDiscreteDistribution
nextDouble
-
Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, setRandomGenerator
-
-
-
-
Field Detail
-
ro
protected double ro
-
pk
protected double pk
-
c
protected double c
-
d
protected double d
-
ro_prev
protected double ro_prev
-
pk_prev
protected double pk_prev
-
maxlongint
protected double maxlongint
-
shared
protected static Zeta shared
-
-
Constructor Detail
-
Zeta
public Zeta(double ro, double pk, RandomEngine randomGenerator)
Constructs a Zeta distribution.
-
-
Method Detail
-
generateZeta
protected long generateZeta(double ro, double pk, RandomEngine randomGenerator)
Returns a zeta distributed random number.
-
nextInt
public int nextInt()
Returns a random number from the distribution.- Specified by:
nextInt
in classAbstractDiscreteDistribution
-
setState
public void setState(double ro, double pk)
Sets the parameters.
-
staticNextInt
public static int staticNextInt(double ro, double pk)
Returns a random number from the distribution.
-
toString
public java.lang.String toString()
Returns a String representation of the receiver.- Overrides:
toString
in classjava.lang.Object
-
xstaticSetRandomGenerator
private static void xstaticSetRandomGenerator(RandomEngine randomGenerator)
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator
- the new uniform random number generator to be shared.
-
-