PeterO.RandomGenerator.Normal C# (CSharp) Method

Normal() public method

Generates a normally-distributed number with mean 0 and standard deviation 1.
public Normal ( ) : double
return double
        public double Normal()
        {
            lock (this.valueNormalLock) {
            if (this.valueHaveLastNormal) {
              this.valueHaveLastNormal = false;
              return this.valueLastNormal;
            }
              }
              double x = this.NonZeroUniform();
              double y = this.Uniform();
              double s = Math.Sqrt(-2 * Math.Log(x));
              double t = 2 * Math.PI * y;
              double otherNormal = s * Math.Sin(t);
              lock (this.valueNormalLock) {
            this.valueLastNormal = otherNormal;
            this.valueHaveLastNormal = true;
              }
              return s * Math.Cos(t);
        }

Same methods

RandomGenerator::Normal ( double mean, double sd ) : double