37 #include <visp3/core/vpGaussRand.h>
46 double vpGaussRand::gaussianDraw()
49 m_AlreadyDone =
false;
54 double v1 = 0, v2 = 0, rsq = 0;
56 v1 = 2 * m_rng.
uniform(0.0, 1.0) - 1;
57 v2 = 2 * m_rng.
uniform(0.0, 1.0) - 1;
58 rsq = v1 * v1 + v2 * v2;
61 double fac = sqrt(-2 * log(rsq) / rsq);
int uniform(int a, int b)