summaryrefslogtreecommitdiff
path: root/GameCode/Extensions.cs
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;
	}
}