14 lines
286 B
Text
14 lines
286 B
Text
GEN
|
|
rnormal(long prec)
|
|
{
|
|
pari_sp ltop = avma;
|
|
GEN u1, u2, left, right, ret;
|
|
u1 = randomr(prec);
|
|
u2 = randomr(prec);
|
|
left = sqrtr_abs(shiftr(mplog(u1), 1));
|
|
right = mpcos(mulrr(shiftr(mppi(prec), 1), u2));
|
|
|
|
ret = mulrr(left, right);
|
|
ret = gerepileupto(ltop, ret);
|
|
return ret;
|
|
}
|