diff options
author | torset | 2009-01-21 10:47:05 +0000 |
---|---|---|
committer | torset | 2009-01-21 10:47:05 +0000 |
commit | 48a4147533cfea9f46048d47aa0c45e7910b6eed (patch) | |
tree | cf2c766cab974d3801c137c1f1442b435d03a2cb | |
parent | 9c49ee51398d472b18792f398c3a86c875cc2dc8 (diff) | |
download | scilab2c-48a4147533cfea9f46048d47aa0c45e7910b6eed.tar.gz scilab2c-48a4147533cfea9f46048d47aa0c45e7910b6eed.tar.bz2 scilab2c-48a4147533cfea9f46048d47aa0c45e7910b6eed.zip |
adjusting some functions
-rw-r--r-- | src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci | 4 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc | 34 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpDotStar.c | 42 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpLogEq.c | 34 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogEq.h | 18 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CFiles/sci2cincludes/SCI2CMacroInterface.h | 20 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h | 13 | ||||
-rw-r--r-- | src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci | 6 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/cfinda.c | 8 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/dfinda.c | 8 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/sfinda.c | 10 | ||||
-rw-r--r-- | src/auxiliaryFunctions/find/zfinda.c | 8 | ||||
-rw-r--r-- | src/string/disp/sdispa.c | 1 |
13 files changed, 144 insertions, 62 deletions
diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci index 1938b070..5a998ad9 100644 --- a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci +++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci @@ -1,8 +1,8 @@ -//SCI2C: DEFAULT_PRECISION= DOUBLE
+//SCI2C: DEFAULT_PRECISION= FLOAT
function mainfunction()
-s1 = [1+%i; 2; 3; 4; 5] +s1 = [1; 1; 1; 3; 7] s2 = find(s1==3) diff --git a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc index ead23251..5e9b723b 100644 --- a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc +++ b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc @@ -33,9 +33,6 @@ SWSRCS = \ $(CSRCDIR)/OpDotHat.c \ $(CSRCDIR)/OpDotSlash.c \ $(CSRCDIR)/OpEqual.c \ - $(CSRCDIR)/OpPlus.c \ - $(CSRCDIR)/OpMinus.c \ - $(CSRCDIR)/OpStar.c \ $(CSRCDIR)/OpIns.c \ $(CSRCDIR)/OpExt.c \ $(CSRCDIR)/cos.c \ @@ -117,7 +114,36 @@ SWSRCS = \ $(CSRCDIR)/cdisps.c \ $(CSRCDIR)/cdispa.c\ $(CSRCDIR)/zdisps.c \ - $(CSRCDIR)/zdispa.c + $(CSRCDIR)/zdispa.c\ + $(CSRCDIR)/cmuls.c\ + $(CSRCDIR)/cmula.c \ + $(CSRCDIR)/dmuls.c\ + $(CSRCDIR)/dmula.c \ + $(CSRCDIR)/smuls.c\ + $(CSRCDIR)/smula.c \ + $(CSRCDIR)/zmuls.c\ + $(CSRCDIR)/zmula.c \ + $(CSRCDIR)/cadds.c\ + $(CSRCDIR)/cadda.c \ + $(CSRCDIR)/dadds.c\ + $(CSRCDIR)/dadda.c \ + $(CSRCDIR)/sadds.c\ + $(CSRCDIR)/sadda.c \ + $(CSRCDIR)/zadds.c\ + $(CSRCDIR)/zadda.c\ + $(CSRCDIR)/cdiffs.c\ + $(CSRCDIR)/cdiffa.c \ + $(CSRCDIR)/ddiffs.c\ + $(CSRCDIR)/ddiffa.c \ + $(CSRCDIR)/sdiffs.c\ + $(CSRCDIR)/sdiffa.c \ + $(CSRCDIR)/zdiffs.c\ + $(CSRCDIR)/sfilla.c\ + $(CSRCDIR)/dfilla.c \ + $(CSRCDIR)/conesa.c\ + $(CSRCDIR)/donesa.c\ + $(CSRCDIR)/sonesa.c\ + $(CSRCDIR)/zonesa.c # $(CSRCDIR)/clog10s.c \ # $(CSRCDIR)/zlog10s.c \ diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpDotStar.c b/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpDotStar.c index c39e256a..853b4f22 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpDotStar.c +++ b/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpDotStar.c @@ -9,7 +9,7 @@ */ #include "OpDotStar.h" - +#include "multiplication.h" float ssOpDotStarss1(float x1, float x2){ return(x1*x2); } @@ -49,17 +49,17 @@ void ddOpDotStaraa1(double* x1,double* x2, int size, double* y){ floatComplex s0c0OpDotStarc0(float x2,floatComplex x1) { - return(ctimess(x1,FloatComplex(x2,0))); + return(cmuls(x1,FloatComplex(x2,0))); } floatComplex c0s0OpDotStarc0(floatComplex x1,float x2) { - return(ctimess(x1,FloatComplex(x2,0))); + return(cmuls(x1,FloatComplex(x2,0))); } floatComplex c0c0OpDotStarc0(floatComplex x1, floatComplex x2) { - return(ctimess(x1,x2)); + return(cmuls(x1,x2)); } void c0s2OpDotStarc2(floatComplex x1,float* x2, int* x2Size, floatComplex* y) @@ -69,7 +69,7 @@ void c0s2OpDotStarc2(floatComplex x1,float* x2, int* x2Size, floatComplex* y) size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1,FloatComplex(x2[i],0)); + y[i] = cmuls(x1,FloatComplex(x2[i],0)); } } @@ -80,7 +80,7 @@ void c2c0OpDotStarc2(floatComplex* x2, int* x2Size, floatComplex x1,floatComplex size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1,x2[i]); + y[i] = cmuls(x1,x2[i]); } } @@ -91,7 +91,7 @@ void s2c0OpDotStarc2(float* x2, int* x2Size, floatComplex x1,floatComplex* y) size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1,FloatComplex(x2[i],0)); + y[i] = cmuls(x1,FloatComplex(x2[i],0)); } } @@ -102,7 +102,7 @@ void s0c2OpDotStarc2(float x1,floatComplex* x2, int* x2Size, floatComplex* y) size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(FloatComplex(x1,0),x2[i]); + y[i] = cmuls(FloatComplex(x1,0),x2[i]); } } @@ -113,7 +113,7 @@ void c0c2OpDotStarc2(floatComplex x1,floatComplex* x2, int* x2Size, floatComplex size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1,x2[i]); + y[i] = cmuls(x1,x2[i]); } } @@ -123,7 +123,7 @@ void c2s2OpDotStarc2(floatComplex* x1,int* x1Size,float* x2, int* x2Size, floatC int size; size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1[i],FloatComplex(x2[i],0)); + y[i] = cmuls(x1[i],FloatComplex(x2[i],0)); } } @@ -134,24 +134,24 @@ void c2c2OpDotStarc2(floatComplex* x1,int* x1Size,floatComplex* x2, int* x2Size, int size; size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ctimess(x1[i],x2[i]); + y[i] = cmuls(x1[i],x2[i]); } } doubleComplex z0d0OpDotStarz0(doubleComplex x1, double x2) { - return(ztimess(x1,DoubleComplex(x2,0))); + return(zmuls(x1,DoubleComplex(x2,0))); } doubleComplex d0z0OpDotStarz0(double x2,doubleComplex x1) { - return(ztimess(x1,DoubleComplex(x2,0))); + return(zmuls(x1,DoubleComplex(x2,0))); } doubleComplex z0z0OpDotStarz0(doubleComplex x1, doubleComplex x2) { - return(ztimess(x1,x2)); + return(zmuls(x1,x2)); } void z0d2OpDotStarz2(doubleComplex x1,double* x2, int* x2Size, doubleComplex* y) @@ -161,7 +161,7 @@ void z0d2OpDotStarz2(doubleComplex x1,double* x2, int* x2Size, doubleComplex* y) size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1,DoubleComplex(x2[i],0)); + y[i] = zmuls(x1,DoubleComplex(x2[i],0)); } } @@ -172,7 +172,7 @@ void d2z0OpDotStarz2(double* x2, int* x2Size, doubleComplex x1, doubleComplex* y size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1,DoubleComplex(x2[i],0)); + y[i] = zmuls(x1,DoubleComplex(x2[i],0)); } } @@ -183,7 +183,7 @@ void z2z0OpDotStarz2(doubleComplex* x2, int* x2Size, doubleComplex x1, doubleCom size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1,x2[i]); + y[i] = zmuls(x1,x2[i]); } } @@ -193,7 +193,7 @@ void d0z2OpDotStarz2(double x1,doubleComplex* x2, int* x2Size, doubleComplex* y) size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(DoubleComplex(x1,0),x2[i]); + y[i] = zmuls(DoubleComplex(x1,0),x2[i]); } } @@ -203,7 +203,7 @@ void z0z2OpDotStarz2(doubleComplex x1,doubleComplex* x2, int* x2Size, doubleComp size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1,x2[i]); + y[i] = zmuls(x1,x2[i]); } } @@ -213,7 +213,7 @@ void z2d2OpDotStarz2(doubleComplex* x1,int* x1Size,double* x2, int* x2Size, doub int size; size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1[i],DoubleComplex(x2[i],0)); + y[i] = zmuls(x1[i],DoubleComplex(x2[i],0)); } } @@ -223,6 +223,6 @@ void z2z2OpDotStarz2(doubleComplex* x1,int* x1Size,doubleComplex* x2, int* x2Siz int size; size = x2Size[0]*x2Size[1]; for (i = 0; i < size; ++i) { - y[i] = ztimess(x1[i],x2[i]); + y[i] = zmuls(x1[i],x2[i]); } } diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpLogEq.c b/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpLogEq.c index 4daaedd7..a926f057 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpLogEq.c +++ b/src/Scilab2C/Scilab2C/CFiles/sci2ccode/OpLogEq.c @@ -13,7 +13,7 @@ #include "OpLogEq.h" -/* + void s2s0OpLogEqs2(float* in1, int* in1Size, float in2, float* out) { int rows = 0; @@ -64,4 +64,34 @@ void z2d0OpLogEqd2(doubleComplex* in1, int* in1Size, double in2, double* out) out[rows*in1Size[1]+cols] = (double) ((zreals(in1[rows*in1Size[1]+cols]) == in2) && (zimags(in1[rows*in1Size[1]+cols]) == 0) ); } } -}*/ +} + + +void c2c0OpLogEqs2(floatComplex* in1, int* in1Size, floatComplex in2, float* out) +{ + int rows = 0; + int cols = 0; + for (rows = 0; rows < in1Size[0];rows++) + { + for (cols = 0; cols < in1Size[1];cols++) + { + out[rows*in1Size[1]+cols] = (float) ((creals(in1[rows*in1Size[1]+cols]) == creals(in2)) && (cimags(in1[rows*in1Size[1]+cols]) == cimags(in2)) ); + } + } +} + + +void z2z0OpLogEqd2(doubleComplex* in1, int* in1Size, doubleComplex in2, double* out) +{ + int rows = 0; + int cols = 0; + for (rows = 0; rows < in1Size[0];rows++) + { + for (cols = 0; cols < in1Size[1];cols++) + { + out[rows*in1Size[1]+cols] = (float) ((zreals(in1[rows*in1Size[1]+cols]) == zreals(in2)) && (zimags(in1[rows*in1Size[1]+cols]) == zimags(in2)) ); + } + } +} + + diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogEq.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogEq.h index 4a45878d..17e0af35 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogEq.h +++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/OpLogEq.h @@ -6,6 +6,8 @@ ** ** Copyright Raffaele Nutricato */ +/* Modified by Arnaud Torset */ + #ifndef __OPLOGEQ_H__ #define __OPLOGEQ_H__ @@ -24,17 +26,17 @@ #define z0d0OpLogEqd0(in1,in2) d0z0OpLogEqd0(in2,in1) -void s2s0OpLogEqs2(float* in1,int *size1,float in2,float *out) -void c2s0OpLogEqs2(floatComplex* in1,int *size1,float in2,float* out) +void s2s0OpLogEqs2(float* in1,int *size1,float in2,float *out); +void c2s0OpLogEqs2(floatComplex* in1,int *size1,float in2,float* out); -void d2d0OpLogEqd2(double* in1,int *size1,double in2,double* out) -void z2d0OpLogEqd2(doubleComplex* in1,int *size1,double in2,double* out) +void d2d0OpLogEqd2(double* in1,int *size1,double in2,double* out) ; +void z2d0OpLogEqd2(doubleComplex* in1,int *size1,double in2,double* out); -void s2c0OpLogEqs2(float* in1,int *size1,floatComplex in2,float* out) -void c2c0OpLogEqs2(floatComplex* in1,int *size1,floatComplex in2,float* out) +void s2c0OpLogEqs2(float* in1,int *size1,floatComplex in2,float* out); +void c2c0OpLogEqs2(floatComplex* in1,int *size1,floatComplex in2,float* out); -void d2z0OpLogEqd2(double* in1,int *size1,doubleComplex in2,double* out) -void z2z0OpLogEqd2(doubleComplex* in1,int *size1,doubleComplex in2,double* out) +void d2z0OpLogEqd2(double* in1,int *size1,doubleComplex in2,double* out); +void z2z0OpLogEqd2(doubleComplex* in1,int *size1,doubleComplex in2,double* out); #define s0s2OpLogEqs2(in1,in2,in2Size,out) s2s0OpLogEqs2(in2,in2Size,in1,out) diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/SCI2CMacroInterface.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/SCI2CMacroInterface.h index 68425800..a2f16d4e 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/SCI2CMacroInterface.h +++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/SCI2CMacroInterface.h @@ -21,7 +21,7 @@ dOpEquala1(inptr, insizeptr[0]*insizeptr[1], outptr); // --- Class OPSTAR. ---
// ---------------------
*/
-/* --- OpStar. --- */
+/* --- OpStar. ---
#define s0s0OpStars0(in1,in2) \
ssOpStarss1(in1,in2);
@@ -29,8 +29,8 @@ ssOpStarss1(in1,in2); ssOpStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr); #define s2s0OpStars2(inptr2,insizeptr2,in1,outptr) \
-ssOpStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr); -/*questa su e' una macro */
+ssOpStarsa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);*/ +/*questa su e' una macro
#define s2s2OpStars2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
ssOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr);
@@ -42,11 +42,11 @@ ddOpStarss1(in1,in2); ddOpStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr) #define d2d0OpStard2(inptr2,insizeptr2,in1,outptr) \
-ddOpStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr) -/*questa su e' una macro */
+ddOpStarsa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)*/ +/*questa su e' una macro
#define d2d2OpStard2(inptr1,insizeptr1,inptr2,insizeptr2,outptr) \
-ddOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr);
+ddOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr);*/
/*
// ---------------------
@@ -54,7 +54,7 @@ ddOpStaraa1(inptr1,insizeptr1[0],insizeptr1[1], inptr2, insizeptr2[1], outptr); // ---------------------
*/
/* --- OpPlus. ---*/
-/*RN volendo puoi fare una sola macro del tipo sa1() che serve per tutte le operazioni*/
+/*RN volendo puoi fare una sola macro del tipo sa1() che serve per tutte le operazioni
#define s0s0OpPluss0(in1,in2) \
ssOpPlusss1(in1,in2);
@@ -65,8 +65,8 @@ ssOpPlussa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr); ssOpPlusaa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr) #define s2s0OpPluss2(inptr2,insizeptr2,in1,outptr) \
-ssOpPlussa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr); -/*questa su e' una macro */
+ssOpPlussa1(in1,inptr2, insizeptr2[0]*insizeptr2[1], outptr);*/ +/*questa su e' una macro
#define d0d0OpPlusd0(in1,in2) \
ddOpPlusss1(in1,in2);
@@ -78,7 +78,7 @@ ddOpPlusaa1(inptr1,inptr2, insizeptr1[0]*insizeptr1[1], outptr); ddOpPlussa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr) #define d2d0OpPlusd2(inptr2,insizeptr2,in1,outptr) \
-ddOpPlussa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr) +ddOpPlussa1(in1,inptr2, (insizeptr2[0]) * (insizeptr2[1]), outptr)*/ /*questa su e' una macro */
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h index 50ec77cf..0c962388 100644 --- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h +++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h @@ -18,7 +18,6 @@ #include "zeros.h"
#include "OpApex.h"
#include "OpColon.h"
-#include "OpDotStar.h"
#include "OpDotSlash.h"
#include "OpDotHat.h"
#include "OpEqual.h"
@@ -64,4 +63,14 @@ #include "int_OpCc.h" /* interfacing disp */ #include "disp.h" -#include "int_disp.h"
+#include "int_disp.h"
/* interfacing multiplication */ +#include "multiplication.h" +#include "int_OpStar.h" +/* interfacing addition */ +#include "addition.h" +#include "int_OpPlus.h"
/* interfacing subtraction */ +#include "subtraction.h" +#include "int_OpMinus.h" +/* interfacing fill */ +#include "fill.h"
/* interfacing ones */ +#include "ones.h" diff --git a/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 582aeef1..6e7f9b4d 100644 --- a/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -799,7 +799,6 @@ PrintStringInfo('g2g2'+ArgSeparator+'d2',ClassFileName,'file','y'); PrintStringInfo('c2s0'+ArgSeparator+'s2',ClassFileName,'file','y'); PrintStringInfo('z2d0'+ArgSeparator+'d2',ClassFileName,'file','y'); - // --- Annotation Function And Function List Function. --- FunctionName = 'OpLogEq'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'both','y'); @@ -1158,6 +1157,11 @@ PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y'); PrintStringInfo('c0s0'+ArgSeparator+'c2',ClassFileName,'file','y'); PrintStringInfo('c2s0'+ArgSeparator+'c2',ClassFileName,'file','y'); +PrintStringInfo('s0c0'+ArgSeparator+'c2',ClassFileName,'file','y'); +PrintStringInfo('s2c0'+ArgSeparator+'c2',ClassFileName,'file','y'); +PrintStringInfo('d0z0'+ArgSeparator+'z2',ClassFileName,'file','y'); +PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y'); + // --- Annotation Function And Function List Function. --- FunctionName = 'OpCc'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'both','y'); diff --git a/src/auxiliaryFunctions/find/cfinda.c b/src/auxiliaryFunctions/find/cfinda.c index 95cb24fd..87655c0b 100644 --- a/src/auxiliaryFunctions/find/cfinda.c +++ b/src/auxiliaryFunctions/find/cfinda.c @@ -14,15 +14,17 @@ void cfinda(floatComplex* z, int size, float *out, int *indiceOut) { int i = 0; - *indiceOut = 0; + int indice = *indiceOut; + + indice = 0; /* Initialisation de out à -1 */ for (i=0;i<size;i++) out[i]=-1; for (i = 0; i < size ; ++i) { if (creals(z[i]) != 0 || cimags(z[i]) != 0) { - out[*indiceOut] = (float)(i+1); - (*indiceOut)++; + out[indice] = (float)(i+1); + indice++; } } } diff --git a/src/auxiliaryFunctions/find/dfinda.c b/src/auxiliaryFunctions/find/dfinda.c index f5d80ffc..8613d00d 100644 --- a/src/auxiliaryFunctions/find/dfinda.c +++ b/src/auxiliaryFunctions/find/dfinda.c @@ -15,15 +15,17 @@ void dfinda(double* x, int size ,double *out, int *indiceOut) { int i = 0; - *indiceOut = 0; + int indice = *indiceOut; + + indice = 0; /* Initialisation de out à -1 */ for (i=0;i<size;i++) out[i]=-1; for (i = 0; i < size ; ++i) { if (x[i] != 0) { - out[*indiceOut] = (double)(i + 1); - (*indiceOut)++; + out[indice] = (double)(i + 1); + indice++; } } } diff --git a/src/auxiliaryFunctions/find/sfinda.c b/src/auxiliaryFunctions/find/sfinda.c index 1030c108..79b9cb7f 100644 --- a/src/auxiliaryFunctions/find/sfinda.c +++ b/src/auxiliaryFunctions/find/sfinda.c @@ -14,16 +14,20 @@ void sfinda(float* x, int size, float* out, int *indiceOut) { int i = 0; - *indiceOut = 0; - + *indiceOut=0; + /* Initialisation de out à -1 */ for (i=0;i<size;i++) out[i]=-1; - for (i = 0; i < size ; ++i) { + for (i = 0; i < size ; ++i) { + if (x[i] != 0) { out[*indiceOut] = (float)(i+1); (*indiceOut)++; } } + //*indiceOut must be equal to 1 when goes out to display as we want */ + *indiceOut=1; } + diff --git a/src/auxiliaryFunctions/find/zfinda.c b/src/auxiliaryFunctions/find/zfinda.c index 63d7ef20..82a9864c 100644 --- a/src/auxiliaryFunctions/find/zfinda.c +++ b/src/auxiliaryFunctions/find/zfinda.c @@ -14,15 +14,17 @@ void zfinda(doubleComplex* z, int size, double *out, int* indiceOut) { int i = 0; - *indiceOut = 0; + int indice = *indiceOut; + + indice = 0; /* Initialisation de out à -1 */ for (i=0;i<size;i++) out[i]=-1; for (i = 0; i < size ; ++i) { if (zreals(z[i]) != 0 || zimags(z[i]) != 0) { - out[*indiceOut] = (double)(i+1); - (*indiceOut)++; + out[indice] = (double)(i+1); + indice++; } } } diff --git a/src/string/disp/sdispa.c b/src/string/disp/sdispa.c index 42ff8c03..944ff839 100644 --- a/src/string/disp/sdispa.c +++ b/src/string/disp/sdispa.c @@ -14,6 +14,7 @@ double sdispa (float* in, int size){ int i = 0; + for (i = 0; i < size; ++i) { sdisps (in[i]); } |