diff options
author | torset | 2009-01-26 12:34:09 +0000 |
---|---|---|
committer | torset | 2009-01-26 12:34:09 +0000 |
commit | d549b6f6fff2e79dd654e5878e934d60407f4574 (patch) | |
tree | 8d9c3cdec70c1840d74bcf70b745953634fe80b8 | |
parent | 351e6595b48ecb4d47a0d3f6b160dbafd9d73c0a (diff) | |
download | scilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.tar.gz scilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.tar.bz2 scilab2c-d549b6f6fff2e79dd654e5878e934d60407f4574.zip |
Update
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__ */ + + + + |