blob: 41040bcab850efcb93fa55cfd6ec7038640aef6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
using System;
public static class Extensions
{
public static double NextGaussianDouble(this Random r)
{
double num;
double num3;
do
{
num = 2.0 * r.NextDouble() - 1.0;
double num2 = 2.0 * r.NextDouble() - 1.0;
num3 = num * num + num2 * num2;
}
while (num3 >= 1.0);
double num4 = Math.Sqrt(-2.0 * Math.Log(num3) / num3);
return num * num4;
}
}
|