summaryrefslogtreecommitdiff
path: root/src/statisticsFunctions/variance/cvariancea.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/statisticsFunctions/variance/cvariancea.c')
-rw-r--r--src/statisticsFunctions/variance/cvariancea.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/statisticsFunctions/variance/cvariancea.c b/src/statisticsFunctions/variance/cvariancea.c
index 5eb30567..9d43928d 100644
--- a/src/statisticsFunctions/variance/cvariancea.c
+++ b/src/statisticsFunctions/variance/cvariancea.c
@@ -16,35 +16,21 @@ floatComplex cvariancea(floatComplex *in, int size)
{
int i = 0 ;
- /*here sumcis used to compensate the possible round off error to a less
- important degree */
-
floatComplex sum = FloatComplex ( 0 , 0 ) ;
floatComplex temp = FloatComplex ( 0 , 0 ) ;
- floatComplex sumc = FloatComplex ( 0 , 0 ) ;
floatComplex variance = FloatComplex ( 0 , 0 );
floatComplex mean = cmeana ( in , size ) ;
for ( i = 0 ; i < size ; i++)
{
-
temp = cdiffs( in[i] , mean ) ;
- sum = cadds ( sum , cpows ( temp , FloatComplex ( 2.0f, 0) ) );
- sumc = cadds ( sumc , temp );
- printf ( "%d r : %e i : %e\n" , i , creals(in[i]) , cimags (in[i]));
- }
- printf ( "\n\n" ) ;
- /*we don't use sumc if equal to 0 otherwise we would have "nan" */
- if ( fabs ( creals ( sumc)) > 1e-08 || fabs ( cimags ( sumc)) > 1e-08 )
- {
- variance = cpows ( sumc ,FloatComplex (2.0f , 0)) ;
- variance = crdivs ( variance , FloatComplex ((float) size , 0 ) ) ;
- variance = cdiffs ( sum , variance );
- variance = crdivs (variance , FloatComplex ((float) (size - 1),0 ));
+ sum = cadds ( sum , cpows ( temp , FloatComplex ( 2, 0) ) );
}
- else
- variance = crdivs (sum , FloatComplex ((float) (size - 1),0 ));
+
+ variance = crdivs (sum , FloatComplex ( (float)(size - 1),0 ));
return variance ;
+
+
}