ExpGaussRand
From Odwiki
This is one of the odWiki CustomExpressions for Houdini which will return a random number in a GaussianDistribution
float
ExpGaussRand( idum )
{
idum = idum * -1;
v1 = 2.0 * rand(idum) - 1.0;
idum = idum + .01;
v2 = 2.0 * rand(idum) - 1.0;
idum = idum + .01;
rsq = v1 * v1 + v2 * v2;
while (rsq >= 1.0 || rsq == 0.0) {
v1 = 2.0 * rand(idum) - 1.0;
idum = idum + .01;
v2 = 2.0 * rand(idum) - 1.0;
idum = idum + .01;
rsq = v1 * v1 + v2 * v2;
}
fac = sqrt(-2.0 * log(rsq) / rsq);
return v2 * fac;
}



