summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--macros/CCodeGeneration/C_ForExpression.sci4
-rw-r--r--macros/CCodeGeneration/C_WhileExpression.sci11
-rw-r--r--src/c/auxiliaryFunctions/includes/dynlib_auxiliaryfunctions.h2
-rw-r--r--src/c/elementaryFunctions/includes/dynlib_elementaryfunctions.h2
-rw-r--r--src/c/matrixOperations/includes/dynlib_matrixoperations.h2
-rw-r--r--src/c/operations/includes/dynlib_operations.h2
-rw-r--r--src/c/operations/interfaces/int_OpExt.h32
-rw-r--r--src/c/operations/interfaces/int_OpIns.h8
-rw-r--r--src/c/signalProcessing/includes/dynlib_signalprocessing.h2
-rw-r--r--src/c/statisticsFunctions/includes/dynlib_statisticsfunctions.h2
-rw-r--r--src/c/string/includes/dynlib_string.h1
-rw-r--r--src/c/type/dynlib_type.h2
-rw-r--r--tests/unit_tests/test003_VerySimple/scilabcode/mainfunction.sci9
-rw-r--r--tests/unit_tests/test088_SimpleFor/scilabcode/mainfunction.sci16
-rw-r--r--tests/unit_tests/test200_malloc/scilabcode/mainfunction.sci17
-rw-r--r--tests/unit_tests/test200_malloc/scilabcode/myinit.sci12
-rw-r--r--tests/unit_tests/test200_malloc/scilabcode/myzeros.sci10
-rw-r--r--tests/unit_tests/test9999_WorkingDir/scilabcode/mainfunction.sci51
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