summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjofret2009-05-14 12:27:55 +0000
committerjofret2009-05-14 12:27:55 +0000
commit7983b497bf61cb932c0643e3df08d6eeb48e3fb2 (patch)
tree234e36235d589c51f78d54f97de0473c1f4c77b2
parent632139e9a9121a37edeea3f5a3490ff0aabc4cb5 (diff)
downloadscilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.tar.gz
scilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.tar.bz2
scilab2c-7983b497bf61cb932c0643e3df08d6eeb48e3fb2.zip
Adding missing operations
-rw-r--r--src/c/operations/interface/int_OpEqual.h6
-rw-r--r--src/c/operations/interface/int_OpMinus.h167
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)); \
+ }