From 54a313699c887c1465eda9a036eb40f46a1f3d82 Mon Sep 17 00:00:00 2001
From: torset
Date: Tue, 13 Jan 2009 15:00:23 +0000
Subject: add find2d

---
 src/auxiliaryFunctions/find2d/zfind2da.c | 37 ++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 src/auxiliaryFunctions/find2d/zfind2da.c

(limited to 'src/auxiliaryFunctions/find2d/zfind2da.c')

diff --git a/src/auxiliaryFunctions/find2d/zfind2da.c b/src/auxiliaryFunctions/find2d/zfind2da.c
new file mode 100644
index 00000000..223ce0ed
--- /dev/null
+++ b/src/auxiliaryFunctions/find2d/zfind2da.c
@@ -0,0 +1,37 @@
+/*
+ *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ *  Copyright (C) 2007-2008 - INRIA - Arnaud TORSET
+ *
+ *  This file must be used under the terms of the CeCILL.
+ *  This source file is licensed as described in the file COPYING, which
+ *  you should have received as part of this distribution.  The terms
+ *  are also available at
+ *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#include "find2d.h"
+#include <malloc.h>
+
+void zfind2da(doubleComplex* x, int rows, int columns, double** out1, double** out2) {
+  int i = 0, j=0;
+  int indiceOut = 0;
+  double* out_1 = NULL, *out_2=NULL;
+  
+  /* We suppose out1 and out2 are NULL on input */
+  
+  for (i = 0; i < rows ; ++i) {
+  	for	(j = 0; j < columns ; ++j) {
+	    if ((zreals(x[i*columns+j]) != 0) || (zimags(x[i*columns+j])!=0) ) {
+	    	out_1 = realloc(out_1, (uint)(indiceOut+1)*sizeof(double));
+	    	out_2 = realloc(out_2, (uint)(indiceOut+1)*sizeof(double));
+	    	
+		out_1[indiceOut] = (double)i;
+		out_2[indiceOut] = (double)j;
+		indiceOut++;
+	    }
+	}
+  }
+  *out1=out_1;
+  *out2=out_2;
+}
-- 
cgit