summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortorset2009-02-27 13:30:30 +0000
committertorset2009-02-27 13:30:30 +0000
commit05fb6a62c83ae7cea37aa2795e61697b3560f135 (patch)
treee4135e36ec029b677faeb18125b19fa4a6d11a6c /src
parent3ce979f5740261766f4248864c0758d6cb6af857 (diff)
downloadscilab2c-05fb6a62c83ae7cea37aa2795e61697b3560f135.tar.gz
scilab2c-05fb6a62c83ae7cea37aa2795e61697b3560f135.tar.bz2
scilab2c-05fb6a62c83ae7cea37aa2795e61697b3560f135.zip
change precision for tests : put it to 3e-16 for double and 3e-6 for float
Diffstat (limited to 'src')
-rw-r--r--src/elementaryFunctions/acos/testCplxAcos.c12
-rw-r--r--src/elementaryFunctions/acos/testRealsAcos.c12
-rw-r--r--src/elementaryFunctions/acosh/testDoubleAcosh.c12
-rw-r--r--src/elementaryFunctions/asin/testDoubleAsin.c12
-rw-r--r--src/elementaryFunctions/asin/testFloatAsin.c5
-rw-r--r--src/elementaryFunctions/asinh/testDoubleAsinh.c12
-rw-r--r--src/elementaryFunctions/atan/testDoubleAtan.c12
-rw-r--r--src/elementaryFunctions/atan2/testAtan2.c6
-rw-r--r--src/elementaryFunctions/atanh/testDoubleAtanh.c14
-rw-r--r--src/elementaryFunctions/atanh/testFloatAtanh.c4
-rw-r--r--src/elementaryFunctions/ceil/testDoubleCeil.c41
-rw-r--r--src/elementaryFunctions/ceil/testFloatCeil.c46
-rw-r--r--src/elementaryFunctions/cos/testDoubleCos.c12
-rw-r--r--src/elementaryFunctions/cos/testFloatCos.c8
-rw-r--r--src/elementaryFunctions/cosh/testDoubleCosh.c14
-rw-r--r--src/elementaryFunctions/cosh/testFloatCosh.c8
-rw-r--r--src/elementaryFunctions/exp/testDoubleExp.c14
-rw-r--r--src/elementaryFunctions/exp/testFloatExp.c4
-rw-r--r--src/elementaryFunctions/exp10/testDoubleExp10.c12
-rw-r--r--src/elementaryFunctions/exp10/testFloatExp10.c4
-rw-r--r--src/elementaryFunctions/fix/testDoubleFix.c46
-rw-r--r--src/elementaryFunctions/fix/testFloatFix.c46
-rw-r--r--src/elementaryFunctions/floor/testDoubleFloor.c50
-rw-r--r--src/elementaryFunctions/floor/testFloatFloor.c48
-rw-r--r--src/elementaryFunctions/int/testDoubleInt.c42
-rw-r--r--src/elementaryFunctions/int/testFloatInt.c46
-rw-r--r--src/elementaryFunctions/log/testDoubleLog.c16
-rw-r--r--src/elementaryFunctions/log/testFloatLog.c12
-rw-r--r--src/elementaryFunctions/log10/testDoubleLog10.c12
-rw-r--r--src/elementaryFunctions/log10/testFloatLog10.c8
-rw-r--r--src/elementaryFunctions/log1p/testDoubleLog1p.c20
-rw-r--r--src/elementaryFunctions/log1p/testFloatLog1p.c12
-rw-r--r--src/elementaryFunctions/pow/testDoublePow.c12
-rw-r--r--src/elementaryFunctions/round/testDoubleRound.c48
-rw-r--r--src/elementaryFunctions/round/testFloatRound.c48
-rw-r--r--src/elementaryFunctions/sin/testDoubleSin.c10
-rw-r--r--src/elementaryFunctions/sinh/testDoubleSinh.c16
-rw-r--r--src/elementaryFunctions/sqrt/testDoubleSqrt.c10
-rw-r--r--src/elementaryFunctions/tan/testDoubleTan.c10
-rw-r--r--src/elementaryFunctions/tanh/testDoubleTanh.c12
40 files changed, 411 insertions, 377 deletions
diff --git a/src/elementaryFunctions/acos/testCplxAcos.c b/src/elementaryFunctions/acos/testCplxAcos.c
index 76974af1..4053bb58 100644
--- a/src/elementaryFunctions/acos/testCplxAcos.c
+++ b/src/elementaryFunctions/acos/testCplxAcos.c
@@ -611,14 +611,14 @@ void zacossTest(void){
for (i=0;i<200;i++){
- assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 1e-15);
- assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 1e-15);
+ assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 3e-16);
+ assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 3e-16);
}
out[0]=zacoss(DoubleComplex(0.2,0.1));
printf ("%1.20f + %1.20f *i\n",zreals(out[0]),zimags(out[0]));
- assert ( ( fabs(zreals(out[0]) - 1.3704927556955963652285) / fabs(zreals(out[0])) ) < 1e-15);
- assert ( ( fabs(zimags(out[0]) - (- 0.1018639159801242727310)) / fabs(zimags(out[0])) ) < 1e-15);
+ assert ( ( fabs(zreals(out[0]) - 1.3704927556955963652285) / fabs(zreals(out[0])) ) < 3e-16);
+ assert ( ( fabs(zimags(out[0]) - (- 0.1018639159801242727310)) / fabs(zimags(out[0])) ) < 3e-16);
}
@@ -660,8 +660,8 @@ void zacosaTest(void){
}
zacosa(tIn,200,out);
for (i=0;i<200;i++){
- assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 1e-15);
- assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 1e-15);
+ assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 3e-16);
+ assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 3e-16);
}
}
diff --git a/src/elementaryFunctions/acos/testRealsAcos.c b/src/elementaryFunctions/acos/testRealsAcos.c
index 5b8b2d0e..9ba5554c 100644
--- a/src/elementaryFunctions/acos/testRealsAcos.c
+++ b/src/elementaryFunctions/acos/testRealsAcos.c
@@ -576,7 +576,7 @@ void sacossTest(void) {
for(i=0;i<200;i++){
assert ( ( fabs(sacoss(tIn1[i]) - tRes1[i]) / fabs(sacoss(tIn1[i])) ) < 1e-6);
- assert ( ( fabs(sacoss(tIn2[i]) - tRes2[i]) / fabs(sacoss(tIn2[i])) ) < 1e-5);
+ assert ( ( fabs(sacoss(tIn2[i]) - tRes2[i]) / fabs(sacoss(tIn2[i])) ) < 3e-6);
}
}
@@ -589,8 +589,8 @@ void dacossTest(void) {
double tRes2[]=ResID;
for(i=0;i<200;i++){
- assert ( ( (fabs(dacoss(tIn1[i])) - tRes1[i]) / fabs(dacoss(tIn1[i])) ) < 1e-15);
- assert ( ( (fabs(dacoss(tIn2[i])) - tRes2[i]) / fabs(dacoss(tIn2[i])) ) < 1e-15);
+ assert ( ( (fabs(dacoss(tIn1[i])) - tRes1[i]) / fabs(dacoss(tIn1[i])) ) < 3e-16);
+ assert ( ( (fabs(dacoss(tIn2[i])) - tRes2[i]) / fabs(dacoss(tIn2[i])) ) < 3e-16);
}
}
@@ -607,7 +607,7 @@ void sacosaTest(void){
sacosa(tIn2,200,out2);
for(i=0;i<200;i++){
assert( (fabs(out1[i]-tRes1[i])/fabs(out1[i])) <1e-6);
- assert( (fabs(out2[i]-tRes2[i])/fabs(out2[i])) <1e-5);
+ assert( (fabs(out2[i]-tRes2[i])/fabs(out2[i])) <3e-6);
}
}
@@ -622,8 +622,8 @@ void dacosaTest(void){
dacosa(tIn1,200,out1);
dacosa(tIn2,200,out2);
for(i=0;i<200;i++){
- assert( (fabs(out1[i]-tRes1[i])/fabs(out1[i])) <1e-15);
- assert( (fabs(out2[i]-tRes2[i])/fabs(out2[i])) <1e-15);
+ assert( (fabs(out1[i]-tRes1[i])/fabs(out1[i])) <3e-16);
+ assert( (fabs(out2[i]-tRes2[i])/fabs(out2[i])) <3e-16);
}
}
diff --git a/src/elementaryFunctions/acosh/testDoubleAcosh.c b/src/elementaryFunctions/acosh/testDoubleAcosh.c
index d4767612..9ed77b3c 100644
--- a/src/elementaryFunctions/acosh/testDoubleAcosh.c
+++ b/src/elementaryFunctions/acosh/testDoubleAcosh.c
@@ -434,7 +434,7 @@ void dacoshsTest(void) {
if (In[i]<1) assert(1);
else {
out = dacoshs(In[i]);
- assert ( ( fabs(out-Res[i]) / fabs(out) ) <1e-15);
+ assert ( ( fabs(out-Res[i]) / fabs(out) ) <3e-16);
}
}
}
@@ -450,8 +450,8 @@ void zacoshsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(InR[i],InI[i]);
out=zacoshs(in);
- assert( ( fabs(zreals(out)-ResR[i]) / fabs(zreals(out)) ) <1e-15);
- assert( ( fabs(zimags(out)-ResI[i]) / fabs(zimags(out)) ) <1e-15);
+ assert( ( fabs(zreals(out)-ResR[i]) / fabs(zreals(out)) ) <3e-16);
+ assert( ( fabs(zimags(out)-ResI[i]) / fabs(zimags(out)) ) <3e-16);
}
}
@@ -469,7 +469,7 @@ void dacoshaTest(void) {
for (i=0;i<200;i++){
if (isnan(out[i])) assert(1);
else{
- assert ( ( fabs(out[i]-Res[i]) / fabs(out[i]) ) <1e-15);
+ assert ( ( fabs(out[i]-Res[i]) / fabs(out[i]) ) <3e-16);
}
}
}
@@ -487,8 +487,8 @@ void zacoshaTest(void) {
}
zacosha(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert( ( fabs(zreals(out[i])-ResR[i]) / fabs(zreals(out[i])) ) <3e-16);
+ assert( ( fabs(zimags(out[i])-ResI[i]) / fabs(zimags(out[i])) ) <3e-16);
}
}
diff --git a/src/elementaryFunctions/asin/testDoubleAsin.c b/src/elementaryFunctions/asin/testDoubleAsin.c
index 5e21bca8..915c0a19 100644
--- a/src/elementaryFunctions/asin/testDoubleAsin.c
+++ b/src/elementaryFunctions/asin/testDoubleAsin.c
@@ -430,7 +430,7 @@ void dasinsTest(void) {
for (i=0;i<200;i++){
out=dasins(in[i]);
- assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15);
+ assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-16);
}
}
@@ -445,8 +445,8 @@ void zasinsTest(void) {
for (i=0;i<200;i++){
in = DoubleComplex(inR[i],inI[i]);
out=zasins(in);
- assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15);
- assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15);
+ assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-16);
+ assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-16);
}
}
@@ -458,7 +458,7 @@ void dasinaTest(void) {
dasina(in,200,out);
for (i=0;i<200;i++){
- assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15);
+ assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-16);
}
}
@@ -475,8 +475,8 @@ void zasinaTest(void) {
zasina(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <3e-16);
+ assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <3e-16);
}
}
diff --git a/src/elementaryFunctions/asin/testFloatAsin.c b/src/elementaryFunctions/asin/testFloatAsin.c
index 567a8485..00a630ac 100644
--- a/src/elementaryFunctions/asin/testFloatAsin.c
+++ b/src/elementaryFunctions/asin/testFloatAsin.c
@@ -445,9 +445,8 @@ void casinsTest(void) {
for (i=0;i<200;i++){
in = FloatComplex(inR[i],inI[i]);
out=casins(in);
- /* printf("%d - %f - erreur %f\n",i,cimags(out),(fabs(cimags(out)-resI[i])) / (fabs(cimags(out))));*/
assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6);
- assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-1);
+ assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6);
}
}
@@ -478,7 +477,7 @@ void casinaTest(void) {
casina(in,200,out);
for (i=0;i<200;i++){
assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6);
- assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-1);
+ assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-6);
}
}
diff --git a/src/elementaryFunctions/asinh/testDoubleAsinh.c b/src/elementaryFunctions/asinh/testDoubleAsinh.c
index 8eb3baaf..1501ee87 100644
--- a/src/elementaryFunctions/asinh/testDoubleAsinh.c
+++ b/src/elementaryFunctions/asinh/testDoubleAsinh.c
@@ -431,7 +431,7 @@ void dasinhsTest(void) {
for (i=0;i<200;i++){
out=dasinhs(in[i]);
- assert ( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15);
+ assert ( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-16);
}
}
@@ -447,8 +447,8 @@ void zasinhsTest(void) {
in=DoubleComplex(inR[i],inI[i]);
out = zasinhs(in);
- assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <1e-15);
- assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <1e-15);
+ assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <3e-16);
+ assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <3e-16);
}
}
@@ -460,7 +460,7 @@ void dasinhaTest(void) {
dasinha(in,200,out);
for (i=0;i<200;i++){
- assert ( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15);
+ assert ( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-16);
}}
void zasinhaTest(void) {
@@ -476,8 +476,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-15);
- assert( ( ( fabs( zimags(out[i])-resI[i] ) ) / (fabs(zimags(out[i])) ) ) <1e-15);
+ assert( ( ( fabs( zreals(out[i])-resR[i] ) ) / (fabs(zreals(out[i])) ) ) <3e-16);
+ assert( ( ( fabs( zimags(out[i])-resI[i] ) ) / (fabs(zimags(out[i])) ) ) <3e-16);
}
}
diff --git a/src/elementaryFunctions/atan/testDoubleAtan.c b/src/elementaryFunctions/atan/testDoubleAtan.c
index 78d48267..87429c83 100644
--- a/src/elementaryFunctions/atan/testDoubleAtan.c
+++ b/src/elementaryFunctions/atan/testDoubleAtan.c
@@ -430,7 +430,7 @@ void datansTest() {
for (i=0;i<200;i++){
out=datans(in[i]);
- assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15);
+ assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-16);
}
}
@@ -445,8 +445,8 @@ void zatansTest() {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zatans(in);
- assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15);
- assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15);
+ assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-16);
+ assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-16);
}
}
@@ -458,7 +458,7 @@ void datanaTest(void) {
datana(in,200,out);
for (i=0;i<200;i++){
- assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15);
+ assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-16);
}
}
@@ -475,8 +475,8 @@ void zatanaTest(void) {
}
zatana(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <3e-16);
+ assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <3e-16);
}
}
diff --git a/src/elementaryFunctions/atan2/testAtan2.c b/src/elementaryFunctions/atan2/testAtan2.c
index 9ba88c48..30cb6735 100644
--- a/src/elementaryFunctions/atan2/testAtan2.c
+++ b/src/elementaryFunctions/atan2/testAtan2.c
@@ -78,7 +78,7 @@ static void satan2sTest ( void )
{
Fout[i] = satan2s( Fin1[i], Fin2[i] );
printf ( "%e - %e\n" , Fout[i] , Result[i] );
- assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 1e-3 );
+ assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 3e-6 );
}
}
@@ -205,7 +205,7 @@ double Result[] =
{
Fout[i] = datan2s( Fin1[i], Fin2[i] );
printf ( "%e - %e\n" , Fout[i] , Result[i] );
- assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 1e-3 );
+ assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 1e-16 );
}
}
@@ -272,7 +272,7 @@ static void satan2aTest ( void )
for ( i = 0 ; i < SIZE ; ++i)
{
printf ( "%e - %e\n" , Fout[i] , Result[i] );
- assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 1e-3 );
+ assert ( fabs ( Fout[i] - Result[i] ) / fabs( Fout[i]) < 3e-6 );
}
}
diff --git a/src/elementaryFunctions/atanh/testDoubleAtanh.c b/src/elementaryFunctions/atanh/testDoubleAtanh.c
index d7e68080..2ee28c91 100644
--- a/src/elementaryFunctions/atanh/testDoubleAtanh.c
+++ b/src/elementaryFunctions/atanh/testDoubleAtanh.c
@@ -532,7 +532,7 @@ void datanhsTest() {
out=datanhs(in[i]);
if (disnans(out)) assert(1);
else {
- assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15);
+ assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-16);
}
}
}
@@ -548,11 +548,11 @@ void zatanhsTest() {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zatanhs(in);
- assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15);
- assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15);
+ assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-16);
+ assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-16);
}
out=zatanhs((DoubleComplex(2.0/10.0,11.0/10.0)));
- assert( ( (fabs(zreals(out)-0.0898435002269743487879)) / (fabs(zreals(out))) ) <1e-15);
+ assert( ( (fabs(zreals(out)-0.0898435002269743487879)) / (fabs(zreals(out))) ) <3e-16);
assert( ( (fabs(zimags(out)-0.8419736541926906570055)) / (fabs(zimags(out))) ) <1e-16);
}
@@ -566,7 +566,7 @@ void datanhaTest(void) {
datanha(in,200,out);
for (i=0;i<200;i++){
if (disnans(out[i])) assert(1);
- else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15);
+ else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-16);
}
}
@@ -583,8 +583,8 @@ void zatanhaTest(void) {
}
zatanha(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <3e-16);
+ assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <3e-16);
}
}
diff --git a/src/elementaryFunctions/atanh/testFloatAtanh.c b/src/elementaryFunctions/atanh/testFloatAtanh.c
index fe929721..3addb959 100644
--- a/src/elementaryFunctions/atanh/testFloatAtanh.c
+++ b/src/elementaryFunctions/atanh/testFloatAtanh.c
@@ -534,7 +534,7 @@ void satanhsTest() {
for (i=0;i<200;i++){
out=satanhs(in[i]);
if (sisnans(out)) assert(1);
- else assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-5);
+ else assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-6);
}
}
@@ -563,7 +563,7 @@ void satanhaTest(void) {
satanha(in,200,out);
for (i=0;i<200;i++){
if (sisnans(out[i])) assert(1);
- else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-5);
+ else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-6);
}
}
diff --git a/src/elementaryFunctions/ceil/testDoubleCeil.c b/src/elementaryFunctions/ceil/testDoubleCeil.c
index dee3d356..29b42c42 100644
--- a/src/elementaryFunctions/ceil/testDoubleCeil.c
+++ b/src/elementaryFunctions/ceil/testDoubleCeil.c
@@ -21,21 +21,21 @@
static void dceilsTest(void) {
assert ((fabs( dceils(-2) - (-2))/fabs(dceils(-2)))<1e-16);
assert ((fabs( dceils(-1.9) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.8) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.7) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.6) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.5) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.4) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.3) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.2) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.1) - (-1))/fabs(dceils(-1.9)))<1e-16);
- assert ((fabs( dceils(-1.0) - (-1))/fabs(dceils(-1.9)))<1e-16);
+ assert ((fabs( dceils(-1.8) - (-1))/fabs(dceils(-1.8)))<1e-16);
+ assert ((fabs( dceils(-1.7) - (-1))/fabs(dceils(-1.7)))<1e-16);
+ assert ((fabs( dceils(-1.6) - (-1))/fabs(dceils(-1.6)))<1e-16);
+ assert ((fabs( dceils(-1.5) - (-1))/fabs(dceils(-1.5)))<1e-16);
+ assert ((fabs( dceils(-1.4) - (-1))/fabs(dceils(-1.4)))<1e-16);
+ assert ((fabs( dceils(-1.3) - (-1))/fabs(dceils(-1.3)))<1e-16);
+ assert ((fabs( dceils(-1.2) - (-1))/fabs(dceils(-1.2)))<1e-16);
+ assert ((fabs( dceils(-1.1) - (-1))/fabs(dceils(-1.1)))<1e-16);
+ assert ((fabs( dceils(-1.0) - (-1))/fabs(dceils(-1.0)))<1e-16);
assert (fabs( dceils(-.9))<1e-16);
- assert ((fabs( dceils(1.0) - (1))/fabs(dceils(1.9)))<1e-16);
- assert ((fabs( dceils(1.1) - (2))/fabs(dceils(1.9)))<1e-16);
- assert ((fabs( dceils(1.2) - (2))/fabs(dceils(1.9)))<1e-16);
- assert ((fabs( dceils(1.3) - (2))/fabs(dceils(1.9)))<1e-16);
- assert ((fabs( dceils(1.4) - (2))/fabs(dceils(1.9)))<1e-16);
+ assert ((fabs( dceils(1.0) - (1))/fabs(dceils(1.0)))<1e-16);
+ assert ((fabs( dceils(1.1) - (2))/fabs(dceils(1.1)))<1e-16);
+ assert ((fabs( dceils(1.2) - (2))/fabs(dceils(1.2)))<1e-16);
+ assert ((fabs( dceils(1.3) - (2))/fabs(dceils(1.3)))<1e-16);
+ assert ((fabs( dceils(1.4) - (2))/fabs(dceils(1.4)))<1e-16);
assert ((fabs( dceils(1.5) - (2))/fabs(dceils(1.9)))<1e-16);
assert ((fabs( dceils(1.6) - (2))/fabs(dceils(1.9)))<1e-16);
assert ((fabs( dceils(1.7) - (2))/fabs(dceils(1.9)))<1e-16);
@@ -111,10 +111,9 @@ static void dceilaTest(void) {
dceila(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
-
-
-
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert (fabs(out[i]-res[i])==0);
}
static void zceilaTest(void) {
@@ -129,8 +128,10 @@ static void zceilaTest(void) {
zceila(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(zreals(out[i])-resR[i]) <1e-16);
- assert(fabs(zimags(out[i])-resI[i]) <1e-16);
+ if (zreals(out[i])!=0) assert(fabs(zreals(out[i])-resR[i])/fabs(zreals(out[i]))<1e-16);
+ else assert(fabs(zreals(out[i])-resR[i]) <1e-16);
+ if (zimags(out[i])!=0) assert(fabs(zimags(out[i])-resI[i])/fabs(zimags(out[i]))<1e-16);
+ else assert(fabs(zimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/ceil/testFloatCeil.c b/src/elementaryFunctions/ceil/testFloatCeil.c
index cd6b3396..f3ded89b 100644
--- a/src/elementaryFunctions/ceil/testFloatCeil.c
+++ b/src/elementaryFunctions/ceil/testFloatCeil.c
@@ -21,25 +21,25 @@ static void sceilsTest(void) {
assert ((fabs( sceils(-2) - (-2))/fabs(sceils(-2)))<1e-16);
assert ((fabs( sceils(-1.9f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.8f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.7f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.6f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.5f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.4f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.3f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.2f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.1f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
- assert ((fabs( sceils(-1.0f) - (-1))/fabs(sceils(-1.9f)))<1e-16);
+ assert ((fabs( sceils(-1.8f) - (-1))/fabs(sceils(-1.8f)))<1e-16);
+ assert ((fabs( sceils(-1.7f) - (-1))/fabs(sceils(-1.7f)))<1e-16);
+ assert ((fabs( sceils(-1.6f) - (-1))/fabs(sceils(-1.6f)))<1e-16);
+ assert ((fabs( sceils(-1.5f) - (-1))/fabs(sceils(-1.5f)))<1e-16);
+ assert ((fabs( sceils(-1.4f) - (-1))/fabs(sceils(-1.4f)))<1e-16);
+ assert ((fabs( sceils(-1.3f) - (-1))/fabs(sceils(-1.3f)))<1e-16);
+ assert ((fabs( sceils(-1.2f) - (-1))/fabs(sceils(-1.2f)))<1e-16);
+ assert ((fabs( sceils(-1.1f) - (-1))/fabs(sceils(-1.1f)))<1e-16);
+ assert ((fabs( sceils(-1.0f) - (-1))/fabs(sceils(-1.0f)))<1e-16);
assert (fabs( sceils(-.9f))<1e-16);
- assert ((fabs( sceils(1.0f) - (1))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.1f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.2f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.3f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.4f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.5f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.6f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.7f) - (2))/fabs(sceils(1.9f)))<1e-16);
- assert ((fabs( sceils(1.8f) - (2))/fabs(sceils(1.9f)))<1e-16);
+ assert ((fabs( sceils(1.0f) - (1))/fabs(sceils(1.0f)))<1e-16);
+ assert ((fabs( sceils(1.1f) - (2))/fabs(sceils(1.1f)))<1e-16);
+ assert ((fabs( sceils(1.2f) - (2))/fabs(sceils(1.2f)))<1e-16);
+ assert ((fabs( sceils(1.3f) - (2))/fabs(sceils(1.3f)))<1e-16);
+ assert ((fabs( sceils(1.4f) - (2))/fabs(sceils(1.4f)))<1e-16);
+ assert ((fabs( sceils(1.5f) - (2))/fabs(sceils(1.5f)))<1e-16);
+ assert ((fabs( sceils(1.6f) - (2))/fabs(sceils(1.6f)))<1e-16);
+ assert ((fabs( sceils(1.7f) - (2))/fabs(sceils(1.7f)))<1e-16);
+ assert ((fabs( sceils(1.8f) - (2))/fabs(sceils(1.8f)))<1e-16);
assert ((fabs( sceils(1.9f) - (2))/fabs(sceils(1.9f)))<1e-16);
assert ((fabs( sceils(2.0f) - (2))/fabs(sceils(2.0f)))<1e-16);
}
@@ -109,7 +109,9 @@ static void sceilaTest(void) {
sceila(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i])<1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
static void cceilaTest(void) {
@@ -124,8 +126,10 @@ static void cceilaTest(void) {
cceila(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(creals(out[i])-resR[i]) <1e-16);
- assert(fabs(cimags(out[i])-resI[i]) <1e-16);
+ if(creals(out[i])!=0) assert(fabs(creals(out[i])-resR[i])/fabs(creals(out[i]))<1e-16);
+ else assert(fabs(creals(out[i])-resR[i]) <1e-16);
+ if(cimags(out[i])!=0) assert(fabs(cimags(out[i])-resI[i])/fabs(cimags(out[i]))<1e-16);
+ else assert(fabs(cimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/cos/testDoubleCos.c b/src/elementaryFunctions/cos/testDoubleCos.c
index 6db387e0..d7ace4c3 100644
--- a/src/elementaryFunctions/cos/testDoubleCos.c
+++ b/src/elementaryFunctions/cos/testDoubleCos.c
@@ -429,7 +429,7 @@ void dcossTest(void) {
for (i=0;i<200;i++){
out=dcoss(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -444,8 +444,8 @@ void zcossTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zcoss(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -457,7 +457,7 @@ void dcosaTest(void) {
dcosa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -474,8 +474,8 @@ void zcosaTest(void) {
}
zcosa(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/cos/testFloatCos.c b/src/elementaryFunctions/cos/testFloatCos.c
index 4e19826c..98353b3d 100644
--- a/src/elementaryFunctions/cos/testFloatCos.c
+++ b/src/elementaryFunctions/cos/testFloatCos.c
@@ -429,7 +429,7 @@ void scossTest(void) {
for (i=0;i<200;i++){
out=scoss(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-6);
}
}
@@ -444,7 +444,7 @@ void ccossTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=ccoss(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
}
@@ -457,7 +457,7 @@ void scosaTest(void) {
scosa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-6);
}
}
@@ -474,7 +474,7 @@ void ccosaTest(void) {
}
ccosa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
}
diff --git a/src/elementaryFunctions/cosh/testDoubleCosh.c b/src/elementaryFunctions/cosh/testDoubleCosh.c
index 72ab788f..f2a326a7 100644
--- a/src/elementaryFunctions/cosh/testDoubleCosh.c
+++ b/src/elementaryFunctions/cosh/testDoubleCosh.c
@@ -431,7 +431,7 @@ void dcoshsTest(void) {
for (i=0;i<200;i++){
out=dcoshs(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -446,8 +446,8 @@ void zcoshsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zcoshs(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -466,11 +466,11 @@ void dcoshaTest(void) {
dcosha(mon_test,9,mon_out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
for (i=0;i<9;i++){
- assert(( (fabs(mon_out[i]-mon_res[i]))/(fabs(mon_out[i])) )<1e-15);
+ assert(( (fabs(mon_out[i]-mon_res[i]))/(fabs(mon_out[i])) )<3e-16);
}
}
@@ -487,8 +487,8 @@ void zcoshaTest(void) {
}
zcosha(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/cosh/testFloatCosh.c b/src/elementaryFunctions/cosh/testFloatCosh.c
index 78cb8773..3f4c15be 100644
--- a/src/elementaryFunctions/cosh/testFloatCosh.c
+++ b/src/elementaryFunctions/cosh/testFloatCosh.c
@@ -446,8 +446,8 @@ void ccoshsTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=ccoshs(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
- assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
+ assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<3e-6);
}
}
@@ -476,8 +476,8 @@ void ccoshaTest(void) {
}
ccosha(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
- assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
+ assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<3e-6);
}
}
diff --git a/src/elementaryFunctions/exp/testDoubleExp.c b/src/elementaryFunctions/exp/testDoubleExp.c
index 2daeae06..d5d9f5c4 100644
--- a/src/elementaryFunctions/exp/testDoubleExp.c
+++ b/src/elementaryFunctions/exp/testDoubleExp.c
@@ -431,10 +431,10 @@ void dexpsTest(void) {
for (i=0;i<200;i++){
out=dexps(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
- assert(( (fabs(exp(3)-20.085536923187671476398))/(exp(3)) )<1e-15);
+ assert(( (fabs(exp(3)-20.085536923187671476398))/(exp(3)) )<3e-16);
}
@@ -449,8 +449,8 @@ void zexpsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zexps(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -462,7 +462,7 @@ void dexpaTest(void) {
dexpa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -479,8 +479,8 @@ void zexpaTest(void) {
}
zexpa(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/exp/testFloatExp.c b/src/elementaryFunctions/exp/testFloatExp.c
index d490e3a0..6ba0ad6c 100644
--- a/src/elementaryFunctions/exp/testFloatExp.c
+++ b/src/elementaryFunctions/exp/testFloatExp.c
@@ -455,7 +455,7 @@ void cexpsTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=cexps(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
}
@@ -493,7 +493,7 @@ void cexpaTest(void) {
}
cexpa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
}
diff --git a/src/elementaryFunctions/exp10/testDoubleExp10.c b/src/elementaryFunctions/exp10/testDoubleExp10.c
index 6c0286d2..4818113d 100644
--- a/src/elementaryFunctions/exp10/testDoubleExp10.c
+++ b/src/elementaryFunctions/exp10/testDoubleExp10.c
@@ -431,7 +431,7 @@ void dexp10sTest(void) {
for (i=0;i<200;i++){
out=dexp10s(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -446,8 +446,8 @@ void zexp10sTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zexp10s(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -459,7 +459,7 @@ void dexp10aTest(void) {
dexp10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -476,8 +476,8 @@ void zexp10aTest(void) {
zexp10a(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/exp10/testFloatExp10.c b/src/elementaryFunctions/exp10/testFloatExp10.c
index 1b52f7c4..133becc2 100644
--- a/src/elementaryFunctions/exp10/testFloatExp10.c
+++ b/src/elementaryFunctions/exp10/testFloatExp10.c
@@ -446,7 +446,7 @@ void cexp10sTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=cexp10s(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
}
@@ -475,7 +475,7 @@ void cexp10aTest(void) {
cexp10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
}
diff --git a/src/elementaryFunctions/fix/testDoubleFix.c b/src/elementaryFunctions/fix/testDoubleFix.c
index 95c2e0b3..2d7c6cb5 100644
--- a/src/elementaryFunctions/fix/testDoubleFix.c
+++ b/src/elementaryFunctions/fix/testDoubleFix.c
@@ -18,25 +18,25 @@
static void dfixsTest(void) {
assert ((fabs( dfixs(-2) - (-2))/fabs(dfixs(-2)))<1e-16);
assert ((fabs( dfixs(-1.9) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.8) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.7) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.6) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.5) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.4) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.3) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.2) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.1) - (-1))/fabs(dfixs(-1.9)))<1e-16);
- assert ((fabs( dfixs(-1.0) - (-1))/fabs(dfixs(-1.9)))<1e-16);
+ assert ((fabs( dfixs(-1.8) - (-1))/fabs(dfixs(-1.8)))<1e-16);
+ assert ((fabs( dfixs(-1.7) - (-1))/fabs(dfixs(-1.7)))<1e-16);
+ assert ((fabs( dfixs(-1.6) - (-1))/fabs(dfixs(-1.6)))<1e-16);
+ assert ((fabs( dfixs(-1.5) - (-1))/fabs(dfixs(-1.5)))<1e-16);
+ assert ((fabs( dfixs(-1.4) - (-1))/fabs(dfixs(-1.4)))<1e-16);
+ assert ((fabs( dfixs(-1.3) - (-1))/fabs(dfixs(-1.3)))<1e-16);
+ assert ((fabs( dfixs(-1.2) - (-1))/fabs(dfixs(-1.2)))<1e-16);
+ assert ((fabs( dfixs(-1.1) - (-1))/fabs(dfixs(-1.1)))<1e-16);
+ assert ((fabs( dfixs(-1.0) - (-1))/fabs(dfixs(-1.0)))<1e-16);
assert (fabs( dfixs(-.9))<1e-16);
- assert ((fabs( dfixs(1.0) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.1) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.2) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.3) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.4) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.5) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.6) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.7) - (1))/fabs(dfixs(1.9)))<1e-16);
- assert ((fabs( dfixs(1.8) - (1))/fabs(dfixs(1.9)))<1e-16);
+ assert ((fabs( dfixs(1.0) - (1))/fabs(dfixs(1.0)))<1e-16);
+ assert ((fabs( dfixs(1.1) - (1))/fabs(dfixs(1.1)))<1e-16);
+ assert ((fabs( dfixs(1.2) - (1))/fabs(dfixs(1.2)))<1e-16);
+ assert ((fabs( dfixs(1.3) - (1))/fabs(dfixs(1.3)))<1e-16);
+ assert ((fabs( dfixs(1.4) - (1))/fabs(dfixs(1.4)))<1e-16);
+ assert ((fabs( dfixs(1.5) - (1))/fabs(dfixs(1.5)))<1e-16);
+ assert ((fabs( dfixs(1.6) - (1))/fabs(dfixs(1.6)))<1e-16);
+ assert ((fabs( dfixs(1.7) - (1))/fabs(dfixs(1.7)))<1e-16);
+ assert ((fabs( dfixs(1.8) - (1))/fabs(dfixs(1.8)))<1e-16);
assert ((fabs( dfixs(1.9) - (1))/fabs(dfixs(1.9)))<1e-16);
assert ((fabs( dfixs(2.0) - (2))/fabs(dfixs(2.0)))<1e-16);
@@ -107,7 +107,9 @@ static void dfixaTest(void) {
dfixa(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert (fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
@@ -123,8 +125,10 @@ static void zfixaTest(void) {
zfixa(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(zreals(out[i])-resR[i]) <1e-16);
- assert(fabs(zimags(out[i])-resI[i]) <1e-16);
+ if (zreals(out[i])!=0) assert(fabs(zreals(out[i])-resR[i])/fabs(zreals(out[i])) <1e-16);
+ else assert(fabs(zreals(out[i])-resR[i]) <1e-16);
+ if (zimags(out[i])!=0) assert(fabs(zimags(out[i])-resI[i])/fabs(zimags(out[i])) <1e-16);
+ else assert(fabs(zimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/fix/testFloatFix.c b/src/elementaryFunctions/fix/testFloatFix.c
index ca57c6e6..44d5596c 100644
--- a/src/elementaryFunctions/fix/testFloatFix.c
+++ b/src/elementaryFunctions/fix/testFloatFix.c
@@ -19,25 +19,25 @@
static void sfixsTest(void) {
assert ((fabs( sfixs(-2) - (-2))/fabs(sfixs(-2)))<1e-16);
assert ((fabs( sfixs(-1.9f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.8f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.7f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.6f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.5f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.4f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.3f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.2f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.1f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
- assert ((fabs( sfixs(-1.0f) - (-1))/fabs(sfixs(-1.9f)))<1e-16);
+ assert ((fabs( sfixs(-1.8f) - (-1))/fabs(sfixs(-1.8f)))<1e-16);
+ assert ((fabs( sfixs(-1.7f) - (-1))/fabs(sfixs(-1.7f)))<1e-16);
+ assert ((fabs( sfixs(-1.6f) - (-1))/fabs(sfixs(-1.6f)))<1e-16);
+ assert ((fabs( sfixs(-1.5f) - (-1))/fabs(sfixs(-1.5f)))<1e-16);
+ assert ((fabs( sfixs(-1.4f) - (-1))/fabs(sfixs(-1.4f)))<1e-16);
+ assert ((fabs( sfixs(-1.3f) - (-1))/fabs(sfixs(-1.3f)))<1e-16);
+ assert ((fabs( sfixs(-1.2f) - (-1))/fabs(sfixs(-1.2f)))<1e-16);
+ assert ((fabs( sfixs(-1.1f) - (-1))/fabs(sfixs(-1.1f)))<1e-16);
+ assert ((fabs( sfixs(-1.0f) - (-1))/fabs(sfixs(-1.0f)))<1e-16);
assert (fabs( sfixs(-.9f))<1e-16);
- assert ((fabs( sfixs(1.0f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.1f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.2f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.3f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.4f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.5f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.6f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.7f) - (1))/fabs(sfixs(1.9f)))<1e-16);
- assert ((fabs( sfixs(1.8f) - (1))/fabs(sfixs(1.9f)))<1e-16);
+ assert ((fabs( sfixs(1.0f) - (1))/fabs(sfixs(1.0f)))<1e-16);
+ assert ((fabs( sfixs(1.1f) - (1))/fabs(sfixs(1.1f)))<1e-16);
+ assert ((fabs( sfixs(1.2f) - (1))/fabs(sfixs(1.2f)))<1e-16);
+ assert ((fabs( sfixs(1.3f) - (1))/fabs(sfixs(1.3f)))<1e-16);
+ assert ((fabs( sfixs(1.4f) - (1))/fabs(sfixs(1.4f)))<1e-16);
+ assert ((fabs( sfixs(1.5f) - (1))/fabs(sfixs(1.5f)))<1e-16);
+ assert ((fabs( sfixs(1.6f) - (1))/fabs(sfixs(1.6f)))<1e-16);
+ assert ((fabs( sfixs(1.7f) - (1))/fabs(sfixs(1.7f)))<1e-16);
+ assert ((fabs( sfixs(1.8f) - (1))/fabs(sfixs(1.8f)))<1e-16);
assert ((fabs( sfixs(1.9f) - (1))/fabs(sfixs(1.9f)))<1e-16);
assert ((fabs( sfixs(2.0f) - (2))/fabs(sfixs(2.0f)))<1e-16);
}
@@ -107,7 +107,9 @@ static void sfixaTest(void) {
sfixa(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
static void cfixaTest(void) {
@@ -122,8 +124,10 @@ static void cfixaTest(void) {
cfixa(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(creals(out[i])-resR[i]) <1e-16);
- assert(fabs(cimags(out[i])-resI[i]) <1e-16);
+ if (creals(out[i])!=0) assert(fabs(creals(out[i])-resR[i])/fabs(creals(out[i])) <1e-16);
+ else assert(fabs(creals(out[i])-resR[i]) <1e-16);
+ if (cimags(out[i])!=0) assert(fabs(cimags(out[i])-resI[i])/fabs(cimags(out[i])) <1e-16);
+ else assert(fabs(cimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/floor/testDoubleFloor.c b/src/elementaryFunctions/floor/testDoubleFloor.c
index 186aba95..71e0b36f 100644
--- a/src/elementaryFunctions/floor/testDoubleFloor.c
+++ b/src/elementaryFunctions/floor/testDoubleFloor.c
@@ -20,25 +20,25 @@
static void dfloorsTest(void) {
assert ((fabs( dfloors(-2) - (-2))/fabs(dfloors(-2)))<1e-16);
assert ((fabs( dfloors(-1.9) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.8) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.7) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.6) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.5) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.4) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.3) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.2) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.1) - (-2))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-1.0) - (-1))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(-0.9) - (-1))/fabs(dfloors(-1.9)))<1e-16);
- assert ((fabs( dfloors(1.0) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.1) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.2) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.3) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.4) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.5) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.6) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.7) - (1))/fabs(dfloors(1.9)))<1e-16);
- assert ((fabs( dfloors(1.8) - (1))/fabs(dfloors(1.9)))<1e-16);
+ assert ((fabs( dfloors(-1.8) - (-2))/fabs(dfloors(-1.8)))<1e-16);
+ assert ((fabs( dfloors(-1.7) - (-2))/fabs(dfloors(-1.7)))<1e-16);
+ assert ((fabs( dfloors(-1.6) - (-2))/fabs(dfloors(-1.6)))<1e-16);
+ assert ((fabs( dfloors(-1.5) - (-2))/fabs(dfloors(-1.5)))<1e-16);
+ assert ((fabs( dfloors(-1.4) - (-2))/fabs(dfloors(-1.4)))<1e-16);
+ assert ((fabs( dfloors(-1.3) - (-2))/fabs(dfloors(-1.3)))<1e-16);
+ assert ((fabs( dfloors(-1.2) - (-2))/fabs(dfloors(-1.2)))<1e-16);
+ assert ((fabs( dfloors(-1.1) - (-2))/fabs(dfloors(-1.1)))<1e-16);
+ assert ((fabs( dfloors(-1.0) - (-1))/fabs(dfloors(-1.0)))<1e-16);
+ assert ((fabs( dfloors(-0.9) - (-1))/fabs(dfloors(-0.9)))<1e-16);
+ assert ((fabs( dfloors(1.0) - (1))/fabs(dfloors(1.0)))<1e-16);
+ assert ((fabs( dfloors(1.1) - (1))/fabs(dfloors(1.1)))<1e-16);
+ assert ((fabs( dfloors(1.2) - (1))/fabs(dfloors(1.2)))<1e-16);
+ assert ((fabs( dfloors(1.3) - (1))/fabs(dfloors(1.3)))<1e-16);
+ assert ((fabs( dfloors(1.4) - (1))/fabs(dfloors(1.4)))<1e-16);
+ assert ((fabs( dfloors(1.5) - (1))/fabs(dfloors(1.5)))<1e-16);
+ assert ((fabs( dfloors(1.6) - (1))/fabs(dfloors(1.6)))<1e-16);
+ assert ((fabs( dfloors(1.7) - (1))/fabs(dfloors(1.7)))<1e-16);
+ assert ((fabs( dfloors(1.8) - (1))/fabs(dfloors(1.8)))<1e-16);
assert ((fabs( dfloors(1.9) - (1))/fabs(dfloors(1.9)))<1e-16);
assert ((fabs( dfloors(2.0) - (2))/fabs(dfloors(2.0)))<1e-16);
@@ -110,9 +110,9 @@ static void dflooraTest(void) {
dfloora(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
-
-
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) < 1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
static void zflooraTest(void) {
@@ -127,8 +127,10 @@ static void zflooraTest(void) {
zfloora(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(zreals(out[i])-resR[i]) <1e-16);
- assert(fabs(zimags(out[i])-resI[i]) <1e-16);
+ if (zreals(out[i])!=0) assert( fabs(zreals(out[i])-resR[i])/fabs(zreals(out[i])) < 1e-16);
+ else assert(fabs(zreals(out[i])-resR[i]) <1e-16);
+ if (zimags(out[i])!=0) assert( fabs(zimags(out[i])-resI[i])/fabs(zimags(out[i])) < 1e-16);
+ else assert(fabs(zimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/floor/testFloatFloor.c b/src/elementaryFunctions/floor/testFloatFloor.c
index 1b171893..df49ee0d 100644
--- a/src/elementaryFunctions/floor/testFloatFloor.c
+++ b/src/elementaryFunctions/floor/testFloatFloor.c
@@ -18,25 +18,25 @@
static void sfloorsTest(void) {
assert ((fabs( sfloors(-2) - (-2))/fabs(sfloors(-2)))<1e-16);
assert ((fabs( sfloors(-1.9f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.8f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.7f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.6f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.5f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.4f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.3f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.2f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.1f) - (-2))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-1.0f) - (-1))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(-0.9f) - (-1))/fabs(sfloors(-1.9f)))<1e-16);
- assert ((fabs( sfloors(1.0f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.1f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.2f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.3f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.4f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.5f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.6f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.7f) - (1))/fabs(sfloors(1.9f)))<1e-16);
- assert ((fabs( sfloors(1.8f) - (1))/fabs(sfloors(1.9f)))<1e-16);
+ assert ((fabs( sfloors(-1.8f) - (-2))/fabs(sfloors(-1.8f)))<1e-16);
+ assert ((fabs( sfloors(-1.7f) - (-2))/fabs(sfloors(-1.7f)))<1e-16);
+ assert ((fabs( sfloors(-1.6f) - (-2))/fabs(sfloors(-1.6f)))<1e-16);
+ assert ((fabs( sfloors(-1.5f) - (-2))/fabs(sfloors(-1.5f)))<1e-16);
+ assert ((fabs( sfloors(-1.4f) - (-2))/fabs(sfloors(-1.4f)))<1e-16);
+ assert ((fabs( sfloors(-1.3f) - (-2))/fabs(sfloors(-1.3f)))<1e-16);
+ assert ((fabs( sfloors(-1.2f) - (-2))/fabs(sfloors(-1.2f)))<1e-16);
+ assert ((fabs( sfloors(-1.1f) - (-2))/fabs(sfloors(-1.1f)))<1e-16);
+ assert ((fabs( sfloors(-1.0f) - (-1))/fabs(sfloors(-1.0f)))<1e-16);
+ assert ((fabs( sfloors(-0.9f) - (-1))/fabs(sfloors(-0.9f)))<1e-16);
+ assert ((fabs( sfloors(1.0f) - (1))/fabs(sfloors(1.0f)))<1e-16);
+ assert ((fabs( sfloors(1.1f) - (1))/fabs(sfloors(1.1f)))<1e-16);
+ assert ((fabs( sfloors(1.2f) - (1))/fabs(sfloors(1.2f)))<1e-16);
+ assert ((fabs( sfloors(1.3f) - (1))/fabs(sfloors(1.3f)))<1e-16);
+ assert ((fabs( sfloors(1.4f) - (1))/fabs(sfloors(1.4f)))<1e-16);
+ assert ((fabs( sfloors(1.5f) - (1))/fabs(sfloors(1.5f)))<1e-16);
+ assert ((fabs( sfloors(1.6f) - (1))/fabs(sfloors(1.6f)))<1e-16);
+ assert ((fabs( sfloors(1.7f) - (1))/fabs(sfloors(1.7f)))<1e-16);
+ assert ((fabs( sfloors(1.8f) - (1))/fabs(sfloors(1.8f)))<1e-16);
assert ((fabs( sfloors(1.9f) - (1))/fabs(sfloors(1.9f)))<1e-16);
assert ((fabs( sfloors(2.0f) - (2))/fabs(sfloors(2.0f)))<1e-16);
}
@@ -107,7 +107,9 @@ static void sflooraTest(void) {
sfloora(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
static void cflooraTest(void) {
@@ -122,8 +124,10 @@ static void cflooraTest(void) {
cfloora(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(creals(out[i])-resR[i]) <1e-16);
- assert(fabs(cimags(out[i])-resI[i]) <1e-16);
+ if (creals(out[i])!=0) assert(fabs(creals(out[i])-resR[i])/fabs(creals(out[i])) <1e-16);
+ else assert(fabs(creals(out[i])-resR[i]) <1e-16);
+ if (cimags(out[i])!=0) assert(fabs(cimags(out[i])-resI[i])/fabs(cimags(out[i])) <1e-16);
+ else assert(fabs(cimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/int/testDoubleInt.c b/src/elementaryFunctions/int/testDoubleInt.c
index 4dfad2b6..f5bf78b8 100644
--- a/src/elementaryFunctions/int/testDoubleInt.c
+++ b/src/elementaryFunctions/int/testDoubleInt.c
@@ -27,25 +27,25 @@ static void dintsTest(void) {
*/
assert ((fabs( dints(-2) - (-2))/fabs(dints(-2)))<1e-16);
assert ((fabs( dints(-1.9) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.8) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.7) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.6) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.5) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.4) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.3) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.2) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.1) - (-1))/fabs(dints(-1.9)))<1e-16);
- assert ((fabs( dints(-1.0) - (-1))/fabs(dints(-1.9)))<1e-16);
+ assert ((fabs( dints(-1.8) - (-1))/fabs(dints(-1.8)))<1e-16);
+ assert ((fabs( dints(-1.7) - (-1))/fabs(dints(-1.7)))<1e-16);
+ assert ((fabs( dints(-1.6) - (-1))/fabs(dints(-1.6)))<1e-16);
+ assert ((fabs( dints(-1.5) - (-1))/fabs(dints(-1.5)))<1e-16);
+ assert ((fabs( dints(-1.4) - (-1))/fabs(dints(-1.4)))<1e-16);
+ assert ((fabs( dints(-1.3) - (-1))/fabs(dints(-1.3)))<1e-16);
+ assert ((fabs( dints(-1.2) - (-1))/fabs(dints(-1.2)))<1e-16);
+ assert ((fabs( dints(-1.1) - (-1))/fabs(dints(-1.1)))<1e-16);
+ assert ((fabs( dints(-1.0) - (-1))/fabs(dints(-1.0)))<1e-16);
assert (fabs( dints(-.9))<1e-16);
- assert ((fabs( dints(1.0) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.1) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.2) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.3) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.4) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.5) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.6) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.7) - (1))/fabs(dints(1.9)))<1e-16);
- assert ((fabs( dints(1.8) - (1))/fabs(dints(1.9)))<1e-16);
+ assert ((fabs( dints(1.0) - (1))/fabs(dints(1.0)))<1e-16);
+ assert ((fabs( dints(1.1) - (1))/fabs(dints(1.1)))<1e-16);
+ assert ((fabs( dints(1.2) - (1))/fabs(dints(1.2)))<1e-16);
+ assert ((fabs( dints(1.3) - (1))/fabs(dints(1.3)))<1e-16);
+ assert ((fabs( dints(1.4) - (1))/fabs(dints(1.4)))<1e-16);
+ assert ((fabs( dints(1.5) - (1))/fabs(dints(1.5)))<1e-16);
+ assert ((fabs( dints(1.6) - (1))/fabs(dints(1.6)))<1e-16);
+ assert ((fabs( dints(1.7) - (1))/fabs(dints(1.7)))<1e-16);
+ assert ((fabs( dints(1.8) - (1))/fabs(dints(1.8)))<1e-16);
assert ((fabs( dints(1.9) - (1))/fabs(dints(1.9)))<1e-16);
assert ((fabs( dints(2.0) - (2))/fabs(dints(2.0)))<1e-16);
@@ -116,7 +116,9 @@ static void dintaTest(void) {
dinta(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
@@ -134,7 +136,9 @@ static void zintaTest(void) {
zinta(in,10,out);
for (i=0;i<10;i++){
+ if(zreals(out[i])!=0) assert(fabs(zreals(out[i])-resR[i])/ fabs(zreals(out[i]))<1e-16);
assert(fabs(zreals(out[i])-resR[i]) <1e-16);
+ if(zimags(out[i])!=0) assert(fabs(zimags(out[i])-resI[i])/ fabs(zimags(out[i]))<1e-16);
assert(fabs(zimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/int/testFloatInt.c b/src/elementaryFunctions/int/testFloatInt.c
index 6ea781ff..923ebf5b 100644
--- a/src/elementaryFunctions/int/testFloatInt.c
+++ b/src/elementaryFunctions/int/testFloatInt.c
@@ -20,25 +20,25 @@ static void sintsTest(void) {
assert ((fabs( sints(-2) - (-2))/fabs(sints(-2)))<1e-16);
assert ((fabs( sints(-1.9f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.8f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.7f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.6f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.5f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.4f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.3f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.2f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.1f) - (-1))/fabs(sints(-1.9f)))<1e-16);
- assert ((fabs( sints(-1.0f) - (-1))/fabs(sints(-1.9f)))<1e-16);
+ assert ((fabs( sints(-1.8f) - (-1))/fabs(sints(-1.8f)))<1e-16);
+ assert ((fabs( sints(-1.7f) - (-1))/fabs(sints(-1.7f)))<1e-16);
+ assert ((fabs( sints(-1.6f) - (-1))/fabs(sints(-1.6f)))<1e-16);
+ assert ((fabs( sints(-1.5f) - (-1))/fabs(sints(-1.5f)))<1e-16);
+ assert ((fabs( sints(-1.4f) - (-1))/fabs(sints(-1.4f)))<1e-16);
+ assert ((fabs( sints(-1.3f) - (-1))/fabs(sints(-1.3f)))<1e-16);
+ assert ((fabs( sints(-1.2f) - (-1))/fabs(sints(-1.2f)))<1e-16);
+ assert ((fabs( sints(-1.1f) - (-1))/fabs(sints(-1.1f)))<1e-16);
+ assert ((fabs( sints(-1.0f) - (-1))/fabs(sints(-1.0f)))<1e-16);
assert (fabs( sints(-.9f))<1e-16);
- assert ((fabs( sints(1.0f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.1f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.2f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.3f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.4f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.5f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.6f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.7f) - (1))/fabs(sints(1.9f)))<1e-16);
- assert ((fabs( sints(1.8f) - (1))/fabs(sints(1.9f)))<1e-16);
+ assert ((fabs( sints(1.0f) - (1))/fabs(sints(1.0f)))<1e-16);
+ assert ((fabs( sints(1.1f) - (1))/fabs(sints(1.1f)))<1e-16);
+ assert ((fabs( sints(1.2f) - (1))/fabs(sints(1.2f)))<1e-16);
+ assert ((fabs( sints(1.3f) - (1))/fabs(sints(1.3f)))<1e-16);
+ assert ((fabs( sints(1.4f) - (1))/fabs(sints(1.4f)))<1e-16);
+ assert ((fabs( sints(1.5f) - (1))/fabs(sints(1.5f)))<1e-16);
+ assert ((fabs( sints(1.6f) - (1))/fabs(sints(1.6f)))<1e-16);
+ assert ((fabs( sints(1.7f) - (1))/fabs(sints(1.7f)))<1e-16);
+ assert ((fabs( sints(1.8f) - (1))/fabs(sints(1.8f)))<1e-16);
assert ((fabs( sints(1.9f) - (1))/fabs(sints(1.9f)))<1e-16);
assert ((fabs( sints(2.0f) - (2))/fabs(sints(2.0f)))<1e-16);
}
@@ -108,7 +108,9 @@ static void sintaTest(void) {
sinta(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
@@ -124,8 +126,10 @@ static void cintaTest(void) {
cinta(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(creals(out[i])-resR[i]) <1e-16);
- assert(fabs(cimags(out[i])-resI[i]) <1e-16);
+ if (creals(out[i])!=0) assert(fabs(creals(out[i])-resR[i])/fabs(creals(out[i])) <1e-16);
+ else assert(fabs(creals(out[i])-resR[i]) <1e-16);
+ if (cimags(out[i])!=0) assert(fabs(cimags(out[i])-resI[i])/fabs(cimags(out[i])) <1e-16);
+ else assert(fabs(cimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/log/testDoubleLog.c b/src/elementaryFunctions/log/testDoubleLog.c
index 94f8357f..424b9db2 100644
--- a/src/elementaryFunctions/log/testDoubleLog.c
+++ b/src/elementaryFunctions/log/testDoubleLog.c
@@ -852,7 +852,7 @@ void dlogsTest(void) {
for (i=0;i<200;i++){
out=dlogs(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
for (i=0;i<200;i++){
@@ -878,15 +878,15 @@ void zlogsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zlogs(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
for (i=0;i<200;i++){
in2=DoubleComplex(in2R[i],in2I[i]);
out=zlogs(in2);
- assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<3e-16);
assert(( (fabs(zimags(out)-res2I[i]))/(fabs(zimags(out))) )<1e-16);
}
}
@@ -901,7 +901,7 @@ void dlogaTest(void) {
dloga(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
dloga(in2,200,out);
@@ -927,15 +927,15 @@ void zlogaTest(void) {
zloga(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14);
- assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
in2=DoubleComplexMatrix(in2R,in2I,200);
zloga(in2,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<1e-15);
+ assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<3e-16);
assert(( (fabs(zimags(out[i])-res2I[i]))/(fabs(zimags(out[i]))) )<1e-16);
}
diff --git a/src/elementaryFunctions/log/testFloatLog.c b/src/elementaryFunctions/log/testFloatLog.c
index 34b12d89..d2a85cc0 100644
--- a/src/elementaryFunctions/log/testFloatLog.c
+++ b/src/elementaryFunctions/log/testFloatLog.c
@@ -857,12 +857,12 @@ void slogsTest(void) {
for (i=0;i<200;i++){
out=slogs(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-6);
}
for (i=0;i<200;i++){
out=slogs(in2[i]);
- assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-4);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<3e-6);
}
}
@@ -881,7 +881,7 @@ void clogsTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=clogs(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
@@ -903,12 +903,12 @@ void slogaTest(void) {
sloga(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-6);
}
sloga(in2,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-4);
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<3e-6);
}
}
@@ -928,7 +928,7 @@ void clogaTest(void) {
cloga(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
diff --git a/src/elementaryFunctions/log10/testDoubleLog10.c b/src/elementaryFunctions/log10/testDoubleLog10.c
index 55c764d4..5f67225c 100644
--- a/src/elementaryFunctions/log10/testDoubleLog10.c
+++ b/src/elementaryFunctions/log10/testDoubleLog10.c
@@ -430,7 +430,7 @@ void dlog10sTest(void) {
for (i=0;i<200;i++){
out=dlog10s(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -445,8 +445,8 @@ void zlog10sTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zlog10s(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -458,7 +458,7 @@ void dlog10aTest(void) {
dlog10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -475,8 +475,8 @@ void zlog10aTest(void) {
zlog10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14);
- assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/log10/testFloatLog10.c b/src/elementaryFunctions/log10/testFloatLog10.c
index bfddf6a8..f2418246 100644
--- a/src/elementaryFunctions/log10/testFloatLog10.c
+++ b/src/elementaryFunctions/log10/testFloatLog10.c
@@ -431,7 +431,7 @@ void slog10sTest(void) {
for (i=0;i<200;i++){
out=slog10s(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-6);
}
}
@@ -446,7 +446,7 @@ void clog10sTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i],inI[i]);
out=clog10s(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
}
@@ -459,7 +459,7 @@ void slog10aTest(void) {
j=1;
slog10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-6);
}
}
@@ -475,7 +475,7 @@ void clog10aTest(void) {
clog10a(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
}
diff --git a/src/elementaryFunctions/log1p/testDoubleLog1p.c b/src/elementaryFunctions/log1p/testDoubleLog1p.c
index 61a0d688..1499b296 100644
--- a/src/elementaryFunctions/log1p/testDoubleLog1p.c
+++ b/src/elementaryFunctions/log1p/testDoubleLog1p.c
@@ -1135,13 +1135,13 @@ void dlog1psTest(void) {
for (i=0;i<200;i++){
out=dlog1ps(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
for (i=0;i<200;i++){
out=dlog1ps(in2[i]);
- assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<3e-16);
}
}
@@ -1162,14 +1162,14 @@ void zlog1psTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i]-1,inI[i]);
out=zlog1ps(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
for (i=0;i<200;i++){
in2=DoubleComplex(in2R[i]-1,in2I[i]);
out=zlog1ps(in2);
- assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<3e-16);
assert(( (fabs(zimags(out)-res2I[i]))/(fabs(zimags(out))) )<1e-16);
}
@@ -1190,12 +1190,12 @@ void dlog1paTest(void) {
dlog1pa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
dlog1pa(in2,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -1221,15 +1221,15 @@ void zlog1paTest(void) {
zlog1pa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14);
- assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
in2=DoubleComplexMatrix(in2R,in2I,200);
zlog1pa(in2,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<1e-15);
+ assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<3e-16);
assert(( (fabs(zimags(out[i])-res2I[i]))/(fabs(zimags(out[i]))) )<1e-16);
}
diff --git a/src/elementaryFunctions/log1p/testFloatLog1p.c b/src/elementaryFunctions/log1p/testFloatLog1p.c
index 316327e6..dc9f24ac 100644
--- a/src/elementaryFunctions/log1p/testFloatLog1p.c
+++ b/src/elementaryFunctions/log1p/testFloatLog1p.c
@@ -855,12 +855,12 @@ void slog1psTest(void) {
for (i=0;i<200;i++){
out=slog1ps(in[i]-1);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-6);
}
for (i=0;i<200;i++){
out=slog1ps(in2[i]-1);
- assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-4);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<3e-6);
}
}
@@ -879,7 +879,7 @@ void clog1psTest(void) {
for (i=0;i<200;i++){
in=FloatComplex(inR[i]-1,inI[i]);
out=clog1ps(in);
- assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<3e-6);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
@@ -906,12 +906,12 @@ void slog1paTest(void) {
slog1pa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-6);
}
slog1pa(in2,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-4);
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<3e-6);
}
}
@@ -936,7 +936,7 @@ void clog1paTest(void) {
clog1pa(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<3e-6);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
diff --git a/src/elementaryFunctions/pow/testDoublePow.c b/src/elementaryFunctions/pow/testDoublePow.c
index 57707f2a..0bde4acd 100644
--- a/src/elementaryFunctions/pow/testDoublePow.c
+++ b/src/elementaryFunctions/pow/testDoublePow.c
@@ -438,7 +438,7 @@ void dpowsTest(void) {
out2=dpows(in1[i],0);
out3=dpows(in1[i],1);
- assert(( (fabs(out1-res[i]))/(fabs(out1)) )<1e-15);
+ assert(( (fabs(out1-res[i]))/(fabs(out1)) )<3e-16);
assert(( (fabs(out2-1))/(fabs(out2)) )<1e-16);
assert(( (fabs(out3-in1[i]))/(fabs(out3)) )<1e-16);
}
@@ -456,8 +456,8 @@ void zpowsTest(void) {
for (i=0;i<200;i++){
in1=DoubleComplex(in1R[i],in1I[i]);
out=zpows(in1,in2);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -478,7 +478,7 @@ void dpowaTest(void) {
dpowa(in1,200,ZERO,out2);
dpowa(in1,200,ONE,out3);
for (i=0;i<200;i++){
- assert(( (fabs(out1[i]-res[i]))/(fabs(out1[i])) )<1e-15);
+ assert(( (fabs(out1[i]-res[i]))/(fabs(out1[i])) )<3e-16);
assert(( (fabs(out2[i]-1))/(fabs(out2[i])) )<1e-16);
assert(( (fabs(out3[i]-in1[i]))/(fabs(out3[i])) )<1e-16);
}
@@ -498,8 +498,8 @@ void zpowaTest(void) {
zpowa(in1,200,in2,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/round/testDoubleRound.c b/src/elementaryFunctions/round/testDoubleRound.c
index e38438d2..5844a39b 100644
--- a/src/elementaryFunctions/round/testDoubleRound.c
+++ b/src/elementaryFunctions/round/testDoubleRound.c
@@ -19,25 +19,25 @@
static void droundsTest(void) {
assert ((fabs( drounds(-2) - (-2))/fabs(drounds(-2)))<1e-16);
assert ((fabs( drounds(-1.9) - (-2))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.8) - (-2))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.7) - (-2))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.6) - (-2))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.5) - (-2))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.4) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.3) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.2) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.1) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-1.0) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(-0.9) - (-1))/fabs(drounds(-1.9)))<1e-16);
- assert ((fabs( drounds(1.0) - (1))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.1) - (1))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.2) - (1))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.3) - (1))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.4) - (1))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.5) - (2))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.6) - (2))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.7) - (2))/fabs(drounds(1.9)))<1e-16);
- assert ((fabs( drounds(1.8) - (2))/fabs(drounds(1.9)))<1e-16);
+ assert ((fabs( drounds(-1.8) - (-2))/fabs(drounds(-1.8)))<1e-16);
+ assert ((fabs( drounds(-1.7) - (-2))/fabs(drounds(-1.7)))<1e-16);
+ assert ((fabs( drounds(-1.6) - (-2))/fabs(drounds(-1.6)))<1e-16);
+ assert ((fabs( drounds(-1.5) - (-2))/fabs(drounds(-1.5)))<1e-16);
+ assert ((fabs( drounds(-1.4) - (-1))/fabs(drounds(-1.4)))<1e-16);
+ assert ((fabs( drounds(-1.3) - (-1))/fabs(drounds(-1.3)))<1e-16);
+ assert ((fabs( drounds(-1.2) - (-1))/fabs(drounds(-1.2)))<1e-16);
+ assert ((fabs( drounds(-1.1) - (-1))/fabs(drounds(-1.1)))<1e-16);
+ assert ((fabs( drounds(-1.0) - (-1))/fabs(drounds(-1.0)))<1e-16);
+ assert ((fabs( drounds(-0.9) - (-1))/fabs(drounds(-0.9)))<1e-16);
+ assert ((fabs( drounds(1.0) - (1))/fabs(drounds(1.0)))<1e-16);
+ assert ((fabs( drounds(1.1) - (1))/fabs(drounds(1.1)))<1e-16);
+ assert ((fabs( drounds(1.2) - (1))/fabs(drounds(1.2)))<1e-16);
+ assert ((fabs( drounds(1.3) - (1))/fabs(drounds(1.3)))<1e-16);
+ assert ((fabs( drounds(1.4) - (1))/fabs(drounds(1.4)))<1e-16);
+ assert ((fabs( drounds(1.5) - (2))/fabs(drounds(1.5)))<1e-16);
+ assert ((fabs( drounds(1.6) - (2))/fabs(drounds(1.6)))<1e-16);
+ assert ((fabs( drounds(1.7) - (2))/fabs(drounds(1.7)))<1e-16);
+ assert ((fabs( drounds(1.8) - (2))/fabs(drounds(1.8)))<1e-16);
assert ((fabs( drounds(1.9) - (2))/fabs(drounds(1.9)))<1e-16);
assert ((fabs( drounds(2.0) - (2))/fabs(drounds(2.0)))<1e-16);
@@ -109,7 +109,9 @@ static void droundaTest(void) {
drounda(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
@@ -125,8 +127,10 @@ static void zroundaTest(void) {
zrounda(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(zreals(out[i])-resR[i]) <1e-16);
- assert(fabs(zimags(out[i])-resI[i]) <1e-16);
+ if (zreals(out[i])!=0) assert(fabs(zreals(out[i])-resR[i])/fabs(zreals(out[i])) <1e-16);
+ else assert(fabs(zreals(out[i])-resR[i]) <1e-16);
+ if (zimags(out[i])!=0) assert(fabs(zimags(out[i])-resI[i])/fabs(zimags(out[i])) <1e-16);
+ else assert(fabs(zimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/round/testFloatRound.c b/src/elementaryFunctions/round/testFloatRound.c
index 08054fd2..faac7665 100644
--- a/src/elementaryFunctions/round/testFloatRound.c
+++ b/src/elementaryFunctions/round/testFloatRound.c
@@ -20,25 +20,25 @@ static void sroundsTest(void) {
assert ((fabs( srounds(-2) - (-2))/fabs(srounds(-2)))<1e-16);
assert ((fabs( srounds(-1.9f) - (-2))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.8f) - (-2))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.7f) - (-2))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.6f) - (-2))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.5f) - (-2))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.4f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.3f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.2f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.1f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-1.0f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(-0.9f) - (-1))/fabs(srounds(-1.9f)))<1e-16);
- assert ((fabs( srounds(1.0f) - (1))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.1f) - (1))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.2f) - (1))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.3f) - (1))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.4f) - (1))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.5f) - (2))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.6f) - (2))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.7f) - (2))/fabs(srounds(1.9f)))<1e-16);
- assert ((fabs( srounds(1.8f) - (2))/fabs(srounds(1.9f)))<1e-16);
+ assert ((fabs( srounds(-1.8f) - (-2))/fabs(srounds(-1.8f)))<1e-16);
+ assert ((fabs( srounds(-1.7f) - (-2))/fabs(srounds(-1.7f)))<1e-16);
+ assert ((fabs( srounds(-1.6f) - (-2))/fabs(srounds(-1.6f)))<1e-16);
+ assert ((fabs( srounds(-1.5f) - (-2))/fabs(srounds(-1.5f)))<1e-16);
+ assert ((fabs( srounds(-1.4f) - (-1))/fabs(srounds(-1.4f)))<1e-16);
+ assert ((fabs( srounds(-1.3f) - (-1))/fabs(srounds(-1.3f)))<1e-16);
+ assert ((fabs( srounds(-1.2f) - (-1))/fabs(srounds(-1.2f)))<1e-16);
+ assert ((fabs( srounds(-1.1f) - (-1))/fabs(srounds(-1.1f)))<1e-16);
+ assert ((fabs( srounds(-1.0f) - (-1))/fabs(srounds(-1.0f)))<1e-16);
+ assert ((fabs( srounds(-0.9f) - (-1))/fabs(srounds(-0.9f)))<1e-16);
+ assert ((fabs( srounds(1.0f) - (1))/fabs(srounds(1.0f)))<1e-16);
+ assert ((fabs( srounds(1.1f) - (1))/fabs(srounds(1.1f)))<1e-16);
+ assert ((fabs( srounds(1.2f) - (1))/fabs(srounds(1.2f)))<1e-16);
+ assert ((fabs( srounds(1.3f) - (1))/fabs(srounds(1.3f)))<1e-16);
+ assert ((fabs( srounds(1.4f) - (1))/fabs(srounds(1.4f)))<1e-16);
+ assert ((fabs( srounds(1.5f) - (2))/fabs(srounds(1.5f)))<1e-16);
+ assert ((fabs( srounds(1.6f) - (2))/fabs(srounds(1.6f)))<1e-16);
+ assert ((fabs( srounds(1.7f) - (2))/fabs(srounds(1.7f)))<1e-16);
+ assert ((fabs( srounds(1.8f) - (2))/fabs(srounds(1.8f)))<1e-16);
assert ((fabs( srounds(1.9f) - (2))/fabs(srounds(1.9f)))<1e-16);
assert ((fabs( srounds(2.0f) - (2))/fabs(srounds(2.0f)))<1e-16);
}
@@ -108,7 +108,9 @@ static void sroundaTest(void) {
srounda(in,10,out);
- for (i=0;i<10;i++) assert(fabs(out[i]-res[i]) <1e-16);
+ for (i=0;i<10;i++)
+ if (out[i]!=0) assert(fabs(out[i]-res[i])/fabs(out[i]) <1e-16);
+ else assert(fabs(out[i]-res[i]) <1e-16);
}
static void croundaTest(void) {
@@ -123,8 +125,10 @@ static void croundaTest(void) {
crounda(in,10,out);
for (i=0;i<10;i++){
- assert(fabs(creals(out[i])-resR[i]) <1e-16);
- assert(fabs(cimags(out[i])-resI[i]) <1e-16);
+ if (creals(out[i])!=0) assert(fabs(creals(out[i])-resR[i])/fabs(creals(out[i])) <1e-16);
+ else assert(fabs(creals(out[i])-resR[i]) <1e-16);
+ if (cimags(out[i])!=0) assert(fabs(cimags(out[i])-resI[i])/fabs(cimags(out[i])) <1e-16);
+ else assert(fabs(cimags(out[i])-resI[i]) <1e-16);
}
}
diff --git a/src/elementaryFunctions/sin/testDoubleSin.c b/src/elementaryFunctions/sin/testDoubleSin.c
index a485b8a1..e8dce216 100644
--- a/src/elementaryFunctions/sin/testDoubleSin.c
+++ b/src/elementaryFunctions/sin/testDoubleSin.c
@@ -433,7 +433,7 @@ void dsinsTest() {
for (i=0;i<200;i++){
out=dsins(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -448,8 +448,8 @@ void zsinsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zsins(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -478,8 +478,8 @@ void zsinaTest(void) {
zsina(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/sinh/testDoubleSinh.c b/src/elementaryFunctions/sinh/testDoubleSinh.c
index 4848e225..6509d1c2 100644
--- a/src/elementaryFunctions/sinh/testDoubleSinh.c
+++ b/src/elementaryFunctions/sinh/testDoubleSinh.c
@@ -430,7 +430,7 @@ void dsinhsTest(void) {
for (i=0;i<200;i++){
out=dsinhs(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -445,8 +445,8 @@ void zsinhsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zsinhs(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -458,7 +458,7 @@ void dsinhaTest(void) {
dsinha(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -485,14 +485,14 @@ mon_test=DoubleComplexMatrix(mon_testR,mon_testI,9);
zsinha(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
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);
+ assert(( (fabs(zreals(mon_out[i])-mon_resR[i]))/(fabs(zreals(mon_out[i]))) )<3e-16);
+ if (zimags(mon_out[i])!=0) assert(( (fabs(zimags(mon_out[i])-mon_resI[i]))/(fabs(zimags(mon_out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/sqrt/testDoubleSqrt.c b/src/elementaryFunctions/sqrt/testDoubleSqrt.c
index 5a654cb2..08b74137 100644
--- a/src/elementaryFunctions/sqrt/testDoubleSqrt.c
+++ b/src/elementaryFunctions/sqrt/testDoubleSqrt.c
@@ -430,7 +430,7 @@ void dsqrtsTest(void) {
for (i=0;i<200;i++){
out=dsqrts(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -445,8 +445,8 @@ void zsqrtsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=zsqrts(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -475,8 +475,8 @@ void zsqrtaTest(void) {
zsqrta(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/tan/testDoubleTan.c b/src/elementaryFunctions/tan/testDoubleTan.c
index 66941024..b4c8a3fa 100644
--- a/src/elementaryFunctions/tan/testDoubleTan.c
+++ b/src/elementaryFunctions/tan/testDoubleTan.c
@@ -431,7 +431,7 @@ void dtansTest(void) {
for (i=0;i<200;i++){
out=dtans(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -446,8 +446,8 @@ void ztansTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=ztans(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -476,8 +476,8 @@ void ztanaTest(void) {
ztana(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}
diff --git a/src/elementaryFunctions/tanh/testDoubleTanh.c b/src/elementaryFunctions/tanh/testDoubleTanh.c
index 975d0a68..bd76c92e 100644
--- a/src/elementaryFunctions/tanh/testDoubleTanh.c
+++ b/src/elementaryFunctions/tanh/testDoubleTanh.c
@@ -430,7 +430,7 @@ void dtanhsTest(void) {
for (i=0;i<200;i++){
out=dtanhs(in[i]);
- assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16);
}
}
@@ -445,8 +445,8 @@ void ztanhsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out=ztanhs(in);
- assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15);
- assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-16);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-16);
}
}
@@ -458,7 +458,7 @@ void dtanhaTest(void) {
dtanha(in,200,out);
for (i=0;i<200;i++){
- assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<3e-16);
}
}
@@ -475,8 +475,8 @@ void ztanhaTest(void) {
ztanha(in,200,out);
for (i=0;i<200;i++){
- 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);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-16);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-16);
}
}