cern.jet.random
Class Hyperbolic

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.jet.random.AbstractDistribution
          extended by cern.jet.random.AbstractContinousDistribution
              extended by cern.jet.random.Hyperbolic
All Implemented Interfaces:
DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable

public class Hyperbolic
extends AbstractContinousDistribution

Hyperbolic distribution.

Valid parameter ranges: alpha > 0 and beta > 0.

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

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

Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
protected  double a_setup
           
protected  double alpha
           
protected  double b_setup
           
protected  double beta
           
protected  double e
           
protected  double hl
           
protected  double hr
           
protected  double mmb_1
           
protected  double mpa_1
           
protected  double pm
           
protected  double pmr
           
protected  double pr
           
protected  double s
           
protected  double samb
           
protected static Hyperbolic shared
           
protected  double u
           
protected  double v
           
protected  double x
           
 
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
Hyperbolic(double alpha, double beta, RandomEngine randomGenerator)
          Constructs a Beta distribution.
 
Method Summary
 double nextDouble()
          Returns a random number from the distribution.
 double nextDouble(double alpha, double beta)
          Returns a hyperbolic distributed random number; bypasses the internal state.
 void setState(double alpha, double beta)
          Sets the parameters.
static double staticNextDouble(double alpha, double beta)
          Returns a random number from the distribution.
 java.lang.String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt, setRandomGenerator
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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

shared

protected static Hyperbolic shared
Constructor Detail

Hyperbolic

public Hyperbolic(double alpha,
                  double beta,
                  RandomEngine randomGenerator)
Constructs a Beta distribution.

Method Detail

nextDouble

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

Specified by:
nextDouble in class AbstractDistribution

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.


staticNextDouble

public static double staticNextDouble(double alpha,
                                      double beta)
Returns a random number from the distribution.


toString

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

Overrides:
toString in class java.lang.Object