// Gaussian random numbers using Box-Mueller procedure; // See S. Brandt, Datenanalyse, p 90. // G. Cowan, S. George. #include "random.h" #include float GaussRan(int* SeedPtr){ float rsq, v1, v2; do { v1 = 2.0 * random(*SeedPtr) - 1.0; v2 = 2.0 * random(*SeedPtr) - 1.0; rsq = v1*v1 + v2*v2; } while (rsq > 1.0); return v1 * sqrt(-2.0*log(rsq)/rsq); }