public abstract class Generator
extends java.lang.Object
Constructor and Description |
---|
Generator() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.String |
getName()
Zwraca nazwę generatora
|
protected abstract double |
next()
Zwraca kolejną liczbę z przedziału [0..1).
|
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.
|
protected abstract double next()
public abstract java.lang.String getName()
public boolean nextBoolean()
public void nextBytes(byte[] bytes)
bytes
- tablica bajtów do wypełnienia wartościami losowymipublic double nextDouble()
public float nextFloat()
public double nextGaussian()
public double nextGaussian(double mi, double sigma)
mi
- wartość średniasigma
- odchylenie standardowepublic double nextExponential(double lambda)
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 zdarzeniamipublic int nextInt()
public int nextInt(int n) throws java.lang.IllegalArgumentException
n
- prawa granica przedziału wartości generowanych liczb (nie zawiera się w przedziale)java.lang.IllegalArgumentException
- gdy n<=0public long nextLong()
public double uniformToGaussian(double mi, double sigma, double uniformNumber1, double uniformNumber2)
mi
- wartość średniasigma
- odchylenie standardoweuniformNumber1
- liczba o rozkładzie równomiernym różna od 0, jeśli równa 0 to losowana jest nowa za pomocą generatora MZTuniformNumber2
- liczba o rozkładzie równomiernympublic double uniformToExponential(double lambda, double uniformNumber)
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 zdarzeniamiuniformNumber
- liczba o rozkładzie równomiernym różna od 0, jeśli równa 0 to losowana jest nowa za pomocą generatora MZT