palio.modules.mth
Class Generator

java.lang.Object
  extended by palio.modules.mth.Generator
Direct Known Subclasses:
RandomMZT, RandomQuantis, RandomQuantis2

public abstract class Generator
extends java.lang.Object


Constructor Summary
Generator()
           
 
Method Summary
abstract  java.lang.String getName()
          Zwraca nazwę generatora
 boolean nextBoolean()
          Zwraca wartości true i false z prawdopodobieństwem 50/50.
 void nextBytes(byte[] bytes)
          Wypełnia podaną tablice bajtów wartościami losowymi.
 double nextDouble()
          Generuje liczbę o rozkładzie równoiernym na przedziale [0,1).
 double nextExponential(double lambda)
          Generuje liczbę o rozkładzie wykładniczym z zadanym parametrem.
 float nextFloat()
          Generuje liczbę o rozkładzie równoiernym na przedziale [0,1).
 double nextGaussian()
          Generuje liczbę o rozkładzie normalnym (Gaussa z wartością średnią 0 i odchyleniem standardowym 1).
 double nextGaussian(double mi, double sigma)
          Generuje liczbę o rozkładzie Gaussa z wartością średnią mi i odchyleniem standardowym sigma.
 int nextInt()
          Generuje liczbę typu int.
 int nextInt(int n)
          Generuje liczbę typu int z przedziału [0,n).
 long nextLong()
          Generuje liczbę typu long.
 double uniformToExponential(double lambda, double uniformNumber)
          Trasformuje liczbę o rozkładzie równomiernym w liczbę o rozkładzie wykładniczym z zadanym parametrem.
 double uniformToGaussian(double mi, double sigma, double uniformNumber1, double uniformNumber2)
          Trasformuje dwie liczby o rozkładzie równomiernym w liczbę o rozkładzie Gaussa z zadanymi parametrami.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Generator

public Generator()
Method Detail

getName

public abstract java.lang.String getName()
Zwraca nazwę generatora


nextBoolean

public boolean nextBoolean()
Zwraca wartości true i false z prawdopodobieństwem 50/50.

Returns:
wartość losowa Boolean.

nextBytes

public void nextBytes(byte[] bytes)
Wypełnia podaną tablice bajtów wartościami losowymi.

Parameters:
bytes - tablica bajtów do wypełnienia wartościami losowymi

nextDouble

public double nextDouble()
Generuje liczbę o rozkładzie równoiernym na przedziale [0,1).

Returns:
liczba o rozkładzie równoiernym na przedziale [0,1)

nextFloat

public float nextFloat()
Generuje liczbę o rozkładzie równoiernym na przedziale [0,1).

Returns:
liczba o rozkładzie równoiernym na przedziale [0,1)

nextGaussian

public double nextGaussian()
Generuje liczbę o rozkładzie normalnym (Gaussa z wartością średnią 0 i odchyleniem standardowym 1).

Returns:
liczba o rozkładzie normalnym N(0,1)

nextGaussian

public double nextGaussian(double mi,
                           double sigma)
Generuje liczbę o rozkładzie Gaussa z wartością średnią mi i odchyleniem standardowym sigma.

Parameters:
mi - wartość średnia
sigma - odchylenie standardowe
Returns:
liczba o rozkładzie gaussa z wartością średnią mi i odchyleniem standardowym sigma

nextExponential

public double nextExponential(double lambda)
Generuje liczbę o rozkładzie wykładniczym z zadanym parametrem.

Parameters:
lambda - parametr rozkładu dla zapisu funkcji gęstości f(x)=lambda*exp(-lambda*x), wtedy lambda = częstotliwość zdarzeń w jednostce czasu, 1/lambda = średni czas pomiędzy zdarzeniami
Returns:
liczba o rozkładzie wykładniczym z zadanym parametrem

nextInt

public int nextInt()
Generuje liczbę typu int.

Returns:
liczba o rozkładzie równomiernym w zakresie [-2^31, 2^31-1)

nextInt

public int nextInt(int n)
            throws java.lang.IllegalArgumentException
Generuje liczbę typu int z przedziału [0,n).

Parameters:
n - prawa granica przedziału wartości generowanych liczb (nie zawiera się w przedziale)
Returns:
liczba o rozkładzie równomiernym w zakresie [0, n)
Throws:
java.lang.IllegalArgumentException - gdy n<=0

nextLong

public long nextLong()
Generuje liczbę typu long.

Returns:
liczba o rozkładzie równomiernym w zakresie [-2^63, 2^63-1)

uniformToGaussian

public double uniformToGaussian(double mi,
                                double sigma,
                                double uniformNumber1,
                                double uniformNumber2)
Trasformuje dwie liczby o rozkładzie równomiernym w liczbę o rozkładzie Gaussa z zadanymi parametrami.

Parameters:
mi - wartość średnia
sigma - odchylenie standardowe
uniformNumber1 - liczba o rozkładzie równomiernym różna od 0, jeśli równa 0 to losowana jest nowa za pomocą generatora MZT
uniformNumber2 - liczba o rozkładzie równomiernym
Returns:
liczba o rozkładzie Gaussa(mi, sigma)

uniformToExponential

public double uniformToExponential(double lambda,
                                   double uniformNumber)
Trasformuje liczbę o rozkładzie równomiernym w liczbę o rozkładzie wykładniczym z zadanym parametrem.

Parameters:
lambda - parametr rozkładu dla zapisu funkcji gęstości f(x)=lambda*exp(-lambda*x), wtedy lambda = częstotliwość zdarzeń w jednostce czasu, 1/lambda = średni czas pomiędzy zdarzeniami
uniformNumber - liczba o rozkładzie równomiernym różna od 0, jeśli równa 0 to losowana jest nowa za pomocą generatora MZT
Returns:
liczba o rozkładzie wykładniczym z paramtrem lambda