using System; namespace Masuit.Tools; public static class RandomExtensions { /// /// 生成真正的随机数 /// /// /// /// public static int StrictNext(this Random r, int maxValue = int.MaxValue) { return new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0)).Next(maxValue); } /// /// 产生正态分布的随机数 /// /// /// 均值 /// 方差 /// public static double NextGauss(this Random rand, double mean, double stdDev) { double u1 = 1.0 - rand.NextDouble(); double u2 = 1.0 - rand.NextDouble(); double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) * Math.Sin(2.0 * Math.PI * u2); return mean + stdDev * randStdNormal; } }