ボックスミューラー法で出されるノイズ。
式はのってるが、
do{
do{
u1=(float)rand()/(RAND_MAX);
}while(u1==0.0);
do{
u2=(float)rand()/(RAND_MAX);
}while(u2==0.0);
a->r = sqrt(-2.0*log(u1))*cos(2.0*M_PI*u2); a->i = sqrt(-2.0*log(u1))*sin(2.0*M_PI*u2);
となるが、
このdo - while文は それぞれがRAND_MAXになったときに
0にならないようにするため。
0にならないようにするため。
もしくはRAND_MAX+1としてもいいか。