cern.jet.random
Class VonMises

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.VonMises
All Implemented Interfaces:
DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable

public class VonMises
extends AbstractContinousDistribution

Von Mises distribution.

Valid parameter ranges: k > 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: Acceptance Rejection.
This is a port of mwc.c from the C-RAND / WIN-RAND library. C-RAND's implementation, in turn, is based upon

D.J. Best, N.I. Fisher (1979): Efficient simulation of the von Mises distribution, Appl. Statist. 28, 152-157.

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

Field Summary
protected  double my_k
           
protected static VonMises shared
           
 
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
VonMises(double freedom, RandomEngine randomGenerator)
          Constructs a Von Mises distribution.
 
Method Summary
 double nextDouble()
          Returns a random number from the distribution.
 double nextDouble(double k)
          Returns a random number from the distribution; bypasses the internal state.
 void setState(double k)
          Sets the distribution parameter.
static double staticNextDouble(double freedom)
          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

my_k

protected double my_k

shared

protected static VonMises shared
Constructor Detail

VonMises

public VonMises(double freedom,
                RandomEngine randomGenerator)
Constructs a Von Mises distribution. Example: k=1.0.

Throws:
java.lang.IllegalArgumentException - if k <= 0.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 k)
Returns a random number from the distribution; bypasses the internal state.

Throws:
java.lang.IllegalArgumentException - if k <= 0.0.

setState

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

Throws:
java.lang.IllegalArgumentException - if k <= 0.0.

staticNextDouble

public static double staticNextDouble(double freedom)
Returns a random number from the distribution.

Throws:
java.lang.IllegalArgumentException - if k <= 0.0.

toString

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

Overrides:
toString in class java.lang.Object