|
rnormal()={
|
|
my(pr=32*ceil(default(realprecision)*log(10)/log(4294967296)),u1=random(2^pr)*1.>>pr,u2=random(2^pr)*1.>>pr);
|
|
sqrt(-2*log(u1))*cos(2*Pi*u1)
|
|
\\ Could easily be extended with a second normal at very little cost.
|
|
};
|
|
vector(1000,unused,rnormal()/2+1)
|