summaryrefslogtreecommitdiff
path: root/src/c/statisticsFunctions
diff options
context:
space:
mode:
authorsimon2009-07-27 11:36:24 +0000
committersimon2009-07-27 11:36:24 +0000
commit7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4 (patch)
tree5bac453156f80b90371cc655d4dabb8578a24968 /src/c/statisticsFunctions
parent538058931652c74fa508891dcbc6c5fedfb9cf66 (diff)
downloadscilab2c-7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4.tar.gz
scilab2c-7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4.tar.bz2
scilab2c-7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4.zip
corrected a false positive test in testFloatMeanf.c
improve cmeanfa in order to use less creals function
Diffstat (limited to 'src/c/statisticsFunctions')
-rw-r--r--src/c/statisticsFunctions/meanf/cmeanfa.c18
-rw-r--r--src/c/statisticsFunctions/meanf/testFloatMeanf.c6
2 files changed, 18 insertions, 6 deletions
diff --git a/src/c/statisticsFunctions/meanf/cmeanfa.c b/src/c/statisticsFunctions/meanf/cmeanfa.c
index 5b4037b0..fceaff7d 100644
--- a/src/c/statisticsFunctions/meanf/cmeanfa.c
+++ b/src/c/statisticsFunctions/meanf/cmeanfa.c
@@ -16,13 +16,25 @@
floatComplex cmeanfa(floatComplex *in1, int size, floatComplex *in2 ) {
floatComplex accumulate = FloatComplex(0.0f, 0.0f);
- floatComplex freAccumulate = FloatComplex(0.0f, 0.0f);
+ float freAccumulate = 0.0f;
int i = 0;
for (i = 0; i < size; ++i)
{
accumulate = cadds(accumulate, cmuls (in1[i] , in2[i]));
- freAccumulate = cadds(accumulate, in2[i]);
+ freAccumulate += creals(in2[i]);
}
- return FloatComplex(creals(accumulate) / creals(freAccumulate), cimags(accumulate) / creals(freAccumulate));
+ return FloatComplex(creals(accumulate) /freAccumulate, cimags(accumulate) /freAccumulate);
}
+
+
+/*
+ for (i = 0; i < size; ++i)
+ {
+ accumulate += (in1[i] * in2[i]) ;
+ freAccumulate += in2[i] ;
+ }
+ return accumulate / freAccumulate;
+
+
+*/
diff --git a/src/c/statisticsFunctions/meanf/testFloatMeanf.c b/src/c/statisticsFunctions/meanf/testFloatMeanf.c
index ddfdb019..c7f1789f 100644
--- a/src/c/statisticsFunctions/meanf/testFloatMeanf.c
+++ b/src/c/statisticsFunctions/meanf/testFloatMeanf.c
@@ -228,10 +228,10 @@ static int cmeanfaTest(void) {
printf("\n>>>> Mean Float Complex Array Test\n");
-
+ printf("\tMeanmedTable_1_1[0] = %e + %ei\n", creals(cmeanfa(table1, 9, coef1)), cimags(cmeanfa(table1, 9, coef1)));
- assert( ( fabs(creals(cmeanfa(table1, 3, coef1)) ) - ( 246.0f / 57.0f ) ) / fabs ( creals(cmeanfa(table1, 3, coef1)) ) < 1e-6 );
- assert( ( fabs(cimags(cmeanfa(table1, 3, coef1)) ) - ( 288.0f / 57.0f ) ) / fabs ( cimags(cmeanfa(table1, 3, coef1)) ) < 1e-6 );/*
+ assert( fabs( (creals(cmeanfa(table1, 9, coef1)) ) - ( 246.0f / 57.0f ) ) / fabs ( creals(cmeanfa(table1, 9, coef1)) ) < 1e-6 );
+ assert( fabs( (cimags(cmeanfa(table1, 9, coef1)) ) - ( 288.0f / 57.0f ) ) / fabs ( cimags(cmeanfa(table1, 9, coef1)) ) < 1e-6 );/*
*/
return 0;
}