summaryrefslogtreecommitdiff
path: root/src/statisticsFunctions/prod
diff options
context:
space:
mode:
authortorset2009-02-27 15:10:31 +0000
committertorset2009-02-27 15:10:31 +0000
commit1383e3c41c27049babcc264c0cba10fa5ef858ed (patch)
tree94b54d3ad1c8de7479826654041e01dff194cf41 /src/statisticsFunctions/prod
parent032f682c8ee956db344b1aae267a28e344ace94b (diff)
downloadscilab2c-1383e3c41c27049babcc264c0cba10fa5ef858ed.tar.gz
scilab2c-1383e3c41c27049babcc264c0cba10fa5ef858ed.tar.bz2
scilab2c-1383e3c41c27049babcc264c0cba10fa5ef858ed.zip
change precision for tests : put it to 3e-16 for double and 3e-6 for float
Diffstat (limited to 'src/statisticsFunctions/prod')
-rw-r--r--src/statisticsFunctions/prod/testDoubleProd.c134
-rw-r--r--src/statisticsFunctions/prod/testFloatProd.c8
2 files changed, 71 insertions, 71 deletions
diff --git a/src/statisticsFunctions/prod/testDoubleProd.c b/src/statisticsFunctions/prod/testDoubleProd.c
index 9ec1559c..b18ca148 100644
--- a/src/statisticsFunctions/prod/testDoubleProd.c
+++ b/src/statisticsFunctions/prod/testDoubleProd.c
@@ -41,7 +41,7 @@ static int dprodaTest(void) {
printf("\n>>>> prod Double Array Test\n");
printf("%f\n", dproda(table1, 3));
assert(dproda(table1, 3) == 27.0);
- assert((dproda(table2, 5) - (9.186784 * 9.186784 * 9.186784 * 9.186784 * 9.186784)) / dproda(table2, 5) < 1e-6);
+ assert((dproda(table2, 5) - (9.186784 * 9.186784 * 9.186784 * 9.186784 * 9.186784)) / dproda(table2, 5) < 3e-16);
return 0;
}
@@ -238,8 +238,8 @@ static int zprodaTest(void) {
#endif
assert(zreals(zproda(table1, 3)) == -54.0);
assert(zimags(zproda(table1, 3)) == 54.0);
- assert(fabs(zreals(zproda(table2, 5)) + 261744.55211053110542707) < 1e-06);
- assert(fabs(zimags(zproda(table2, 5)) + 261744.55211053110542707) < 1e-06);
+ assert(fabs(zreals(zproda(table2, 5)) + 261744.55211053110542707) < 3e-16);
+ assert(fabs(zimags(zproda(table2, 5)) + 261744.55211053110542707) < 3e-16);
return 0;
}
@@ -271,12 +271,12 @@ static int zrowprodaTest(void) {
for (i = 0 ; i < 3 ; ++i) {
printf("rowProductedIn_4_3[%d] = %e + %ei\n", i, zreals(rowProductedIn_4_3[i]), zimags(rowProductedIn_4_3[i]));
}
- assert(fabs(zreals(rowProductedIn_4_3[0]) - 0.6787000000000000810019) < 1e-06);
- assert(fabs(zimags(rowProductedIn_4_3[0]) + 0.5456) < 1e-06);
- assert(fabs(zreals(rowProductedIn_4_3[1]) + 0.3964999999999999635847) < 1e-06);
- assert(fabs(zimags(rowProductedIn_4_3[1]) - 0.0) < 1e-06);
- assert(fabs(zreals(rowProductedIn_4_3[2]) - 0.6787000000000000810019) < 1e-06);
- assert(fabs(zimags(rowProductedIn_4_3[2]) - 0.5456) < 1e-06);
+ assert(fabs(zreals(rowProductedIn_4_3[0]) - 0.6787000000000000810019) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[0]) + 0.5456) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_4_3[1]) + 0.3964999999999999635847) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[1]) - 0.0) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_4_3[2]) - 0.6787000000000000810019) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_4_3[2]) - 0.5456) < 3e-16);
/*
[ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ]
@@ -289,14 +289,14 @@ static int zrowprodaTest(void) {
for (i = 0 ; i < 4 ; ++i) {
printf("rowProductedIn_3_4[%d] = %e + %ei\n", i, zreals(rowProductedIn_3_4[i]), zimags(rowProductedIn_3_4[i]));
}
- assert(fabs(zreals(rowProductedIn_3_4[0]) + 0.3190000000000000612843) < 1e-06);
- assert(fabs(zimags(rowProductedIn_3_4[0]) + 0.9680000000000000826006) < 1e-06);
- assert(fabs(zreals(rowProductedIn_3_4[1]) + 0.5380000000000000337508) < 1e-06);
- assert(fabs(zimags(rowProductedIn_3_4[1]) - 0.0010000000000000563993 ) < 1e-06);
- assert(fabs(zreals(rowProductedIn_3_4[2]) + 0.0010000000000000008882) < 1e-06);
- assert(fabs(zimags(rowProductedIn_3_4[2]) - 0.5379999999999999227285) < 1e-06);
- assert(fabs(zreals(rowProductedIn_3_4[3]) - 0.9680000000000000826006) < 1e-06);
- assert(fabs(zimags(rowProductedIn_3_4[3]) - 0.3190000000000000612843) < 1e-06);
+ assert(fabs(zreals(rowProductedIn_3_4[0]) + 0.3190000000000000612843) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[0]) + 0.9680000000000000826006) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[1]) + 0.5380000000000000337508) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[1]) - 0.0010000000000000563993 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[2]) + 0.0010000000000000008882) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[2]) - 0.5379999999999999227285) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_3_4[3]) - 0.9680000000000000826006) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_3_4[3]) - 0.3190000000000000612843) < 3e-16);
/*
[ 1.1i 0.6+0.5i ]
@@ -310,10 +310,10 @@ static int zrowprodaTest(void) {
for (i = 0 ; i < 2 ; ++i) {
printf("rowProductedIn_6_2[%d] = %e + %ei\n", i, zreals(rowProductedIn_6_2[i]), zimags(rowProductedIn_6_2[i]));
}
- assert(fabs(zreals(rowProductedIn_6_2[0]) - 0.1725900000000000766853) < 1e-06);
- assert(fabs(zimags(rowProductedIn_6_2[0]) - 0.5204650000000000664713) < 1e-06);
- assert(fabs(zreals(rowProductedIn_6_2[1]) + 0.1725899999999999934186) < 1e-06);
- assert(fabs(zimags(rowProductedIn_6_2[1]) - 0.5204649999999999554490 ) < 1e-06);
+ assert(fabs(zreals(rowProductedIn_6_2[0]) - 0.1725900000000000766853) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_6_2[0]) - 0.5204650000000000664713) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_6_2[1]) + 0.1725899999999999934186) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_6_2[1]) - 0.5204649999999999554490 ) < 3e-16);
/*
[ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ]
@@ -328,18 +328,18 @@ static int zrowprodaTest(void) {
for (i = 0 ; i < 6 ; ++i) {
printf("rowProductedIn_2_6[%d] = %e + %ei\n", i, zreals(rowProductedIn_2_6[i]), zimags(rowProductedIn_2_6[i]));
}
- assert(fabs(zreals(rowProductedIn_2_6[0]) + 1.1000000000000000888178) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[0]) - 0.11) < 1e-06);
- assert(fabs(zreals(rowProductedIn_2_6[1]) + 0.6600000000000001421086) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[1]) - 0.4300000000000000488498 ) < 1e-06);
- assert(fabs(zreals(rowProductedIn_2_6[2]) + 0.2199999999999999733547) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[2]) - 0.5899999999999999689138) < 1e-06);
- assert(fabs(zreals(rowProductedIn_2_6[3]) - 0.2199999999999999733547) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[3]) - 0.5899999999999999689138 ) < 1e-06);
- assert(fabs(zreals(rowProductedIn_2_6[4]) - 0.6600000000000001421086) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[4]) - 0.4300000000000000488498) < 1e-06);
- assert(fabs(zreals(rowProductedIn_2_6[5]) - 1.1000000000000000888178) < 1e-06);
- assert(fabs(zimags(rowProductedIn_2_6[5]) - 0.11 ) < 1e-06);
+ assert(fabs(zreals(rowProductedIn_2_6[0]) + 1.1000000000000000888178) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[0]) - 0.11) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[1]) + 0.6600000000000001421086) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[1]) - 0.4300000000000000488498 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[2]) + 0.2199999999999999733547) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[2]) - 0.5899999999999999689138) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[3]) - 0.2199999999999999733547) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[3]) - 0.5899999999999999689138 ) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[4]) - 0.6600000000000001421086) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[4]) - 0.4300000000000000488498) < 3e-16);
+ assert(fabs(zreals(rowProductedIn_2_6[5]) - 1.1000000000000000888178) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_2_6[5]) - 0.11 ) < 3e-16);
/*
[ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
@@ -369,8 +369,8 @@ static int zrowprodaTest(void) {
*/
zrowproda(in, 12, 1, rowProductedIn_12_1);
printf("rowProductedIn_12_1[%d] = %e + %ei\n", 0, zreals(rowProductedIn_12_1[0]), zimags(rowProductedIn_12_1[0]));
- assert(fabs(zreals(rowProductedIn_12_1[0]) + 0.3006711243250001497351) < 1e-06);
- assert(fabs(zimags(rowProductedIn_12_1[0]) - 0.0000000000000000038164) < 1e-06);
+ assert(fabs(zreals(rowProductedIn_12_1[0]) + 0.3006711243250001497351) < 3e-16);
+ assert(fabs(zimags(rowProductedIn_12_1[0]) - 0.0000000000000000038164) < 3e-16);
return 0;
}
@@ -402,14 +402,14 @@ static int zcolumnprodaTest(void) {
for (i = 0 ; i < 4 ; ++i) {
printf("columnProductedIn_4_3[%d] = %e + %ei\n", i, zreals(columnProductedIn_4_3[i]), zimags(columnProductedIn_4_3[i]));
}
- assert(fabs(zreals(columnProductedIn_4_3[0]) + 0.7480000000000001092460) < 1e-06);
- assert(fabs(zimags(columnProductedIn_4_3[0]) - 0.1210000000000001074696) < 1e-06);
- assert(fabs(zreals(columnProductedIn_4_3[1]) + 0.6069999999999999840128) < 1e-06);
- assert(fabs(zimags(columnProductedIn_4_3[1]) - 0.394000000000000127897) < 1e-06);
- assert(fabs(zreals(columnProductedIn_4_3[2]) + 0.3940000000000000168754) < 1e-06);
- assert(fabs(zimags(columnProductedIn_4_3[2]) - 0.606999999999999984012) < 1e-06);
- assert(fabs(zreals(columnProductedIn_4_3[3]) + 0.1210000000000000935918) < 1e-06);
- assert(fabs(zimags(columnProductedIn_4_3[3]) - 0.7479999999999999982236) < 1e-06);
+ assert(fabs(zreals(columnProductedIn_4_3[0]) + 0.7480000000000001092460) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[0]) - 0.1210000000000001074696) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[1]) + 0.6069999999999999840128) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[1]) - 0.394000000000000127897) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[2]) + 0.3940000000000000168754) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[2]) - 0.606999999999999984012) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_4_3[3]) + 0.1210000000000000935918) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_4_3[3]) - 0.7479999999999999982236) < 3e-16);
/*
[ 1.1i 0.3+0.8i 0.6+0.5i 0.9+0.2i ] [ - 0.5753000000000000335731 - 0.3564000000000000500933i ]
@@ -420,12 +420,12 @@ static int zcolumnprodaTest(void) {
for (i = 0 ; i < 3 ; ++i) {
printf("columnProductedIn_3_4[%d] = %e + %ei\n", i, zreals(columnProductedIn_3_4[i]), zimags(columnProductedIn_3_4[i]));
}
- assert(fabs(zreals(columnProductedIn_3_4[0]) + 0.5753000000000000335731) < 1e-06);
- assert(fabs(zimags(columnProductedIn_3_4[0]) + 0.3564000000000000500933) < 1e-06);
- assert(fabs(zreals(columnProductedIn_3_4[1]) + 0.6564999999999998614442) < 1e-06);
- assert(fabs(zimags(columnProductedIn_3_4[1]) - 0.0000000000000000693889) < 1e-06);
- assert(fabs(zreals(columnProductedIn_3_4[2]) + 0.5753000000000001445955) < 1e-06);
- assert(fabs(zimags(columnProductedIn_3_4[2]) - 0.3564000000000001056044) < 1e-06);
+ assert(fabs(zreals(columnProductedIn_3_4[0]) + 0.5753000000000000335731) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[0]) + 0.3564000000000000500933) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_3_4[1]) + 0.6564999999999998614442) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[1]) - 0.0000000000000000693889) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_3_4[2]) + 0.5753000000000001445955) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_3_4[2]) - 0.3564000000000001056044) < 3e-16);
/*
[ 1.1i 0.6+0.5i ] [ - 0.5500000000000000444089 + 0.6600000000000000310862i ]
@@ -439,18 +439,18 @@ static int zcolumnprodaTest(void) {
for (i = 0 ; i < 6 ; ++i) {
printf("columnProductedIn_6_2[%d] = %e + %ei\n", i, zreals(columnProductedIn_6_2[i]), zimags(columnProductedIn_6_2[i]));
}
- assert(fabs(zreals(columnProductedIn_6_2[0]) + 0.5500000000000000444089) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[0]) - 0.6600000000000000310862) < 1e-06);
- assert(fabs(zreals(columnProductedIn_6_2[1]) + 0.3300000000000000155431) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[1]) - 0.7399999999999999911182) < 1e-06);
- assert(fabs(zreals(columnProductedIn_6_2[2]) + 0.1099999999999999866773) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[2]) - 0.7800000000000000266454) < 1e-06);
- assert(fabs(zreals(columnProductedIn_6_2[3]) - 0.1099999999999999866773) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[3]) - 0.7800000000000000266454) < 1e-06);
- assert(fabs(zreals(columnProductedIn_6_2[4]) - 0.3300000000000000155431) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[4]) - 0.7399999999999999911182) < 1e-06);
- assert(fabs(zreals(columnProductedIn_6_2[5]) - 0.5500000000000000444089) < 1e-06);
- assert(fabs(zimags(columnProductedIn_6_2[5]) - 0.6600000000000000310862) < 1e-06);
+ assert(fabs(zreals(columnProductedIn_6_2[0]) + 0.5500000000000000444089) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[0]) - 0.6600000000000000310862) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[1]) + 0.3300000000000000155431) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[1]) - 0.7399999999999999911182) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[2]) + 0.1099999999999999866773) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[2]) - 0.7800000000000000266454) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[3]) - 0.1099999999999999866773) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[3]) - 0.7800000000000000266454) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[4]) - 0.3300000000000000155431) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[4]) - 0.7399999999999999911182) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_6_2[5]) - 0.5500000000000000444089) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_6_2[5]) - 0.6600000000000000310862) < 3e-16);
/*
[ 1.1i 0.2+0.9i 0.4+0.7i 0.6+0.5i 0.8+0.3i 1+0.1i ] [ 0.2212649999999999894662 - 0.5017100000000001003286i ]
@@ -460,10 +460,10 @@ static int zcolumnprodaTest(void) {
for (i = 0 ; i < 2 ; ++i) {
printf("columnProductedIn_2_6[%d] = %e + %ei\n", i, zreals(columnProductedIn_2_6[i]), zimags(columnProductedIn_2_6[i]));
}
- assert(fabs(zreals(columnProductedIn_2_6[0]) - 0.2212649999999999894662) < 1e-06);
- assert(fabs(zimags(columnProductedIn_2_6[0]) + 0.5017100000000001003286) < 1e-06);
- assert(fabs(zreals(columnProductedIn_2_6[1]) + 0.2212649999999999894662) < 1e-06);
- assert(fabs(zimags(columnProductedIn_2_6[1]) + 0.5017100000000001003286) < 1e-06);
+ assert(fabs(zreals(columnProductedIn_2_6[0]) - 0.2212649999999999894662) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_2_6[0]) + 0.5017100000000001003286) < 3e-16);
+ assert(fabs(zreals(columnProductedIn_2_6[1]) + 0.2212649999999999894662) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_2_6[1]) + 0.5017100000000001003286) < 3e-16);
/*
[ 1.1i 0.1+i 0.2+0.9i 0.3+0.8i 0.4+0.7i 0.5+0.6i 0.6+0.5i 0.7+0.4i 0.8+0.3i 0.9+0.2i 1+0.1i 1.1 ]
@@ -472,8 +472,8 @@ static int zcolumnprodaTest(void) {
*/
zcolumnproda(in, 1, 12, columnProductedIn_1_12);
printf("columnProductedIn_1_12[%d] = %e + %ei\n", 0, zreals(columnProductedIn_1_12[0]), zimags(columnProductedIn_1_12[0]));
- assert(fabs(zreals(columnProductedIn_1_12[0]) + 0.3006711243250001497351) < 1e-06);
- assert(fabs(zimags(columnProductedIn_1_12[0]) - 0.0000000000000000038164) < 1e-06);
+ assert(fabs(zreals(columnProductedIn_1_12[0]) + 0.3006711243250001497351) < 3e-16);
+ assert(fabs(zimags(columnProductedIn_1_12[0]) - 0.0000000000000000038164) < 3e-16);
/*
diff --git a/src/statisticsFunctions/prod/testFloatProd.c b/src/statisticsFunctions/prod/testFloatProd.c
index 324f2ea4..b5fe20c4 100644
--- a/src/statisticsFunctions/prod/testFloatProd.c
+++ b/src/statisticsFunctions/prod/testFloatProd.c
@@ -208,7 +208,7 @@ static int cprodsTest(void) {
return 0;
}
-static int cprodaTest(void) {/*
+static int cprodaTest(void) {
floatComplex value1 = FloatComplex(3.0f, 3.0f);
floatComplex table1[3];
floatComplex value2 = FloatComplex(9.186784563f,9.186784563f);
@@ -237,9 +237,9 @@ static int cprodaTest(void) {/*
assert(creals(cproda(table1, 3)) == -54.0f);
assert(cimags(cproda(table1, 3)) == 54.0f);
- assert(fabs(creals(cproda(table2, 5)) + 261744.55211053110542707f) < 1e-06);
- assert(fabs(cimags(cproda(table2, 5)) + 261744.55211053110542707f) < 1e-06);
-*/
+ assert(fabs(creals(cproda(table2, 5)) + 261744.55211053110542707f)/creals(cproda(table2, 5)) < 1e-06);
+ assert(fabs(cimags(cproda(table2, 5)) + 261744.55211053110542707f)/cimags(cproda(table2, 5)) < 1e-06);
+
return 0;
}