3 @@ -80,7 +80,7 @@ float box_muller(void) {
4 fprintf(stderr, "pdf box_muller() rand() error\n");
7 - w = sqrt( (-2.0 * log( w ) ) / w );
8 + w = sqrt( (-2.0 * logf( w ) ) / w );
12 @@ -93,8 +93,8 @@ float normal(float mean, float variance)
15 float lognormal(float mu, float sigma) {
16 - float phi = sqrt((mu * mu) + (sigma * sigma));
17 - float mu_prime = log(((mu * mu)/phi));
18 - float sigma_prime = sqrt(log((phi * phi)/(mu * mu)));
19 - return (exp(normal(mu_prime,sigma_prime)));
20 + float phi = sqrtf((mu * mu) + (sigma * sigma));
21 + float mu_prime = logf(((mu * mu)/phi));
22 + float sigma_prime = sqrtf(logf((phi * phi)/(mu * mu)));
23 + return (expf(normal(mu_prime,sigma_prime)));