summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/fix/testFloatFix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/elementaryFunctions/fix/testFloatFix.c')
-rw-r--r--src/elementaryFunctions/fix/testFloatFix.c46
1 files changed, 25 insertions, 21 deletions
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);
}
}