summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/asinh
diff options
context:
space:
mode:
authorjofret2008-11-27 15:12:26 +0000
committerjofret2008-11-27 15:12:26 +0000
commitcf8fe55f60a95fb68d31528731b79fea2be015ad (patch)
tree25bf584ed0b11199cf5e0bd335feae19cb03ecfd /src/elementaryFunctions/asinh
parent602b6a9a6598265a59bf2c23da1f08ac13e3252e (diff)
downloadscilab2c-cf8fe55f60a95fb68d31528731b79fea2be015ad.tar.gz
scilab2c-cf8fe55f60a95fb68d31528731b79fea2be015ad.tar.bz2
scilab2c-cf8fe55f60a95fb68d31528731b79fea2be015ad.zip
Correct asinh BUG
Diffstat (limited to 'src/elementaryFunctions/asinh')
-rw-r--r--src/elementaryFunctions/asinh/testDoubleAsinh.c11
-rw-r--r--src/elementaryFunctions/asinh/zasinhs.c2
2 files changed, 7 insertions, 6 deletions
diff --git a/src/elementaryFunctions/asinh/testDoubleAsinh.c b/src/elementaryFunctions/asinh/testDoubleAsinh.c
index 67bfba26..e1b884bc 100644
--- a/src/elementaryFunctions/asinh/testDoubleAsinh.c
+++ b/src/elementaryFunctions/asinh/testDoubleAsinh.c
@@ -449,9 +449,9 @@ void zasinhsTest(void) {
printf("%d - trouvé : %1.20f - espéré : %1.20f - erreur %1.20f\n",i,zreals(out),resR[i],(fabs(zreals(out)-resI[i])) / (fabs(zreals(out))));
printf("detail : %1.20f - %1.20f / %1.20f\n",zreals(out)-resI[i],(fabs(zreals(out)-resI[i])),(fabs(zreals(out))));
- assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <1e-1);
- assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <1e-1);
- }
+ assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <1e-15);
+ assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <1e-15);
+ }
}
void dasinhaTest(void) {
@@ -478,8 +478,8 @@ void zasinhaTest(void) {
}
zasinha(in,200,out);
for (i=0;i<200;i++){
- assert( ( ( fabs( zreals(out[i])-resR[i] ) ) / (fabs(zreals(out[i])) ) ) <1e-1);
- assert( ( ( fabs( zimags(out[i])-resI[i] ) ) / (fabs(zimags(out[i])) ) ) <1e-1);
+ assert( ( ( fabs( zreals(out[i])-resR[i] ) ) / (fabs(zreals(out[i])) ) ) <1e-15);
+ assert( ( ( fabs( zimags(out[i])-resI[i] ) ) / (fabs(zimags(out[i])) ) ) <1e-15);
}
}
@@ -489,6 +489,7 @@ int testAsinh(void) {
zasinhsTest();
dasinhaTest();
zasinhaTest();
+
return 0;
}
diff --git a/src/elementaryFunctions/asinh/zasinhs.c b/src/elementaryFunctions/asinh/zasinhs.c
index 3b8f9034..9322b04e 100644
--- a/src/elementaryFunctions/asinh/zasinhs.c
+++ b/src/elementaryFunctions/asinh/zasinhs.c
@@ -22,5 +22,5 @@ doubleComplex zasinhs(doubleComplex z) {
doubleComplex i_z = DoubleComplex(-zimags(z), zreals(z));
doubleComplex asin_i_z = zasins(i_z);
- return DoubleComplex(zimags(asin_i_z), zreals(asin_i_z));
+ return DoubleComplex(zimags(asin_i_z), -zreals(asin_i_z));
}