sim.util.distribution
Class ExponentialPower

java.lang.Object
  extended by sim.util.distribution.AbstractDistribution
      extended by sim.util.distribution.AbstractContinousDistribution
          extended by sim.util.distribution.ExponentialPower
All Implemented Interfaces:
java.io.Serializable

public class ExponentialPower
extends AbstractContinousDistribution

Exponential Power distribution.

Valid parameter ranges: tau >= 1.

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: 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

L. Devroye (1986): Non-Uniform Random Variate Generation , Springer Verlag, New York.

See Also:
Serialized Form

Field Summary
protected  double tau
           
 
Fields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator
 
Constructor Summary
ExponentialPower(double tau, MersenneTwisterFast randomGenerator)
          Constructs an Exponential Power distribution.
 
Method Summary
 double nextDouble()
          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.
 java.lang.String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, nextInt, setRandomGenerator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tau

protected double tau
Constructor Detail

ExponentialPower

public ExponentialPower(double tau,
                        MersenneTwisterFast randomGenerator)
Constructs an Exponential Power distribution. Example: tau=1.0.

Throws:
java.lang.IllegalArgumentException - if tau < 1.0.
Method Detail

nextDouble

public double nextDouble()
Returns a random number from the distribution.

Specified by:
nextDouble in class AbstractDistribution

nextDouble

public double nextDouble(double tau)
Returns a random number from the distribution; bypasses the internal state.

Throws:
java.lang.IllegalArgumentException - if tau < 1.0.

setState

public void setState(double tau)
Sets the distribution parameter.

Throws:
java.lang.IllegalArgumentException - if tau < 1.0.

toString

public java.lang.String toString()
Returns a String representation of the receiver.

Overrides:
toString in class java.lang.Object