git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7290 8c9fc860-2736-0410-a75d-ab315db34111
@@ -98,7 +98,7 @@ TYPE
PROCEDURE Gaussian*(): REAL; (*generates a normal distribution with mean 0, variance 1 using the Box-Muller Transform*)
VAR
- x1,x2,w,y1,y2: REAL;
+ x1,x2,w,y1: REAL;
BEGIN
REPEAT
x1:=2.0*Uniform()-1;
@@ -147,6 +147,22 @@ TYPE
BEGIN {EXCLUSIVE}
RETURN r.Exp(mu)
END Exp;
+
+ PROCEDURE Gaussian*(): REAL; (*generates a normal distribution with mean 0, variance 1 using the Box-Muller Transform*)
+ VAR
+ BEGIN {EXCLUSIVE}
+ REPEAT
+ x1:=2.0*Uniform()-1;
+ x2:=2.0*Uniform()-1;
+ w:=x1*x1+x2*x2;
+ UNTIL w<1;
+ w:=Math.sqrt( (-2.0* Math.ln(w) ) /w);
+ y1:=x1*w;
+ (*y2:=x2*w*)
+ RETURN y1;
+ END Gaussian;
END Sequence;