using UnityEngine; namespace Voxus.Random { public class RandomGaussian : AbstractRandom { private float sigma; private float mu; public RandomGaussian(float sigma = 1f, float mu = 0f) { this.sigma = sigma; this.mu = mu; } public override float Get() { float num; float num3; do { num = 2f * (float)random.NextDouble() - 1f; float num2 = 2f * (float)random.NextDouble() - 1f; num3 = num * num + num2 * num2; } while (num3 >= 1f); num3 = Mathf.Sqrt(-2f * Mathf.Log(num3) / num3); return num * num3 * sigma + mu; } } }