diff options
author | simon | 2009-07-27 11:36:24 +0000 |
---|---|---|
committer | simon | 2009-07-27 11:36:24 +0000 |
commit | 7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4 (patch) | |
tree | 5bac453156f80b90371cc655d4dabb8578a24968 /src/c/statisticsFunctions | |
parent | 538058931652c74fa508891dcbc6c5fedfb9cf66 (diff) | |
download | scilab2c-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.c | 18 | ||||
-rw-r--r-- | src/c/statisticsFunctions/meanf/testFloatMeanf.c | 6 |
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; } |