#include <Random.h>
Diagramma delle classi per Random
Membri pubblici | |
Random (const float &sr=44100, const bool &seed=true) | |
Costruttore. | |
virtual | ~Random () |
Distruttore. | |
void | setRange (const float &range=1) |
Setta il limite di estrazione dei numeri. | |
void | setSeed (const bool &seed) |
Setta l'innesto del generatore. | |
void | setPolar (const bool &polariti=false) |
Setta il tipo di generatore per outSig (). | |
void | setSigma (const float &sigma) |
Setta l'argomento sigma per la distribuzione gaussiana. | |
virtual float | outSig () |
Calcola il campione (sample) e ritorna il valore riscalato sul "range". | |
float | rangeRand (const float &min=0, const float &max=1) |
Calcola il campione (sample) e ritorna un valore compreso tra "min e max". | |
float | gaussRand () |
Generatore randomico a distribuzione Gaussiana. | |
float | uniRand (const float &range) |
Generatore unipolare. | |
float | biRand (const float &range) |
Generatore bipolare. | |
Attributi protetti | |
float | _range |
float | _sigma |
by Alessandro Petrolati 2006. www.alessandro-petrolati.com ale_petrolati@alice.it
Definizione alla linea 20 del file Random.h.
Random::Random | ( | const float & | sr = 44100 , |
|
const bool & | seed = true | |||
) |
Costruttore.
Inizializza l'oggetto con un fattore di campionamento (Sampling Rate). Il valore espresso deve essere supportato dall' hardware device. Il parametro "seed" se "true" (default), inizializza l'oggetto con il valore del tempo corrente, se "false" il generatore assume lo stesso valore, quindi per ogni istanziazione della classe, l'oggetto, ritorna la stessa serie di valori.
float Random::biRand | ( | const float & | range | ) |
Generatore bipolare.
Equivale alla funzione membro outSig() configurata "true" mediante setPolar (true). Ritorna un valore "psuedo-random" assoluto BIPOLARE trà -range e +range.
float Random::gaussRand | ( | ) |
Generatore randomico a distribuzione Gaussiana.
Gaussian distribution random number generator. Polar (Box-Mueller) method; See Knuth v2, 3rd ed, p122.
virtual float Random::outSig | ( | ) | [virtual] |
Calcola il campione (sample) e ritorna il valore riscalato sul "range".
Per ogni chiamata della funzione viene generato un numero casuale, il numero è rimappato sul "range" in funzione del parametro unipolare o bipolare.
Reimplementata in HoldRandom, e InterpRandom.
float Random::rangeRand | ( | const float & | min = 0 , |
|
const float & | max = 1 | |||
) |
Calcola il campione (sample) e ritorna un valore compreso tra "min e max".
Per ogni chiamata della funzione viene generato un numero casuale, il numero è uniformemente distribuito tra il valore minimo e massimo.
void Random::setPolar | ( | const bool & | polariti = false |
) |
Setta il tipo di generatore per outSig ().
Se "false" (default) ritorna un valore "psuedo-random" assoluto UNIPOLARE trà 0 e +range. Se "true" ritorna un valore BIPOLARE, distribuito uniformemente tra -range e il +range.
void Random::setRange | ( | const float & | range = 1 |
) |
Setta il limite di estrazione dei numeri.
Quando unipolare, la soglia numerica spazia da 0 a +range, se bipolare, da -range a +range
void Random::setSigma | ( | const float & | sigma | ) |
Setta l'argomento sigma per la distribuzione gaussiana.
Quando sigma == 1 ritorna una distribuzione uniforme gaussiana. Polar (Box-Mueller) method; See Knuth v2, 3rd ed, p122
float Random::uniRand | ( | const float & | range | ) |
Generatore unipolare.
Equivale alla funzione membro outSig() configurata "false" (default) mediante setPolar (false). Ritorna un valore "psuedo-random" assoluto UNIPOLARE trà 0 e +range.