From 7d72ad32fa35a85fc62fa65a8bbbbd5a352653b4 Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 27 Jul 2009 11:36:24 +0000 Subject: corrected a false positive test in testFloatMeanf.c improve cmeanfa in order to use less creals function --- src/c/statisticsFunctions/meanf/cmeanfa.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/c/statisticsFunctions/meanf/cmeanfa.c') 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; + + +*/ -- cgit