14 lines
427 B
Text
14 lines
427 B
Text
fcn norm2{ // Box-Muller
|
|
const PI2=(0.0).pi*2;;
|
|
rnd:=(0.0).random.fp(1); // random number in [0,1), using partial application
|
|
r,a:=(-2.0*rnd().log()).sqrt(), PI2*rnd();
|
|
return(r*a.cos(), r*a.sin()); // z0,z1
|
|
}
|
|
const N=100000, BINS=12, SIG=3, SCALE=500;
|
|
var sum=0.0,sumSq=0.0, h=BINS.pump(List(),0); // (0,0,0,...)
|
|
fcn accum(v){
|
|
sum+=v;
|
|
sumSq+=v*v;
|
|
b:=(v + SIG)*BINS/SIG/2;
|
|
if(0<=b<BINS) h[b]+=1;
|
|
};
|