You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
811 B

  1. --- a/src/pdfs.c
  2. +++ b/src/pdfs.c
  3. @@ -80,7 +80,7 @@ float box_muller(void) {
  4. fprintf(stderr, "pdf box_muller() rand() error\n");
  5. return 0;
  6. } else {
  7. - w = sqrt( (-2.0 * log( w ) ) / w );
  8. + w = sqrt( (-2.0 * logf( w ) ) / w );
  9. y1 = x1 * w;
  10. y2 = x2 * w;
  11. }
  12. @@ -93,8 +93,8 @@ float normal(float mean, float variance)
  13. }
  14. float lognormal(float mu, float sigma) {
  15. - float phi = sqrt((mu * mu) + (sigma * sigma));
  16. - float mu_prime = log(((mu * mu)/phi));
  17. - float sigma_prime = sqrt(log((phi * phi)/(mu * mu)));
  18. - return (exp(normal(mu_prime,sigma_prime)));
  19. + float phi = sqrtf((mu * mu) + (sigma * sigma));
  20. + float mu_prime = logf(((mu * mu)/phi));
  21. + float sigma_prime = sqrtf(logf((phi * phi)/(mu * mu)));
  22. + return (expf(normal(mu_prime,sigma_prime)));
  23. }