From ee498f417540084c08cf335a03cdefcd3fa853e4 Mon Sep 17 00:00:00 2001
From: Brijeshcr
Date: Fri, 4 Aug 2017 17:58:41 +0530
Subject: Added Center, Wcenter and Correl

---
 src/c/statisticsFunctions/center/zcentercola.c | 42 ++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 src/c/statisticsFunctions/center/zcentercola.c

(limited to 'src/c/statisticsFunctions/center/zcentercola.c')

diff --git a/src/c/statisticsFunctions/center/zcentercola.c b/src/c/statisticsFunctions/center/zcentercola.c
new file mode 100644
index 00000000..8a838bc5
--- /dev/null
+++ b/src/c/statisticsFunctions/center/zcentercola.c
@@ -0,0 +1,42 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <ones.h>
+#include "addition.h"
+#include "subtraction.h"
+#include "multiplication.h"
+#include "division.h"
+#include "center.h"
+#include "doubleComplex.h"
+#include "sqrt.h"
+
+void zcentercola (doubleComplex* inp, int row, int col, doubleComplex* out)
+{
+
+    doubleComplex sum[row], xbar[row];
+    for(int i = 0; i < row; i++)
+	sum[i] = DoubleComplex(0,0);
+
+
+    for(int i = 0; i < row; i++)
+    {
+	for(int j = 0; j < col; j++)
+	{
+	    sum[i] =  zadds(sum[i], inp[i + j*row]);
+	}
+    }
+
+
+    for(int i = 0; i < row; i++)
+	xbar[i] = zrdivs(sum[i], col);
+
+    doubleComplex one[col];			// Creating a matrix of ones
+    zonesa(one,1,col);
+
+
+    doubleComplex prod[row*col];
+    zmulma(xbar, row, 1, one, 1, col, prod);
+
+    for(int i = 0; i< row*col; i++)
+	out[i] = zdiffs(inp[i], prod[i]);   
+}
-- 
cgit