From 0b992f0195b8d0abe9f74ac3d9294d1b1c14c44b Mon Sep 17 00:00:00 2001 From: nutricato Date: Tue, 7 Jul 2009 14:41:59 +0000 Subject: --- macros/CCodeGeneration/C_ForExpression.sci | 4 -- macros/CCodeGeneration/C_WhileExpression.sci | 11 +++-- .../includes/dynlib_auxiliaryfunctions.h | 2 +- .../includes/dynlib_elementaryfunctions.h | 2 +- .../includes/dynlib_matrixoperations.h | 2 +- src/c/operations/includes/dynlib_operations.h | 2 +- src/c/operations/interfaces/int_OpExt.h | 32 +++++++------- src/c/operations/interfaces/int_OpIns.h | 8 ++-- .../includes/dynlib_signalprocessing.h | 2 +- .../includes/dynlib_statisticsfunctions.h | 2 +- src/c/string/includes/dynlib_string.h | 1 + src/c/type/dynlib_type.h | 2 +- .../test003_VerySimple/scilabcode/mainfunction.sci | 9 ++++ .../test088_SimpleFor/scilabcode/mainfunction.sci | 16 +++++++ .../test200_malloc/scilabcode/mainfunction.sci | 17 ++++++++ .../test200_malloc/scilabcode/myinit.sci | 12 +++++ .../test200_malloc/scilabcode/myzeros.sci | 10 +++++ .../scilabcode/mainfunction.sci | 51 ++++++++++++++++++---- 18 files changed, 141 insertions(+), 44 deletions(-) create mode 100644 tests/unit_tests/test003_VerySimple/scilabcode/mainfunction.sci create mode 100644 tests/unit_tests/test088_SimpleFor/scilabcode/mainfunction.sci create mode 100644 tests/unit_tests/test200_malloc/scilabcode/mainfunction.sci create mode 100644 tests/unit_tests/test200_malloc/scilabcode/myinit.sci create mode 100644 tests/unit_tests/test200_malloc/scilabcode/myzeros.sci diff --git a/macros/CCodeGeneration/C_ForExpression.sci b/macros/CCodeGeneration/C_ForExpression.sci index fb3a8b39..4e75c066 100644 --- a/macros/CCodeGeneration/C_ForExpression.sci +++ b/macros/CCodeGeneration/C_ForExpression.sci @@ -101,10 +101,6 @@ elseif (SharedInfo.ForExpr.AssignmentFun == SharedInfo.CFunId.OpColon) // #RNU_RES_B // Epilogue // #RNU_RES_E - disp('C_Strings(cntstr)') - disp(C_Strings(cntstr)) - disp('CPass1ForEpilFileName') - disp(CPass1ForEpilFileName) if (length(C_Strings(cntstr)) == 0) C_Strings(cntstr) = ' '; // RNU for Bruno: If I don't do that I get a PrintStringInfo error related to mputstr. // Function not defined for given argument type(s), diff --git a/macros/CCodeGeneration/C_WhileExpression.sci b/macros/CCodeGeneration/C_WhileExpression.sci index 24898a1b..edd2830e 100644 --- a/macros/CCodeGeneration/C_WhileExpression.sci +++ b/macros/CCodeGeneration/C_WhileExpression.sci @@ -52,18 +52,21 @@ CCall =''; // ------------------------- PrintStringInfo(' Handling While Expression with OpColon.',ReportFileName,'file','y'); //NUT: sistema il commento. -// #RNU_RES_B // ------------------------------------------------------------------------------------- // --- Generate Prologue and Epilogue -> Copy the first N-1 lines of the for.c code. --- // ------------------------------------------------------------------------------------- -// #RNU_RES_E [C_Strings,NumCStrings] = File2StringArray(CPass1WhileProlFileName); C_Strings = stripblanks(C_Strings); for cntstr = 1:NumCStrings // Prologue - PrintStringInfo(C_IndentBlanks(SharedInfo.NIndent)+C_Strings(cntstr),CPass1FileName,'file','y'); + PrintStringInfo(C_IndentBlanks(SharedInfo.NIndent)+C_Strings(cntstr),CPass1FileName,'file','y','n'); // Epilogue - PrintStringInfo(C_Strings(cntstr),CPass1WhileEpilFileName ,'file','y'); + if (length(C_Strings(cntstr)) == 0) + C_Strings(cntstr) = ' '; // RNU for Bruno: If I don't do that I get a PrintStringInfo error related to mputstr. + // Function not defined for given argument type(s), + // check arguments or define function %0_mputstr for overloading. + end + PrintStringInfo(C_Strings(cntstr),CPass1WhileEpilFileName ,'file','y','n'); end // ---------------------------------------- // --- Insert "}" in the epilogue file. --- diff --git a/src/c/auxiliaryFunctions/includes/dynlib_auxiliaryfunctions.h b/src/c/auxiliaryFunctions/includes/dynlib_auxiliaryfunctions.h index b2002944..3506663f 100644 --- a/src/c/auxiliaryFunctions/includes/dynlib_auxiliaryfunctions.h +++ b/src/c/auxiliaryFunctions/includes/dynlib_auxiliaryfunctions.h @@ -23,4 +23,4 @@ #define EXTERN_AUXFUNCT #endif -#endif /* __DYNLIB_AUXILIARYFUNCTIONS_H__ */ \ No newline at end of file +#endif /* __DYNLIB_AUXILIARYFUNCTIONS_H__ */ diff --git a/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h b/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h index d91da87e..7dbf90d8 100644 --- a/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h +++ b/src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h @@ -23,4 +23,4 @@ #define EXTERN_ELEMFUNCT #endif -#endif /* __DYNLIB_ELEMENTARYFUNCTIONS_H__ */ \ No newline at end of file +#endif /* __DYNLIB_ELEMENTARYFUNCTIONS_H__ */ diff --git a/src/c/matrixOperations/includes/dynlib_matrixoperations.h b/src/c/matrixOperations/includes/dynlib_matrixoperations.h index b17cad84..16f45187 100644 --- a/src/c/matrixOperations/includes/dynlib_matrixoperations.h +++ b/src/c/matrixOperations/includes/dynlib_matrixoperations.h @@ -23,4 +23,4 @@ #define EXTERN_MATOPS #endif -#endif /* __DYNLIB_MATRIXOPERATIONS_H__ */ \ No newline at end of file +#endif /* __DYNLIB_MATRIXOPERATIONS_H__ */ diff --git a/src/c/operations/includes/dynlib_operations.h b/src/c/operations/includes/dynlib_operations.h index ab48cea1..a55d2402 100644 --- a/src/c/operations/includes/dynlib_operations.h +++ b/src/c/operations/includes/dynlib_operations.h @@ -23,4 +23,4 @@ #define EXTERN_OPERATIONS #endif -#endif /* __DYNLIB_OPERATIONS_H__ */ \ No newline at end of file +#endif /* __DYNLIB_OPERATIONS_H__ */ diff --git a/src/c/operations/interfaces/int_OpExt.h b/src/c/operations/interfaces/int_OpExt.h index 885ea94e..a116dd78 100644 --- a/src/c/operations/interfaces/int_OpExt.h +++ b/src/c/operations/interfaces/int_OpExt.h @@ -15,16 +15,16 @@ #ifndef __INT_OPEXT_H__ #define __INT_OPEXT_H__ -#define s2s0OpExts0(in1,size,in2) in1[in2-1]; -#define d2d0OpExtd0(in1,size,in2) in1[in2-1]; -#define c2s0OpExtc0(in1,size,in2) in1[in2-1]; -#define z2d0OpExtz0(in1,size,in2) in1[in2-1]; +#define s2s0OpExts0(in1,size,in2) in1[((int)in2)-1]; +#define d2d0OpExtd0(in1,size,in2) in1[((int)in2)-1]; +#define c2s0OpExtc0(in1,size,in2) in1[((int)in2)-1]; +#define z2d0OpExtz0(in1,size,in2) in1[((int)in2)-1]; -#define s2s0s0OpExts0(in1,size,row,col) in1[(col-1)*size[0]+row-1]; -#define d2d0d0OpExtd0(in1,size,row,col) in1[(col-1)*size[0]+row-1]; -#define c2s0s0OpExtc0(in1,size,row,col) in1[(col-1)*size[0]+row-1]; -#define z2d0d0OpExtz0(in1,size,row,col) in1[(col-1)*size[0]+row-1]; +#define s2s0s0OpExts0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1]; +#define d2d0d0OpExtd0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1]; +#define c2s0s0OpExtc0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1]; +#define z2d0d0OpExtz0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1]; #define s2s2OpExts2(in1,size1,in2,size2,out) {int i; \ @@ -45,35 +45,35 @@ #define s2s2s0OpExts2(in1,size1,rows,size2,col,out) {int i; \ - for (i=0;i