Marsaglia's random number generator (same as UKQCD). More...
#include <mdp_prng.h>
Public Member Functions | |
float | plain () |
return a uniform random number in (0,1) | |
void | initialize (mdp_int ijkl) |
mdp_prng (mdp_int k=0) | |
float | gaussian (float sigma=1) |
returns a gaussian random number | |
double | distribution (float(*fp)(float, void *), void *a=0) |
draws a random float in (0,1) from a distribution using accept-reject | |
mdp_matrix | SU (int n) |
returns a random SU(n) matrix using Cabibbo-Marinari | |
void | skip (int n) |
skip n numbers from the sequence |
Marsaglia's random number generator (same as UKQCD).
You should not instantiate this class because:
/// // print a uniform number in (0,1) /// cout << mdp_random.plain() << endl; /// // print a gaussian number /// cout << mdp_random.gaussian() << endl; /// // print a random SU(10) matrix /// cout << mdp_random.SU(10) << endl; ///
mdp_prng::mdp_prng | ( | mdp_int | k = 0 |
) | [inline] |
double mdp_prng::distribution | ( | float(*)(float, void *) | fp, | |
void * | a = 0 | |||
) | [inline] |
draws a random float in (0,1) from a distribution using accept-reject
float mdp_prng::gaussian | ( | float | sigma = 1 |
) | [inline] |
returns a gaussian random number
void mdp_prng::initialize | ( | mdp_int | ijkl | ) | [inline] |
float mdp_prng::plain | ( | ) | [inline] |
return a uniform random number in (0,1)
void mdp_prng::skip | ( | int | n | ) | [inline] |
skip n numbers from the sequence
mdp_matrix mdp_prng::SU | ( | int | n | ) | [inline] |
returns a random SU(n) matrix using Cabibbo-Marinari