diff options
author | jofret | 2009-05-14 12:27:55 +0000 |
---|---|---|
committer | jofret | 2009-05-14 12:27:55 +0000 |
commit | 7983b497bf61cb932c0643e3df08d6eeb48e3fb2 (patch) | |
tree | 234e36235d589c51f78d54f97de0473c1f4c77b2 /src | |
parent | 632139e9a9121a37edeea3f5a3490ff0aabc4cb5 (diff) | |
download | scilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.tar.gz scilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.tar.bz2 scilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.zip |
Adding missing operations
Diffstat (limited to 'src')
-rw-r--r-- | src/c/operations/interface/int_OpEqual.h | 6 | ||||
-rw-r--r-- | src/c/operations/interface/int_OpMinus.h | 167 |
2 files changed, 100 insertions, 73 deletions
diff --git a/src/c/operations/interface/int_OpEqual.h b/src/c/operations/interface/int_OpEqual.h index e792cbac..869b28dc 100644 --- a/src/c/operations/interface/int_OpEqual.h +++ b/src/c/operations/interface/int_OpEqual.h @@ -24,15 +24,15 @@ #define z0OpEqualz0(in) in -#define s2OpPluss2(in1,size,out) {int i=0; \ +#define s2OpEquals2(in1,size,out) {int i=0; \ for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \ } -#define d2OpPlusd2(in1,size,out) {int i=0; \ +#define d2OpEquald2(in1,size,out) {int i=0; \ for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \ } -#define g2OpPlusg2(in1,size,out) {int i=0; \ +#define g2OpEqualg2(in1,size,out) {int i=0; \ for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \ } diff --git a/src/c/operations/interface/int_OpMinus.h b/src/c/operations/interface/int_OpMinus.h index 5dfde1d5..ac27ddb6 100644 --- a/src/c/operations/interface/int_OpMinus.h +++ b/src/c/operations/interface/int_OpMinus.h @@ -1,11 +1,11 @@ /* * 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 + * are also available at * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt * */ @@ -15,12 +15,41 @@ #ifndef __INT_OPMINUS_H__ #define __INT_OPMINUS_H__ +/* - Scalar */ + +#define s0OpMinuss0(in) -in + +#define d0OpMinusd0(in) -in + +#define c0OpMinusc0(in) FloatComplex(-creals(in), -cimags(in)) + +#define z0OpMinusz0(in) DoubleComplex(-zreals(in), -zimags(in)) + +/* - Matrix */ + +#define s2OpMinuss2(in, size, out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i] = -in[i]; \ + } + +#define d2OpMinusd2(in, size, out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i] = -in[i]; \ + } + +#define c2OpMinusc2(in, size, out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i] = FloatComplex(-creals(in[i]), -cimags(in[i])); \ + } + +#define z2OpMinusz2(in, size, out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i] = DoubleComplex(-zreals(in[i]), -zimags(in[i])); \ + } + + /* Scalar - Scalar */ #define s0s0OpMinuss0(in1,in2) sdiffs(in1,in2) #define d0d0OpMinusd0(in1,in2) ddiffs(in1,in2) - + #define c0c0OpMinusc0(in1,in2) cdiffs(in1,in2) #define z0z0OpMinusz0(in1,in2) zdiffs(in1,in2) @@ -33,88 +62,82 @@ #define z0d0OpMinusz0(in1,in2) zdiffs(in1,DoubleComplex(in2,0)) +/* Matrix - Scalar */ -/* Matrix + Scalar */ +#define s2s0OpMinuss2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \ + } -#define s2s0OpMinuss2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2;\ - } - +#define d2d0OpMinusd2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \ + } + + +#define c2c0OpMinusc2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1[i],in2); \ + } -#define d2d0OpMinusd2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2;\ - } - - -#define c2c0OpMinusc2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1[i],in2);\ - } - -/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c2c0...c2*/ #define c2s0OpMinusc2(in1,size,in2,out) c2c0OpMinusc2(in1,size,FloatComplex(in2,0),out) -#define s2c0OpMinusc2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2);\ - } - +#define s2c0OpMinusc2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2); \ + } + + +#define z2z0OpMinusz2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1[i],in2); \ + } -#define z2z0OpMinusz2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1[i],in2);\ - } - -/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z2z0...z2*/ #define z2d0OpMinusz2(in1,size,in2,out) z2z0OpMinusz2(in1,size,DoubleComplex(in2,0),out) -#define d2z0OpMinusz2(in1,size,in2,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2);\ - } +#define d2z0OpMinusz2(in1,size,in2,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2); \ + } + + +/* Scalar - Matrix */ + +#define s0s2OpMinuss2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \ + } -/* Scalar + Matrix */ +#define d0d2OpMinusd2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \ + } -#define s0s2OpMinuss2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i];\ - } - -#define d0d2OpMinusd2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i];\ - } - +#define c0c2OpMinusc2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,in2[i]); \ + } -#define c0c2OpMinusc2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,in2[i]);\ - } - -/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c0c2...c2*/ -#define s0c2OpMinusc2(in1,in2,size,out) c0c2OpMinusc2(FloatComplex(in1,0),in2,size,out) - +#define s0c2OpMinusc2(in1,in2,size,out) c0c2OpMinusc2(FloatComplex(in1,0),in2,size,out) -#define c0s2OpMinusc2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,FloatComplex(in2[i],0));\ - } - -#define z0z2OpMinusz2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,in2[i]);\ - } - -/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z0z2...z2*/ +#define c0s2OpMinusc2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,FloatComplex(in2[i],0)); \ + } + + +#define z0z2OpMinusz2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,in2[i]); \ + } + #define d0z2OpMinusz2(in1,in2,size,out) z0z2OpMinusz2(DoubleComplex(in1,0),in2,size,out) -#define z0d2OpMinusz2(in1,in2,size,out) {int i=0;\ - for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,DoubleComplex(in2[i],0));\ - } - +#define z0d2OpMinusz2(in1,in2,size,out) {int i=0; \ + for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,DoubleComplex(in2[i],0)); \ + } -/* Matrix + Matrix */ + +/* Matrix - Matrix */ #define s2s2OpMinuss2(in1,size1,in2,size2,out) sdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) @@ -123,22 +146,26 @@ #define c2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) -#define s2c2OpMinusc2(in1,size1,in2,size2,out) {int i;\ - for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]);} - +#define s2c2OpMinusc2(in1,size1,in2,size2,out) {int i; \ + for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]); \ + } + -#define c2s2OpMinusc2(in1,size1,in2,size2,out) {int i;\ - for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(in1[i],FloatComplex(in2[i],0));} +#define c2s2OpMinusc2(in1,size1,in2,size2,out) {int i; \ + for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(in1[i],FloatComplex(in2[i],0));\ + } #define z2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out) -#define d2z2OpMinusz2(in1,size1,in2,size2,out) {int i;\ - for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]);} - +#define d2z2OpMinusz2(in1,size1,in2,size2,out) {int i; \ + for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]); \ + } + -#define z2d2OpMinusz2(in1,size1,in2,size2,out) {int i;\ - for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0));} +#define z2d2OpMinusz2(in1,size1,in2,size2,out) {int i; \ + for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0)); \ + } |