diff options
18 files changed, 141 insertions, 44 deletions
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<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,(int)rows[i],col); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,(int)rows[i],((int) col)); \ } #define d2d2d0OpExtd2(in1,size1,rows,size2,col,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,(int)rows[i],col); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,(int)rows[i],((int) col)); \ } #define c2s2s0OpExtc2(in1,size1,rows,size2,col,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,(int)rows[i],col); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,(int)rows[i],((int) col)); \ } #define z2d2d0OpExtz2(in1,size1,rows,size2,col,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,(int)rows[i],col); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,(int)rows[i],((int) col)); \ } #define s2s0s2OpExts2(in1,size1,row,cols,size2,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,row,(int)cols[i]); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,((int) row),(int)cols[i]); \ } #define d2d0d2OpExtd2(in1,size1,row,cols,size2,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,row,(int)cols[i]); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,((int) row),(int)cols[i]); \ } #define c2s0s2OpExtc2(in1,size1,row,cols,size2,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,row,(int)cols[i]); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,((int) row),(int)cols[i]); \ } #define z2d0d2OpExtz2(in1,size1,row,cols,size2,out) {int i; \ - for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,row,(int)cols[i]); \ + for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,((int) row),(int)cols[i]); \ } diff --git a/src/c/operations/interfaces/int_OpIns.h b/src/c/operations/interfaces/int_OpIns.h index 20fa8cb6..6f6d0227 100644 --- a/src/c/operations/interfaces/int_OpIns.h +++ b/src/c/operations/interfaces/int_OpIns.h @@ -16,13 +16,13 @@ /* a(3)=2 */ -#define s2s0s0OpIns(in,size,indice,newVal) in[indice-1]=newVal; +#define s2s0s0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal; -#define d2d0d0OpIns(in,size,indice,newVal) in[indice-1]=newVal; +#define d2d0d0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal; -#define c2s0c0OpIns(in,size,indice,newVal) in[indice-1]=newVal; +#define c2s0c0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal; -#define z2d0z0OpIns(in,size,indice,newVal) in[indice-1]=newVal; +#define z2d0z0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal; /* a([1 2])=2 */ #define s2s2s0OpIns(in,size1,indices,size2,newVal) {int i;\ diff --git a/src/c/signalProcessing/includes/dynlib_signalprocessing.h b/src/c/signalProcessing/includes/dynlib_signalprocessing.h index e01e8d85..7f00f761 100644 --- a/src/c/signalProcessing/includes/dynlib_signalprocessing.h +++ b/src/c/signalProcessing/includes/dynlib_signalprocessing.h @@ -23,4 +23,4 @@ #define EXTERN_SIGPROC
#endif
-#endif /* __DYNLIB_SIGNALPROCESSING_H__ */
\ No newline at end of file +#endif /* __DYNLIB_SIGNALPROCESSING_H__ */
diff --git a/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h b/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h index e9e71405..223b4e0a 100644 --- a/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h +++ b/src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h @@ -23,4 +23,4 @@ #define EXTERN_STATFUNC
#endif
-#endif /* __DYNLIB_STATISTICSFUNCTIONS_H__ */
\ No newline at end of file +#endif /* __DYNLIB_STATISTICSFUNCTIONS_H__ */
diff --git a/src/c/string/includes/dynlib_string.h b/src/c/string/includes/dynlib_string.h index 8a5be731..5bb390bd 100644 --- a/src/c/string/includes/dynlib_string.h +++ b/src/c/string/includes/dynlib_string.h @@ -24,3 +24,4 @@ #endif
#endif /* __DYNLIB_STRING_H__ */
+
diff --git a/src/c/type/dynlib_type.h b/src/c/type/dynlib_type.h index 03c105f0..bad5e44b 100644 --- a/src/c/type/dynlib_type.h +++ b/src/c/type/dynlib_type.h @@ -23,4 +23,4 @@ #define EXTERN_TYPE
#endif
-#endif /* __DYNLIB_TYPE_H__ */
\ No newline at end of file +#endif /* __DYNLIB_TYPE_H__ */
diff --git a/tests/unit_tests/test003_VerySimple/scilabcode/mainfunction.sci b/tests/unit_tests/test003_VerySimple/scilabcode/mainfunction.sci new file mode 100644 index 00000000..96ae4c13 --- /dev/null +++ b/tests/unit_tests/test003_VerySimple/scilabcode/mainfunction.sci @@ -0,0 +1,9 @@ +function mainfunction()
+
+// ---------------------------------------
+// --- Initialization of the operands. ---
+// ---------------------------------------
+powerfactor = 3;
+disp(powerfactor)
+
+endfunction
diff --git a/tests/unit_tests/test088_SimpleFor/scilabcode/mainfunction.sci b/tests/unit_tests/test088_SimpleFor/scilabcode/mainfunction.sci new file mode 100644 index 00000000..afea60c6 --- /dev/null +++ b/tests/unit_tests/test088_SimpleFor/scilabcode/mainfunction.sci @@ -0,0 +1,16 @@ +function mainfunction()
+
+// ---------------------------------------
+// --- Initialization of the operands. ---
+// ---------------------------------------
+
+v1 = zeros(1,5);
+disp('v1, before initialization.')
+disp(v1)
+for cnt = 1:5
+ v1(cnt) = cnt;
+end
+disp('v1, after initialization.')
+disp(v1)
+
+endfunction
diff --git a/tests/unit_tests/test200_malloc/scilabcode/mainfunction.sci b/tests/unit_tests/test200_malloc/scilabcode/mainfunction.sci new file mode 100644 index 00000000..c56da083 --- /dev/null +++ b/tests/unit_tests/test200_malloc/scilabcode/mainfunction.sci @@ -0,0 +1,17 @@ +//SCI2C: DEFAULT_PRECISION= DOUBLE
+function mainfunction()
+
+N = 2;
+B = myinit(N+4-2,2);
+disp('B')
+disp(B)
+
+N = 4;
+C = myinit(N,3);
+disp('C')
+disp(C)
+
+D=B+2.*C;
+disp('D')
+disp(D)
+endfunction
diff --git a/tests/unit_tests/test200_malloc/scilabcode/myinit.sci b/tests/unit_tests/test200_malloc/scilabcode/myinit.sci new file mode 100644 index 00000000..76cdef88 --- /dev/null +++ b/tests/unit_tests/test200_malloc/scilabcode/myinit.sci @@ -0,0 +1,12 @@ +//SCI2C: NIN= 2 +//SCI2C: NOUT= 1 +//SCI2C: OUT(1).TP= IN(1).TP +//SCI2C: OUT(1).SZ(1)= IN(1).VAL +//SCI2C: OUT(1).SZ(2)= IN(1).VAL +//SCI2C: DEFAULT_PRECISION= DOUBLE
+function out = myinit(n,m)
+
+out1 = m+ones(n,n); +out = out1+2*ones(n,n); + +endfunction
diff --git a/tests/unit_tests/test200_malloc/scilabcode/myzeros.sci b/tests/unit_tests/test200_malloc/scilabcode/myzeros.sci new file mode 100644 index 00000000..916b0b82 --- /dev/null +++ b/tests/unit_tests/test200_malloc/scilabcode/myzeros.sci @@ -0,0 +1,10 @@ +//SCI2C: NIN= 1 +//SCI2C: NOUT= 1 +//SCI2C: OUT(1).TP= IN(1).TP +//SCI2C: OUT(1).SZ(1)= IN(1).SZ(1) +//SCI2C: OUT(1).SZ(2)= IN(1).SZ(2) +//SCI2C: DEFAULT_PRECISION= DOUBLE
+function out = myzeros(in)
+
+out = 3+zeros(in); +endfunction
diff --git a/tests/unit_tests/test9999_WorkingDir/scilabcode/mainfunction.sci b/tests/unit_tests/test9999_WorkingDir/scilabcode/mainfunction.sci index afea60c6..5e2a7728 100644 --- a/tests/unit_tests/test9999_WorkingDir/scilabcode/mainfunction.sci +++ b/tests/unit_tests/test9999_WorkingDir/scilabcode/mainfunction.sci @@ -1,16 +1,49 @@ +//SCI2C: DEFAULT_PRECISION= DOUBLE
function mainfunction()
// ---------------------------------------
-// --- Initialization of the operands. ---
+// --- Initialization of the parameters. ---
// ---------------------------------------
+ + +// ---------------------------------------
+// --- Set number of point for quadrature . +// --- interval for quadrature [a,b]
+// ---------------------------------------
+ + + +Np =10 // number of point for quadrature +a=1 +b=5
+ + +// ---------------------------------------
+// --- Compute Legendre-Gauss-Lobatto nodes, weights +//. ---In standard [-1 1] interval
+// --------------------------------------- + +[x,w]=lglnodes(Np); +disp('x'); +disp(x); +disp('w'); +disp(w); +// ---------------------------------------
+// --- Compute the nodes +//. ---In [a,b] pick a t points in the +// --- desired interval +// ------------------------------------- + +t=((b-a)./2)*x+(b+a)./2; + + + +Iab=((b-a)./2)*mysum(w.*Fint(t),11); + +disp('Number of nodes for quadrature '); +disp(Np) +disp('Integral value in [a b] with Np points');
+disp(Iab)
-v1 = zeros(1,5);
-disp('v1, before initialization.')
-disp(v1)
-for cnt = 1:5
- v1(cnt) = cnt;
-end
-disp('v1, after initialization.')
-disp(v1)
endfunction
|