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/cfind2da.c | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/auxiliaryFunctions/find2d/cfind2da.c (limited to 'src/auxiliaryFunctions/find2d/cfind2da.c') diff --git a/src/auxiliaryFunctions/find2d/cfind2da.c b/src/auxiliaryFunctions/find2d/cfind2da.c new file mode 100644 index 00000000..2acdd882 --- /dev/null +++ b/src/auxiliaryFunctions/find2d/cfind2da.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 + +void cfind2da(floatComplex* x, int rows, int columns, float** out1, float** out2) { + int i = 0, j=0; + int indiceOut = 0; + float* 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 ((creals(x[i*columns+j]) != 0) || (cimags(x[i*columns+j])!=0) ) { + out_1 = realloc(out_1, (uint)(indiceOut+1)*sizeof(float)); + out_2 = realloc(out_2, (uint)(indiceOut+1)*sizeof(float)); + + out_1[indiceOut] = (float)i; + out_2[indiceOut] = (float)j; + indiceOut++; + } + } + } + *out1=out_1; + *out2=out_2; +} -- cgit