[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gsl] Bugs on GSL Extension Fresnel
From: |
Toshiro Ohsaki |
Subject: |
[Bug-gsl] Bugs on GSL Extension Fresnel |
Date: |
Wed, 26 Nov 2008 21:07:02 +0900 |
Dear staff of GNU
I found bugs on GSL Extensions/Applications Fresnel by Andrew Steiner.
This program does not return a correct value, if x is negative.
The original function fresnel_c is coded as,
double fresnel_c(double x)
{
double xx = x*x*pi_2;
double ret_val;
if(xx<=8.0)
ret_val = fresnel_cos_0_8(xx);
else
ret_val = fresnel_cos_8_inf(xx);
return (x<0.0) ? -ret_val : ret_val;
}
.
I think it should be coded as,
double fresnel_c(double x)
{
double xx = x*x*pi_2;
double ret_val;
double sign;
if(xx < 0.0){
xx*=-1.0;
sign=-1.0;
}
else{
sign=1.0;
}
if(xx<=8.0)
ret_val = fresnel_cos_0_8(xx);
else
ret_val = fresnel_cos_8_inf(xx);
ret_val*=sign;
return(ret_val);
}
.
The same correction should be done on the function fresnel_s.
Sincerely yours,
Toshiro Ohsaki
from Tokyo Japan.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-gsl] Bugs on GSL Extension Fresnel,
Toshiro Ohsaki <=