diff options
Diffstat (limited to 'src/elementaryFunctions/fix')
-rw-r--r-- | src/elementaryFunctions/fix/testDoubleFix.c | 46 | ||||
-rw-r--r-- | src/elementaryFunctions/fix/testFloatFix.c | 46 |
2 files changed, 50 insertions, 42 deletions
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); } } |