summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions')
-rw-r--r--src/elementaryFunctions/atanh/testDoubleAtanh.c4
-rw-r--r--src/elementaryFunctions/cosh/testDoubleCosh.c13
-rw-r--r--src/elementaryFunctions/interfaces/int_atan.h30
-rw-r--r--src/elementaryFunctions/sinh/testDoubleSinh.c20
4 files changed, 46 insertions, 21 deletions
diff --git a/src/elementaryFunctions/atanh/testDoubleAtanh.c b/src/elementaryFunctions/atanh/testDoubleAtanh.c
index a876ed33..62f383fe 100644
--- a/src/elementaryFunctions/atanh/testDoubleAtanh.c
+++ b/src/elementaryFunctions/atanh/testDoubleAtanh.c
@@ -550,6 +550,10 @@ void zatanhsTest() {
assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15);
assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15);
}
+ out=zatanhs((DoubleComplex(2.0/10.0,11.0/10.0)));
+ assert( ( (fabs(zreals(out)-0.0898435002269743487879)) / (fabs(zreals(out))) ) <1e-15);
+ assert( ( (fabs(zimags(out)-0.8419736541926906570055)) / (fabs(zimags(out))) ) <1e-16);
+
}
void datanhaTest(void) {
diff --git a/src/elementaryFunctions/cosh/testDoubleCosh.c b/src/elementaryFunctions/cosh/testDoubleCosh.c
index dda3ba6c..72ab788f 100644
--- a/src/elementaryFunctions/cosh/testDoubleCosh.c
+++ b/src/elementaryFunctions/cosh/testDoubleCosh.c
@@ -456,11 +456,22 @@ void dcoshaTest(void) {
double res[]=RESULT;
double out[200];
int i;
-
+ double mon_test[9]={1,8,3,2,8,4,3,4,5};
+ double mon_res[9]={1.5430806348152437124099,1490.4791612521778461087,10.06766199577776710328,
+ 3.7621956910836313880964,1490.4791612521778461087,27.308232836016486544395,
+ 10.06766199577776710328,27.308232836016486544395,74.209948524787861856566};
+ double mon_out[9];
dcosha(in,200,out);
+
+ dcosha(mon_test,9,mon_out);
+
for (i=0;i<200;i++){
assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
}
+
+ for (i=0;i<9;i++){
+ assert(( (fabs(mon_out[i]-mon_res[i]))/(fabs(mon_out[i])) )<1e-15);
+ }
}
void zcoshaTest(void) {
diff --git a/src/elementaryFunctions/interfaces/int_atan.h b/src/elementaryFunctions/interfaces/int_atan.h
index 6b0883d4..ad87e675 100644
--- a/src/elementaryFunctions/interfaces/int_atan.h
+++ b/src/elementaryFunctions/interfaces/int_atan.h
@@ -15,36 +15,30 @@
#ifndef __INT_ATAN_H__
#define __INT_ATAN_H__
-#define s0atans0(in) satans(in)
+#define s0atans0(in) satans(in)
-#define d0atand0(in) datans(in)
+#define d0atand0(in) datans(in)
-#define c0atanc0(in) catans(in)
+#define c0atanc0(in) catans(in)
-#define z0atanz0(in) zatans(in)
+#define z0atanz0(in) zatans(in)
-#define s2atans2(in,size,out) satana(in, size[0]*size[1], out)
+#define s2atans2(in,size,out) satana(in, size[0]*size[1], out)
-#define d2atand2(in,size,out) datana(in, size[0]*size[1], out)
+#define d2atand2(in,size,out) datana(in, size[0]*size[1], out)
-#define c2atanc2(in,size,out) catana(in, size[0]*size[1], out)
+#define c2atanc2(in,size,out) catana(in, size[0]*size[1], out)
-#define z2atanz2(in,size,out) zatana(in, size[0]*size[1], out)
+#define z2atanz2(in,size,out) zatana(in, size[0]*size[1], out)
-#define s0s0atans0(in1, in2) satan2s(in1, in2)
+#define s0s0atans0(in1, in2) satan2s(in1, in2)
-#define d0d0atand0(in1, in2) datan2s(in1, in2)
+#define d0d0atand0(in1, in2) datan2s(in1, in2)
-#define c0c0atanc0(in1, in2) catan2s(in1, in2)
+#define s2s2atans2(in1,size1, in2, size2, out) satan2a(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define z0z0atanz0(in1, in2) zatan2s(in1, in2)
+#define d2d2atand2(in1, size1, in2,size2, out) datan2a(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define s2s2atans2(in1, in2, out) satan2a(in1, in2, out)
-#define d2d2atand2(in1, in2, out) datan2a(in1, in2, out)
-
-#define c2c2atanc2(in1, in2, out) catan2a(in1, in2, out)
-
-#define z2z2atanz2(in1, in2, out) zatan2a(in1, in2, out)
#endif /* !__INT_ATAN_H__ */
diff --git a/src/elementaryFunctions/sinh/testDoubleSinh.c b/src/elementaryFunctions/sinh/testDoubleSinh.c
index cdc7b867..4848e225 100644
--- a/src/elementaryFunctions/sinh/testDoubleSinh.c
+++ b/src/elementaryFunctions/sinh/testDoubleSinh.c
@@ -469,8 +469,18 @@ void zsinhaTest(void) {
double resI[]=ZRESULTI;
doubleComplex *in,out[200];
int i;
-
-
+ double mon_testR[9]={1,8,3,2,8,4,3,4,5};
+ double mon_testI[9]={0,0,4,0,-1,0,3,0,0};
+ double mon_resR[9]={1.1752011936438013783857,1490.4788257895500009909,- 6.548120040911003414408,
+ 3.6268604078470190188455,805.30914642173127049318,27.289917197127749659558,
+ - 9.9176210100175374861919,27.289917197127749659558,74.203210577788766499907};
+ double mon_resI[9]={0,0,- 7.6192317203214106058340,
+ 0,- 1254.1949676545177680964,0,
+ 1.4207485419881773491824,0,0};
+ doubleComplex* mon_test;
+ doubleComplex mon_out[9];
+
+mon_test=DoubleComplexMatrix(mon_testR,mon_testI,9);
in=DoubleComplexMatrix(inR,inI,200);
zsinha(in,200,out);
@@ -478,6 +488,12 @@ void zsinhaTest(void) {
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);
}
+ zsinha(mon_test,9,mon_out);
+ for (i=0;i<9;i++){
+ printf("%f + %f*i\n",zreals(mon_out[i]),zimags(mon_out[i]));
+ assert(( (fabs(zreals(mon_out[i])-mon_resR[i]))/(fabs(zreals(mon_out[i]))) )<1e-15);
+ if (zimags(mon_out[i])!=0) assert(( (fabs(zimags(mon_out[i])-mon_resI[i]))/(fabs(zimags(mon_out[i]))) )<1e-15);
+ }
}
int testSinh() {