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
1.6.1