summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortorset2009-01-26 12:34:09 +0000
committertorset2009-01-26 12:34:09 +0000
commitd549b6f6fff2e79dd654e5878e934d60407f4574 (patch)
tree8d9c3cdec70c1840d74bcf70b745953634fe80b8
parent351e6595b48ecb4d47a0d3f6b160dbafd9d73c0a (diff)
downloadscilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.tar.gz
scilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.tar.bz2
scilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.zip
Update
-rw-r--r--src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci48
-rw-r--r--src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc75
-rw-r--r--src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h78
-rw-r--r--src/Scilab2C/Scilab2C/FunctionAnnotation/FA_TP_PREC.sci34
-rw-r--r--src/operations/interface/int_DotBackSlash.h93
-rw-r--r--src/string/interfaces/int_disp.h40
6 files changed, 196 insertions, 172 deletions
diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
index 82caabb1..70b1f08e 100644
--- a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
+++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
@@ -1,50 +1,10 @@
-//SCI2C: DEFAULT_PRECISION= FLOAT
-
+//SCI2C: DEFAULT_PRECISION= DOUBLE
function mainfunction()
-s5 = [ 1 ; 2+%i; 2; 4; 5 ]
-s6 = find(s5==1)
-disp(s6)
-
-s7 = [1 ; 2+%i; 1; 1; 5 ]
-s8 = find(s7==1)
-disp(s8)
-
-
-s9 = [ 1 ; 2; 2+%i; 4; 5 ]
-s10 = find(s9==1)
-disp(s10)
-
-s11 = [1 ; 2; 1+%i; 1; 5 ]
-s12 = find(s11==1)
-disp(s12)
-
-
-s13 = [ 1+%i ; 2; 2+%i; 4; 5 ]
-s14 = find(s13==2)
-disp(s14)
-
-s15 = [1+%i ; 2; 1+%i; 2; 2 ]
-s16 = find(s15==2)
-disp(s16)
-s17 = [ 1+%i ; 2+%i; 2+%i; 4; 5 ]
-s18 = find(s17==2+%i)
-disp(s18)
-
-s21 = [1+%i ; 2; 1+%i; 2; 2 ]
-s22 = find(s21==7)
-disp(s22)
-
-s19 = [1+%i ; 2+%i; 1+%i; 2; 2 ]
-s20 = find(s19==2+%i)
-disp(s20)
-s1 = [ 1 ; 2; 3; 4; 5 ]
-s2 = find(s1==1)
-disp(s2)
+a=[1 2 3 4; 5 6 7 8; 9 1 2 3; 4 5 6 7]
+b=[1 2 3 4; 5 6 7 8; 9 1 2 3; 4 5 6 7]
+disp(a.*b);
-s3 = [ 1 ; 2; 1; 1; 5 ]
-s4 = find(s3==1)
-disp(s4)
endfunction
diff --git a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
index ef316cfb..9ded4126 100644
--- a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
+++ b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
@@ -70,10 +70,6 @@ SWSRCS = \
$(CSRCDIR)/dmeana.c \
$(CSRCDIR)/cmeana.c \
$(CSRCDIR)/zmeana.c \
- $(CSRCDIR)/ssuma.c \
- $(CSRCDIR)/dsuma.c \
- $(CSRCDIR)/csuma.c \
- $(CSRCDIR)/zsuma.c \
$(CSRCDIR)/sexps.c \
$(CSRCDIR)/dexps.c \
$(CSRCDIR)/cexps.c \
@@ -137,8 +133,11 @@ SWSRCS = \
$(CSRCDIR)/sdiffs.c\
$(CSRCDIR)/sdiffa.c \
$(CSRCDIR)/zdiffs.c\
+ $(CSRCDIR)/zdiffa.c \
+ $(CSRCDIR)/cfilla.c\
+ $(CSRCDIR)/dfilla.c\
$(CSRCDIR)/sfilla.c\
- $(CSRCDIR)/dfilla.c \
+ $(CSRCDIR)/zfilla.c \
$(CSRCDIR)/conesa.c\
$(CSRCDIR)/donesa.c\
$(CSRCDIR)/sonesa.c\
@@ -163,7 +162,69 @@ SWSRCS = \
$(CSRCDIR)/cconja.c\
$(CSRCDIR)/zconjs.c\
$(CSRCDIR)/zconja.c\
- $(CSRCDIR)/disp.c
+ $(CSRCDIR)/disp.c\
+ $(CSRCDIR)/ceyea.c\
+ $(CSRCDIR)/deyea.c\
+ $(CSRCDIR)/seyea.c\
+ $(CSRCDIR)/zeyea.c\
+ $(CSRCDIR)/ctracea.c\
+ $(CSRCDIR)/dtracea.c\
+ $(CSRCDIR)/stracea.c\
+ $(CSRCDIR)/ztracea.c\
+ $(CSRCDIR)/srowmeana.c \
+ $(CSRCDIR)/drowmeana.c \
+ $(CSRCDIR)/crowmeana.c \
+ $(CSRCDIR)/zrowmeana.c \
+ $(CSRCDIR)/scolumnmeana.c \
+ $(CSRCDIR)/dcolumnmeana.c \
+ $(CSRCDIR)/ccolumnmeana.c \
+ $(CSRCDIR)/zcolumnmeana.c \
+ $(CSRCDIR)/ssuma.c \
+ $(CSRCDIR)/dsuma.c \
+ $(CSRCDIR)/csuma.c \
+ $(CSRCDIR)/zsuma.c \
+ $(CSRCDIR)/srowsuma.c \
+ $(CSRCDIR)/drowsuma.c \
+ $(CSRCDIR)/crowsuma.c \
+ $(CSRCDIR)/zrowsuma.c \
+ $(CSRCDIR)/scolumnsuma.c \
+ $(CSRCDIR)/dcolumnsuma.c \
+ $(CSRCDIR)/ccolumnsuma.c \
+ $(CSRCDIR)/zcolumnsuma.c\
+ $(CSRCDIR)/cmulma.c\
+ $(CSRCDIR)/dmulma.c\
+ $(CSRCDIR)/smulma.c\
+ $(CSRCDIR)/zmulma.c
+
+# $(CSRCDIR)/svariancea.c \
+# $(CSRCDIR)/dvariancea.c \
+# $(CSRCDIR)/cvariancea.c \
+# $(CSRCDIR)/zvariancea.c \
+# $(CSRCDIR)/srowvariancea.c \
+# $(CSRCDIR)/drowvariancea.c \
+# $(CSRCDIR)/crowvariancea.c \
+# $(CSRCDIR)/zrowvariancea.c \
+# $(CSRCDIR)/scolumnvariancea.c \
+# $(CSRCDIR)/dcolumnvariancea.c \
+# $(CSRCDIR)/ccolumnvariancea.c \
+# $(CSRCDIR)/zcolumnvariancea.c \
+# $(CSRCDIR)/cpows.c \
+# $(CSRCDIR)/cpowa.c \
+# $(CSRCDIR)/dpows.c \
+# $(CSRCDIR)/dpowa.c \
+# $(CSRCDIR)/spows.c \
+# $(CSRCDIR)/spowa.c \
+# $(CSRCDIR)/zpows.c \
+# $(CSRCDIR)/zpowa.c \
+# $(CSRCDIR)/ctransposea.c \
+# $(CSRCDIR)/dtransposea.c \
+# $(CSRCDIR)/stransposea.c \
+# $(CSRCDIR)/ztransposea.c
+
+
+
+
+
# $(CSRCDIR)/clog10s.c \
@@ -189,7 +250,7 @@ compileexecute: $(SWOBJS)
@echo "============================"
@echo "Generation of the executable"
@echo "============================"
- $(CC) $(CFLAGS) $(SWOBJS) $(SCI2CDIR)/*.c -o $(EXEFILE)
+ $(CC) $(CFLAGS) $(SWOBJS) $(SCI2CDIR)/*.c -llapack -lblas -o $(EXEFILE)
@echo " "
@echo "=============="
@echo "Executing code"
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
index 653e6cde..d88515f1 100644
--- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
@@ -50,54 +50,76 @@
#include "log10.h"
#include "int_log10.h"
#include "pythag.h"
+
+/* LIB */
+/* interefacing lapack */
+#include "lapack.h"
+/* interefacing blas */
+#include "blas.h"
+
+/* AUXILIARY FUNCTIONS */
+
/* interfacing find */
#include "find.h"
#include "int_find.h"
-/* interfacing cat */
-#include "cat.h"
-#include "int_OpRc.h"
-#include "int_OpCc.h"
/* interfacing disp */
#include "disp.h"
-#include "int_disp.h" /* interfacing multiplication */
-#include "multiplication.h"
-#include "matrixMultiplication.h"
-#include "int_OpStar.h"
-#include "int_OpDotStar.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" /* interfacing division */
-#include "division.h"
-#include "int_OpSlash.h"
-#include "int_OpDotSlash.h"
-#include "int_OpBackSlash.h"
-#include "int_OpDotBackSlash.h"
+#include "int_disp.h"
/* interfacing conj */
#include "conj.h"
#include "int_conj.h"
+
+/* ELEMENTARY FUNCTIONS */
+
/* interfacing acos */
#include "acos.h"
#include "int_acos.h"
-/* interefacing lapack */
-#include "lapack.h"
/* interfacing atan */
#include "atan.h"
#include "int_atan.h"
-/* interefacing lnp1m1 */
+/* interfacing lnp1m1 */
#include "lnp1m1.h"
-/* interefacing blas */
-#include "blas.h"
+/* interfacing pow */
+#include "pow.h"
+#include "int_pow.h"
+
+
+
+/* OPERATIONS */
+/* interfacing addition */
+#include "addition.h"
+#include "int_OpPlus.h" /* interfacing subtraction */
+#include "subtraction.h"
+#include "int_OpMinus.h" /* interfacing multiplication */
+#include "multiplication.h"
+#include "matrixMultiplication.h"
+#include "int_OpStar.h"
+#include "int_OpDotStar.h"
+/* interfacing division */
+#include "division.h"
+#include "int_OpSlash.h"
+#include "int_OpDotSlash.h"
+#include "int_OpBackSlash.h"
+#include "int_OpDotBackSlash.h"
+
+
+
+/* MATRIX OPERTAIONS */
+/* interfacing cat */
+#include "cat.h"
+#include "int_OpRc.h"
+#include "int_OpCc.h"
+/* interfacing fill */
+#include "fill.h" /* interfacing ones */
+#include "ones.h"
/* interefacing eye */
#include "eye.h"
#include "int_eye.h"
-/* interefacing trace */
+/* interfacing trace */
#include "matrixTrace.h"
#include "int_trace.h"
+/* interfacing tranpose */
+#include "matrixTranspose.h"
/* STATISTICS FUNCTIONS */
diff --git a/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_TP_PREC.sci b/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_TP_PREC.sci
new file mode 100644
index 00000000..afbd98ab
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/FunctionAnnotation/FA_TP_PREC.sci
@@ -0,0 +1,34 @@
+function opout = FA_TP_PREC(in1,in2)
+// function opout = FA_TP_PREC(in1,in2)
+// -----------------------------------------------------------------
+//
+// Status:
+// 2009 -- Arnaud Torset: Author.
+//
+// -----------------------------------------------------------------
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// 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
+
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),2,2);
+
+in1Pin2 = in1+in2;
+
+select (in1Pin2),
+ case 'ss' then opout = 's',
+ case 'sc' then opout = 's',
+ case 'cs' then opout = 's',
+ case 'cc' then opout = 's',
+ else opout = 'd',
+end
+
+endfunction
diff --git a/src/operations/interface/int_DotBackSlash.h b/src/operations/interface/int_DotBackSlash.h
deleted file mode 100644
index 3c6e15a7..00000000
--- a/src/operations/interface/int_DotBackSlash.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- *
- * 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
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_DOTDotBackSlash_H__
-#define __INT_DOTDotBackSlash_H__
-
-/* Scalar .\ Scalar */
-
-#define s0s0OpDotBackSlashs0(in1,in2) sldivs(in1,in2)
-
-#define d0d0OpDotBackSlashd0(in1,in2) dldivs(in1,in2)
-
-#define c0c0OpDotBackSlashc0(in1,in2) cldivs(in1,in2)
-
-#define z0z0OpDotBackSlashz0(in1,in2) zldivs(in1,in2)
-
-#define s0c0OpDotBackSlashc0(in1,in2) cldivs(FloatComplex(in1,0),in2)
-
-#define c0s0OpDotBackSlashc0(in1,in2) cldivs(in1,FloatComplex(in2,0))
-
-#define d0z0OpDotBackSlashz0(in1,in2) zldivs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpDotBackSlashz0(in1,in2) zldivs(in1,DoubleComplex(in2,0))
-
-
-/* Scalar .\ Matrix */
-
-#define s0s2OpDotBackSlashs2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1,in2[i]);
-
-#define d0d2OpDotBackSlashd2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);
-
-#define c0c2OpDotBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,in2[i]);
-
-#define z0z2OpDotBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,in2[i]);
-
-#define s0c2OpDotBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1,0),in2[i]);
-
-#define d0z2OpDotBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1,0),in2[i]);
-
-#define c0s2OpDotBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));
-
-#define z0d2OpDotBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(in2[i],0));
-
-
-/* Matrix .\ Scalar */
-
-#define s2s0OpDotBackSlashs2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1[i],in2);
-
-#define d2d0OpDotBackSlashd2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1[i],in2);
-
-#define c2c0OpDotBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],in2);
-
-#define z2z0OpDotBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],in2);
-
-#define s2c0OpDotBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2);
-
-#define d2z0OpDotBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2);
-
-#define c2s0OpDotBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],FloatComplex(in2,0));
-
-#define z2d0OpDotBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],DoubleComplex(in2,0));
-
-/* Matrix .\ Matrix */
-
-#define s2s2OpDotBackSlashs2(in1,size1,in2,size2,out) sldiva(in1,in2,size2[0]*size2[1],out)
-
-#define d2d2OpDotBackSlashd2(in1,size1,in2,size2,out) dldiva(in1,in2,size2[0]*size2[1],out)
-
-#define c2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,in2,size2[0]*size2[1],out)
-
-#define c2s2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-
-#define s2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-
-#define z2z2OpDotBackSlashz2(in1,size1,in2,size2,out) zldiva(in1,in2,size2[0]*size2[1],out)
-
-#define z2d2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
-
-#define d2z2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-
-
-#endif /* !__INT_DOTDotBackSlash_H__ */
diff --git a/src/string/interfaces/int_disp.h b/src/string/interfaces/int_disp.h
new file mode 100644
index 00000000..e77dbace
--- /dev/null
+++ b/src/string/interfaces/int_disp.h
@@ -0,0 +1,40 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ *
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_DISP_H__
+#define __INT_DISP_H__
+
+
+#define s0dispd0(in) sdisps(in)
+
+#define d0dispd0(in) ddisps(in)
+
+#define c0dispd0(in) cdisps(in)
+
+#define z0dispd0(in) zdisps(in)
+
+#define s2dispd0(in,size) sdispa(in,size[0],size[1])
+
+#define d2dispd0(in,size) ddispa(in,size[0],size[1])
+
+#define c2dispd0(in,size) cdispa(in,size[0],size[1])
+
+#define z2dispd0(in,size) zdispa(in,size[0],size[1])
+
+
+#endif /* __INT_DISP_H__ */
+
+
+
+