return -1;
}
}
+ random->buffer=NULL;
random->buffer=malloc(RAND_BUFSIZE*sizeof(unsigned int));
if(random->buffer==NULL) {
perror("malloc random buffer");
if(random->buffer) free(random->buffer);
if(random->fd) close(random->fd);
- if(random->logfd) close(random->logfd);
+ if(random->logfd>2) close(random->logfd); // could be stdo/e
return 0;
}
return random->gauss;
}
+ a=0; b=0;
w=0;
while((w>=1.0)||(w==0.0)) {
a=-2.0*rand_get_double(random)+1.0;