summaryrefslogtreecommitdiff
path: root/src/operations/interface
diff options
context:
space:
mode:
authortorset2009-01-28 13:25:36 +0000
committertorset2009-01-28 13:25:36 +0000
commit343dc58409dcc9d52d931f9ea2e4e541cfc0db4b (patch)
treef827aea908217bc391d9955d61f0b196fcb31ce4 /src/operations/interface
parent0ac678f101949aa88e9b32792273b8cc4dd3311f (diff)
downloadscilab2c-343dc58409dcc9d52d931f9ea2e4e541cfc0db4b.tar.gz
scilab2c-343dc58409dcc9d52d931f9ea2e4e541cfc0db4b.tar.bz2
scilab2c-343dc58409dcc9d52d931f9ea2e4e541cfc0db4b.zip
Update interfaces
Diffstat (limited to 'src/operations/interface')
-rw-r--r--src/operations/interface/int_OpBackSlash.h70
-rw-r--r--src/operations/interface/int_OpDotBackSlash.h50
-rw-r--r--src/operations/interface/int_OpDotSlash.h83
-rw-r--r--src/operations/interface/int_OpDotStar.h60
-rw-r--r--src/operations/interface/int_OpMinus.h103
-rw-r--r--src/operations/interface/int_OpPlus.h115
-rw-r--r--src/operations/interface/int_OpSlash.h137
-rw-r--r--src/operations/interface/int_OpStar.h104
8 files changed, 406 insertions, 316 deletions
diff --git a/src/operations/interface/int_OpBackSlash.h b/src/operations/interface/int_OpBackSlash.h
index 8f000b63..217aaa34 100644
--- a/src/operations/interface/int_OpBackSlash.h
+++ b/src/operations/interface/int_OpBackSlash.h
@@ -36,40 +36,76 @@
/* Scalar \ Matrix */
-#define s0s2OpBackSlashs2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1,in2[i]);
+#define s0s2OpBackSlashs2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1,in2[i]);}
-#define d0d2OpBackSlashd2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);
+#define d0d2OpBackSlashd2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);}
+
+#define c0c2OpBackSlashc2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,in2[i]);}
-#define c0c2OpBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,in2[i]);
+#define z0z2OpBackSlashz2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,in2[i]);}
-#define z0z2OpBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,in2[i]);
+#define s0c2OpBackSlashc2(in1,in2,size,out) c0c2OpBackSlashc2(FloatComplex(in1,0),in2,size,out)
-#define s0c2OpBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1,0),in2[i]);
+#define d0z2OpBackSlashz2(in1,in2,size,out) z0z2OpBackSlashz2(DoubleCompelex(in1,0),in2,size,out)
-#define d0z2OpBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1,0),in2[i]);
+#define c0s2OpBackSlashc2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));}
-#define c0s2OpBackSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));
-
-#define z0d2OpBackSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(in2[i],0));
+#define z0d2OpBackSlashz2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(in2[i],0));}
/* Matrix \ Scalar */
-#define s2s0OpBackSlashs2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1[i],in2);
+#define s2s0OpBackSlashs2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1[i],in2);}
+
+#define d2d0OpBackSlashd2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1[i],in2);}
+
+#define c2c0OpBackSlashc2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],in2);}
+
+#define z2z0OpBackSlashz2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],in2);}
+
+#define s2c0OpBackSlashc2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2);}
+
+#define d2z0OpBackSlashz2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2);}
+
+#define c2s0OpBackSlashc2(in1,size,in2,out) c2c0OpBackSlashc2(in1,size,FloatComplex(in2,0),out)
+
+#define z2d0OpBackSlashz2(in1,size,in2,out) z2z0OpBackSlashz2(in1,size,DoubleComplex(in2,0),out)
+
+
+
+/* Matrix \ Matrix */
+
+#define s2s2OpBackSlashs2(in1,size1,in2,size2,out) sldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define d2d0OpBackSlashd2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1[i],in2);
+#define d2d2OpBackSlashd2(in1,size1,in2,size2,out) dldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define c2c0OpBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],in2);
+#define c2c2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define z2z0OpBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],in2);
+#define z2z2OpBackSlashz2(in1,size1,in2,size2,out) zldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define s2c0OpBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2);
+#define c2s2OpBackSlashc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],FloatComplex(in2[i],0));}
-#define d2z0OpBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2);
+#define s2c2OpBackSlashc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2[i]);}
-#define c2s0OpBackSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],FloatComplex(in2,0));
+#define z2d2OpBackSlashc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],DoubleComplex(in2[i],0));}
-#define z2d0OpBackSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],DoubleComplex(in2,0));
+#define d2z2OpBackSlashc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2[i]);}
diff --git a/src/operations/interface/int_OpDotBackSlash.h b/src/operations/interface/int_OpDotBackSlash.h
index 31e3420b..5ccd70ef 100644
--- a/src/operations/interface/int_OpDotBackSlash.h
+++ b/src/operations/interface/int_OpDotBackSlash.h
@@ -34,42 +34,54 @@
#define z0d0OpDotBackSlashz0(in1,in2) zldivs(in1,DoubleComplex(in2,0))
-/* Scalar .\ Matrix */
+/* 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 s0s2OpDotBackSlashs2(in1,in2,size,out) {int i;\
+ 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 d0d2OpDotBackSlashd2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);}
+
+#define c0c2OpDotBackSlashc2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(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) c0c2OpDotBackSlashc2(FloatComplex(in1,0),in2,size,out)
-#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) z0z2OpDotBackSlashz2(DoubleCompelex(in1,0),in2,size,out)
-#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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));}
-#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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(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 */
-/* Matrix .\ Scalar */
+#define s2s0OpDotBackSlashs2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1[i],in2);}
-#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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dldivs(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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),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) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(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) c2c0OpDotBackSlashc2(in1,size,FloatComplex(in2,0),out)
-#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));
+#define z2d0OpDotBackSlashz2(in1,size,in2,out) z2z0OpDotBackSlashz2(in1,size,DoubleComplex(in2,0),out)
/* Matrix .\ Matrix */
diff --git a/src/operations/interface/int_OpDotSlash.h b/src/operations/interface/int_OpDotSlash.h
index a745b77c..b45e1e8d 100644
--- a/src/operations/interface/int_OpDotSlash.h
+++ b/src/operations/interface/int_OpDotSlash.h
@@ -34,43 +34,75 @@
#define z0d0OpDotSlashz0(in1,in2) zrdivs(in1,DoubleComplex(in2,0))
-/* Scalar ./ Matrix */
+/* Scalar / Matrix */
-#define s0s2OpDotSlashs2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= srdivs(in1,in2[i]);
-#define d0d2OpDotSlashd2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= drdivs(in1,in2[i]);
+#define s0s2OpDotSlashs2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-#define c0c2OpDotSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(in1,in2[i]);
-#define z0z2OpDotSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(in1,in2[i]);
+#define d0d2OpDotSlashd2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
+
+
+#define c0c2OpDotSlashc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,in2[i]);}
-#define s0c2OpDotSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(FloatComplex(in1,0),in2[i]);
-#define d0z2OpDotSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(DoubleComplex(in1,0),in2[i]);
+#define z0z2OpDotSlashz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1,in2[i]);}
-#define c0s2OpDotSlashc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(in1,FloatComplex(in2[i],0));
-#define z0d2OpDotSlashz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(in1,DoubleComplex(in2[i],0));
+#define s0c2OpDotSlashc2(in1,in2,size,out) c0c2OpDotSlashc2(FloatComplex(in1,0),in2,size,out)
-/* Matrix ./ Scalar */
+/* On transforme d0 en z0 */
+#define d0z2OpDotSlashz2(in1,in2,size,out) z0z2OpDotSlashz2(DoubleComplex(in1,0),in2,size,out)
-#define s2s0OpDotSlashs2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= srdivs(in1[i],in2);
-#define d2d0OpDotSlashd2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= drdivs(in1[i],in2);
-#define c2c0OpDotSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(in1[i],in2);
+#define c0s2OpDotSlashc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,FloatComplex(in2[i],0));}
-#define z2z0OpDotSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(in1[i],in2);
-#define s2c0OpDotSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(FloatComplex(in1[i],0),in2);
+#define z0d2OpDotSlashz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1,DoubleComplex(in2[i],0));}
-#define d2z0OpDotSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(DoubleComplex(in1[i],0),in2);
-#define c2s0OpDotSlashc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= crdivs(in1[i],FloatComplex(in2,0));
+/* Matrix / Scalar */
-#define z2d0OpDotSlashz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zrdivs(in1[i],DoubleComplex(in2,0));
+#define s2s0OpDotSlashs2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+
+
+#define d2d0OpDotSlashd2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+
+
+#define c2c0OpDotSlashc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1[i],in2);}
+
+
+#define z2z0OpDotSlashz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1[i],in2);}
+
+
+#define s2c0OpDotSlashc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2);}
+
+
+#define d2z0OpDotSlashz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2);}
+
+
+#define c2s0OpDotSlashc2(in1,size,in2,out) c2c0OpDotSlashc2(in1,size,FloatComplex(in2,0),out)
+
+
+#define z2d0OpDotSlashz2(in1,size,in2,out) z2z0OpDotSlashz2(in1,size,DoubleComplex(in2,0),out)
+
+
+
/* Matrix ./ Matrix */
#define s2s2OpDotSlashs2(in1,size1,in2,size2,out) srdiva(in1,in2,size2[0]*size2[1],out)
@@ -79,15 +111,20 @@
#define c2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,in2,size2[0]*size2[1],out)
-#define c2s2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define z2z2OpDotSlashz2(in1,size1,in2,size2,out) zrdiva(in1,in2,size2[0]*size2[1],out)
-#define s2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
-#define z2z2OpDotSlashz2(in1,size1,in2,size2,out) zrdiva(in1,in2,size2[0]*size2[1],out)
+#define c2s2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1[i],FloatComplex(in2[i],0));}
+
+#define s2c2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2[i]);}
-#define z2d2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0]*size2[1],out)
+#define z2d2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1[i],DoubleComplex(in2[i],0));}
-#define d2z2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size2[0]*size2[1],out)
+#define d2z2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2[i]);}
diff --git a/src/operations/interface/int_OpDotStar.h b/src/operations/interface/int_OpDotStar.h
index a6a21f77..bc771c74 100644
--- a/src/operations/interface/int_OpDotStar.h
+++ b/src/operations/interface/int_OpDotStar.h
@@ -36,40 +36,52 @@
/* Scalar .* Matrix */
-#define s0s2OpDotStars2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);
+#define s0s2OpDotStars2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);}
-#define d0d2OpDotStard2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);
+#define d0d2OpDotStard2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);}
-#define c0c2OpDotStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,in2[i]);
+#define c0c2OpDotStarc2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,in2[i]);}
-#define z0z2OpDotStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);
+#define z0z2OpDotStarz2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);}
-#define s0c2OpDotStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1,0),in2[i]);
+#define s0c2OpDotStarc2(in1,in2,size,out) c0c2OpDotStarc2(FloatComplex(in1,0),in2,size,out)
-#define d0z2OpDotStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1,0),in2[i]);
+#define d0z2OpDotStarz2(in1,in2,size,out) z0z2OpDotStarz2(DoubleComplex(in1,0),in2,size,out)
-#define c0s2OpDotStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));
+#define c0s2OpDotStarc2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));}
-#define z0d2OpDotStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));
+#define z0d2OpDotStarz2(in1,in2,size,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));}
/* Matrix .* Scalar */
-#define s2s0OpDotStars2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);
+#define s2s0OpDotStars2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);}
-#define d2d0OpDotStard2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);
+#define d2d0OpDotStard2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);}
-#define c2c0OpDotStarc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],in2);
+#define c2c0OpDotStarc2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],in2);}
-#define z2z0OpDotStarz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],in2);
+#define z2z0OpDotStarz2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],in2);}
-#define s2c0OpDotStarc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);
+#define s2c0OpDotStarc2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);}
-#define d2z0OpDotStarz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);
+#define d2z0OpDotStarz2(in1,size,in2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);}
-#define c2s0OpDotStarc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2,0));
+#define c2s0OpDotStarc2(in1,size,in2,out) c2c0OpDotStarc2(in1,size,FloatComplex(in2,0),out)
-#define z2d0OpDotStarz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2,0));
+#define z2d0OpDotStarz2(in1,size,in2,out) z2z0OpDotStarz2(in1,size,DoubleComplex(in2,0),out)
/* Matrix .* Matrix */
@@ -79,15 +91,21 @@
#define c2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,in2,size1[0]*size2[1],out)
-#define c2s2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,FloatComplexMatrix(in2,0,size2[0]*size2[1]),size1[0]*size2[1],out)
+#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,in2,size1[0]*size2[1],out)
-#define s2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(FloatComplexMatrix(in1,0,size1[0]*size1[1]),in2,size1[0]*size2[1],out)
-#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,in2,size1[0]*size2[1],out)
+#define c2s2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2[i],0),out)}
+
+#define s2c2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2[i],out)}
+
-#define z2d2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size1[0]*size2[1],out)
+#define z2d2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2[i],0),out)}
-#define d2z2OpDotStarc2(in1,size1,in2,size2,out) cmula(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),in2,size1[0]*size2[1],out)
+#define d2z2OpDotStarc2(in1,size1,in2,size2,out) {int i;\
+ for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2[i],out)}
#endif /* !__INT_OPDOTSTAR_H__ */
diff --git a/src/operations/interface/int_OpMinus.h b/src/operations/interface/int_OpMinus.h
index a98f52af..e63f3658 100644
--- a/src/operations/interface/int_OpMinus.h
+++ b/src/operations/interface/int_OpMinus.h
@@ -37,66 +37,77 @@
/* Matrix + Scalar */
-/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
-#define s2s0OpMinuss2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],in2);\
- s2s2OpMinuss2(in1,size,(float*)out,size,out)
+
+#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;\
+ }
-/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
-#define d2d0OpMinusd2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],in2);\
- d2d2OpMinusd2(in1,size,(double*)out,size,out)
-/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
-#define c2c0OpMinusc2(in1,size,in2,out) cfilla((floatComplex*)out,size[0],size[1],in2);\
- c2c2OpMinusc2(in1,size,(floatComplex*)out,size,out)
+#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)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c0...c2*/
-#define s2c0OpMinusc2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],0);\
- c2c0OpMinusc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,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);\
+ }
-/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
-#define z2z0OpMinusz2(in1,size,in2,out) zfilla((doubleComplex*)out,size[0],size[1],in2);\
- z2z2OpMinusz2(in1,size,(doubleComplex*)out,size,out)
+
+#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)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z0...z2*/
-#define d2z0OpMinusz2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],0);\
- z2z0OpMinusz2(DoubleComplexMatrix(in1,(double*)out,size[0]*size[1]),size,in2,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);\
+ }
/* Scalar + Matrix */
-/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
-#define s0s2OpMinuss2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],in1);\
- s2s2OpMinuss2((float*)out,size,in2,size,out)
+
+#define s0s2OpMinuss2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i];\
+ }
-/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
-#define d0d2OpMinusd2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],in1);\
- d2d2OpMinusd2((double*)out,size,in2,size,out)
+
+#define d0d2OpMinusd2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i];\
+ }
-/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
-#define c0c2OpMinusc2(in1,in2,size,out) cfilla((floatComplex*)out,size[0],size[1],in1);\
- c2c2OpMinusc2((floatComplex*)out,size,in2,size,out)
+
+#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)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c0c2...c2*/
-#define c0s2OpMinusc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0);\
- c0c2OpMinusc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),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));\
+ }
-/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
-#define z0z2OpMinusz2(in1,in2,size,out) zfilla((doubleComplex*)out,size[0],size[1],in1);\
- z2z2OpMinusz2((doubleComplex*)out,size,in2,size,out)
+
+#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 d0z2OpMinusz2(in1,in2,size,out) z0z2OpMinusz2(DoubleComplex(in1,0),in2,size,out)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z0z2...z2*/
+
#define z0d2OpMinusz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0);\
z0z2OpMinusz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
@@ -110,23 +121,23 @@
#define c2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c2...c2*/
-#define s2c2OpMinusc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0);\
- c2c2OpMinusc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define s2c2OpMinusc2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]);}
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c2...c2*/
-#define c2s2OpMinusc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0);\
- c2c2OpMinusc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
+
+#define c2s2OpMinusc2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size[0]*size[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)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z2...z2*/
-#define d2z2OpMinusz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0);\
- z2z2OpMinusz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define d2z2OpMinusz2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]);}
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z2...z2*/
-#define z2d2OpMinusz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0);\
- z2z2OpMinusz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
+
+#define z2d2OpMinusz2(in1,size1,in2,size2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0));}
diff --git a/src/operations/interface/int_OpPlus.h b/src/operations/interface/int_OpPlus.h
index 6a40563c..80cc191a 100644
--- a/src/operations/interface/int_OpPlus.h
+++ b/src/operations/interface/int_OpPlus.h
@@ -38,100 +38,68 @@
/* Matrix + Scalar */
-/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
-#define s2s0OpPluss2(in1,size,in2,out) {float* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(float));\
- sfilla((float*)temp,size[0],size[1],in2);\
- s2s2OpPluss2(in1,size,(float*)temp,size,out);\
- free(temp);\
+#define s2s0OpPluss2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
}
-/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
-#define d2d0OpPlusd2(in1,size,in2,out) {double* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(double));\
- dfilla((double*)out,size[0],size[1],in2);\
- d2d2OpPlusd2(in1,size,(double*)out,size,out);\
- free(temp);\
+#define d2d0OpPlusd2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
}
-/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
-#define c2c0OpPlusc2(in1,size,in2,out) {floatComplex* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(floatComplex));\
- cfilla((floatComplex*)temp,size[0],size[1],in2);\
- c2c2OpPlusc2(in1,size,(floatComplex*)temp,size,out);\
- free(temp);\
+#define c2c0OpPlusc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1[i],in2);\
}
/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c2c0...c2*/
#define c2s0OpPlusc2(in1,size,in2,out) c2c0OpPlusc2(in1,size,FloatComplex(in2,0),out)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c0...c2*/
-#define s2c0OpPlusc2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],0);\
- c2c0OpPlusc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out);
+#define s2c0OpPlusc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2);\
+ }
-/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
-#define z2z0OpPlusz2(in1,size,in2,out) {doubleComplex* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(doubleComplex));\
- zfilla((doubleComplex*)temp,size[0],size[1],in2);\
- z2z2OpPlusz2(in1,size,(doubleComplex*)temp,size,out);\
- free(temp);\
+#define z2z0OpPlusz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1[i],in2);\
}
/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z2z0...z2*/
#define z2d0OpPlusz2(in1,size,in2,out) z2z0OpPlusz2(in1,size,DoubleComplex(in2,0),out)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z0...z2*/
-#define d2z0OpPlusz2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],0);\
- z2z0OpPlusz2(DoubleComplexMatrix(in1,(double*)out,size[0]*size[1]),size,in2,out);
+#define d2z0OpPlusz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2);\
+ }
/* Scalar + Matrix */
-/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
-#define s0s2OpPluss2(in1,in2,size,out) {float* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(float));\
- sfilla((float*)temp,size[0],size[1],in1);\
- s2s2OpPluss2((float*)temp,size,in2,size,out);\
- free(temp);\
+#define s0s2OpPluss2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2;[i]\
}
-/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
-#define d0d2OpPlusd2(in1,in2,size,out) {double* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(double));\
- dfilla((double*)temp,size[0],size[1],in1);\
- d2d2OpPlusd2((double*)temp,size,in2,size,out);\
- free(temp);\
+#define d0d2OpPlusd2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2;[i]\
}
-/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
-#define c0c2OpPlusc2(in1,in2,size,out) {floatComplex* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(floatComplex));\
- cfilla((floatComplex*)temp,size[0],size[1],in1);\
- c2c2OpPlusc2((floatComplex*)temp,size,in2,size,out);\
- free(temp);\
+#define c0c2OpPlusc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,in2[i]);\
}
/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c0c2...c2*/
#define s0c2OpPlusc2(in1,in2,size,out) c0c2OpPlusc2(FloatComplex(in1,0),in2,size,out)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c0c2...c2*/
-#define c0s2OpPlusc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0);\
- c0c2OpPlusc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
+#define c0s2OpPlusc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,FloatComplex(in2[i],0));\
+ }
-/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
-#define z0z2OpPlusz2(in1,in2,size,out) {doubleComplex* temp;\
- temp=malloc((uint)(size[0]*size[1])*sizeof(doubleComplex));\
- zfilla((doubleComplex*)temp,size[0],size[1],in1);\
- z2z2OpPlusz2((doubleComplex*)temp,size,in2,size,out);\
- free(temp);\
+#define z0z2OpPlusz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,in2[i]);\
}
/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z0z2...z2*/
#define d0z2OpPlusz2(in1,in2,size,out) z0z2OpPlusz2(DoubleComplex(in1,0),in2,size,out)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z0z2...z2*/
-#define z0d2OpPlusz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0);\
- z0z2OpPlusz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
+#define z0d2OpPlusz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,DoubleComplex(in2[i],0));\
+ }
@@ -143,23 +111,26 @@
#define c2c2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c2...c2*/
-#define s2c2OpPlusc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0);\
- c2c2OpPlusc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define s2c2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2[i]);\
+ }
-/*On transforme le tableau de float en tableau de floatComplex pour pouvoir utiliser c2c2...c2*/
-#define c2s2OpPlusc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0);\
- c2c2OpPlusc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
+#define c2s2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1[i],FloatComplex(in2[i],0));\
+ }
#define z2z2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z2...z2*/
-#define d2z2OpPlusz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0);\
- z2z2OpPlusz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define d2z2OpPlusz2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2[i]);\
+ }
-/*On transforme le tableau de double en tableau de doubleComplex pour pouvoir utiliser z2z2...z2*/
-#define z2d2OpPlusz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0);\
- z2z2OpPlusz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
+
+#define z2d2OpPlusz2(in1,size1,in2,size2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1[i],DoubleComplex(in2[i],0));\
+ }
diff --git a/src/operations/interface/int_OpSlash.h b/src/operations/interface/int_OpSlash.h
index c21d4fe1..def50514 100644
--- a/src/operations/interface/int_OpSlash.h
+++ b/src/operations/interface/int_OpSlash.h
@@ -36,88 +36,69 @@
/* Scalar / Matrix */
-/* On transforme s0 en s2 pour appeler s2s2OpDotSlashs2*/
-#define s0s2OpSlashs2(in1,in2,size,out) {float* temp;\
- sfilla((float*)temp,size[0],size[1],in1);\
- s2s2OpDotSlashs2((float*)temp,size,in2,size,out);\
- }
-
-/* On transforme d0 en d2 */
-#define d0d2OpSlashd2(in1,in2,size,out) {double* temp;\
- dfilla((double*)temp,size[0],size[1],in1);\
- d2d2OpDotSlashd2((double*)temp,size,in2,size,out);\
- }
+
+#define s0s2OpSlashs2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
+
+
+#define d0d2OpSlashd2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-/* On transforme c0 en c2 */
-#define c0c2OpSlashc2(in1,in2,size,out) {floatComplex* temp;\
- cfilla((floatComplex*)temp,size[0],size[1],in1);\
- c2c2OpDotSlashc2((floatComplex*)temp,size,in2,size,out);\
- }
-/* On transforme z0 en z2 */
-#define z0z2OpSlashz2(in1,in2,size,out) {doubleComplex* temp;\
- zfilla((doubleComplex*)temp,size[0],size[1],in1);\
- z2z2OpDotSlashz2((doubleComplex*)temp,size,in2,size,out);\
- }
+#define c0c2OpSlashc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,in2[i]);}
+
+
+#define z0z2OpSlashz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1,in2[i]);}
+
+
-/* On transforme s0 en c0 pour appeler c0c2OpSlashc2 */
#define s0c2OpSlashc2(in1,in2,size,out) c0c2OpSlashc2(FloatComplex(in1,0),in2,size,out)
-/* On transforme d0 en z0 */
+
#define d0z2OpSlashz2(in1,in2,size,out) z0z2OpSlashz2(DoubleComplex(in1,0),in2,size,out)
-/* On transforme s2 en c2 */
-#define c0s2OpSlashc2(in1,in2,size,out) {sfilla((float*)out,size[0],size[1],0);\
- c0c2OpSlashc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out);\
- }
-/* On transforme d2 en z2 */
-#define z0d2OpSlashz2(in1,in2,size,out) {dfilla((double*)out,size[0],size[1],0);\
- z0z2OpSlashz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out);\
- }
+
+#define c0s2OpSlashc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,FloatComplex(in2[i],0));}
+
+
+#define z0d2OpSlashz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1,DoubleComplex(in2[i],0));}
/* Matrix / Scalar */
-/* On transforme s0 en s2 pour appeler s2s2OpDotSlashs2*/
-#define s2s0OpSlashs2(in1,size,in2,out) {float* temp;\
- sfilla((float*)temp,size[0],size[1],in2);\
- s2s2OpDotSlashs2(in1,size,(float*)temp,size,out);\
- }
-
-/* On transforme d0 en d2 */
-#define d2d0OpSlashd2(in1,size,in2,out) {double* temp;\
- dfilla((double*)temp,size[0],size[1],in2);\
- d2d2OpDotSlashd2(in1,size,(double*)temp,size,out);\
- }
+
+#define s2s0OpSlashs2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+
+
+#define d2d0OpSlashd2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-/* On transforme c0 en c2 */
-#define c2c0OpSlashc2(in1,size,in2,out) {floatComplex* temp;\
- cfilla((floatComplex*)temp,size[0],size[1],in2);\
- c2c2OpDotSlashc2(in1,size,(floatComplex*)temp,size,out);\
- }
-
-/* On transforme z0 en z2 */
-#define z2z0OpSlashz2(in1,size,in2,out) {doubleComplex* temp;\
- zfilla((doubleComplex*)temp,size[0],size[1],in2);\
- z2z2OpDotSlashz2(in1,size,(doubleComplex*)temp,size,out);\
- }
-
-/* On transforme s2 en c2 pour appeler c2c0OpSlashc2 */
-#define s2c0OpSlashc2(in1,size,in2,out) {sfilla((float*)out,size[0],size[1],0);\
- c2c0OpSlashc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out);\
- }
-
-/* On transforme d2 en z2 */
-#define d2z0OpSlashz2(in1,size,in2,out) {dfilla((double*)out,size[0],size[1],0);\
- z0z2OpSlashz2(DoubleComplexMatrix(in1,(double*)out,size[0]*size[1]),size,in2,out);\
- }
-
-/* On transforme s0 en c0 */
+#define c2c0OpSlashc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1[i],in2);}
+
+
+#define z2z0OpSlashz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1[i],in2);}
+
+
+#define s2c0OpSlashc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2);}
+
+
+#define d2z0OpSlashz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2);}
+
+
#define c2s0OpSlashc2(in1,size,in2,out) c2c0OpSlashc2(in1,size,FloatComplex(in2,0),out)
-/* On transforme d0 en z0 */
+
#define z2d0OpSlashz2(in1,size,in2,out) z2z0OpSlashz2(in1,size,DoubleComplex(in2,0),out)
@@ -132,14 +113,28 @@
#define c2c2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define c2s2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+#define z2z2OpSlashz2(in1,size1,in2,size2,out) zrdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define s2c2OpSlashc2(in1,size1,in2,size2,out) crdivma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+/* FIXME: There is some malloc in the define below, maybe they can be remove */
+#define c2s2OpSlashc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
+ sfilla(temp,size2[0],size2[1],0);\
+ c2c2OpSlashc2(in1, size1, FloatComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-#define z2z2OpSlashz2(in1,size1,in2,size2,out) zrdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define s2c2OpSlashc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ c2c2OpSlashc2(FloatComplexMatrix(in2,temp,size1[0]*size1[1]), size1, in2, size2, out);}
+
+#define z2d2OpSlashc2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ dfilla(temp,size2[0],size2[1],0);\
+ z2z2OpSlashz2(in1, size1, DoubleComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-#define z2d2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+#define d2z2OpSlashc2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ z2z2OpSlashz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-#define d2z2OpSlashc2(in1,size1,in2,size2,out) crdivma(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
#endif /* !__INT_OPSLASH_H__ */
diff --git a/src/operations/interface/int_OpStar.h b/src/operations/interface/int_OpStar.h
index 9e4c3f79..14456060 100644
--- a/src/operations/interface/int_OpStar.h
+++ b/src/operations/interface/int_OpStar.h
@@ -36,67 +36,64 @@
/* Scalar * Matrix */
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define s0s2OpStars2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],in1);\
- s2s2OpDotStars2((float*)out,size,in2,size,out)
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define d0d2OpStard2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],in1);\
- d2d2OpDotStard2((double*)out,size,in2,size,out)
+#define s0s2OpStars2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define c0c2OpStarc2(in1,in2,size,out) cfilla((floatComplex*)out,size[0],size[1],in1);\
- c2c2OpDotStarc2((floatComplex*)out,size,in2,size,out)
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define z0z2OpStarz2(in1,in2,size,out) zfilla((doubleComplex*)out,size[0],size[1],in1);\
- z2z2OpDotStarz2((doubleComplex*)out,size,in2,size,out)
+#define d0d2OpStard2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
+
+
+#define c0c2OpStarc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,in2[i]);}
+
+
+#define z0z2OpStarz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,in2[i]);}
-/* On transforme le float en floatComplex puis on appelle c0c2...c2 */
#define s0c2OpStarc2(in1,in2,size,out) c0c2OpStarc2(FloatComplex(in1,0),in2,size,out)
-/* On transforme le double en doubleComplex puis on appelle z0z2...z2 */
+
#define d0z2OpStarz2(in1,in2,size,out) z0z2OpStarz2(DoubleComplex(in1,0),in2,size,out)
-/* on transforme le tableau de float en tableau de floatComplex pour appeler c0c2...c2*/
-#define c0s2OpStarc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0);\
- c0c2OpStarc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
-/* on transforme le tableau de double en tableau de doubleComplex pour appeler z0z2...z2*/
-#define z0d2OpStarz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0);\
- z0z2OpStarz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
+#define c0s2OpStarc2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(in2[i],0));}
+
+#define z0d2OpStarz2(in1,in2,size,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(in2[i],0));}
/* Matrix * Scalar */
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define s2s0OpStars2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],in2);\
- s2s2OpDotStars2(in1,size,(float*)out,size,out)
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define d2d0OpStard2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],in2);\
- d2d2OpDotStard2(in1,size,(double*)out,size,out)
+#define s2s0OpStars2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+
+
+#define d2d0OpStard2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
+
+
+#define c2c0OpStarc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],in2);}
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define c2c0OpStarc2(in1,size,in2,out) cfilla((floatComplex*)out,size[0],size[1],in2);\
- c2c2OpDotStarc2(in1,size,(floatComplex*)out,size,out)
+#define z2z0OpStarz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],in2);}
-/* On transforme le scalaire en tableau pour ensuite pouvoir appeler la multiplication éléments par éléments */
-#define z2z0OpStarz2(in1,size,in2,out) zfilla((doubleComplex*)out,size[0],size[1],in2);\
- z2z2OpDotStarz2(in1,size,(doubleComplex*)out,size,out)
-/* On transforme le tableau de float en tableau de floatComplex puis on appelle c2c0...c2 */
-#define s2c0OpStarc2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],0);\
- c2c0OpStarc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out)
+#define s2c0OpStarc2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(FloatComplex(in1[i],0),in2);}
-/* On transforme le tableau de double en tableau de doubleComplex puis on appelle z2z0...z2 */
-#define d2z0OpStarz2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],0);\
- z2z0OpStarz2(DoubleComplexMatrix(in1,(double*)out,size[0]*size[1]),size,in2,out)
-/* on transforme le float en floatComplex pour appeler c2c0...c2*/
+#define d2z0OpStarz2(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(DoubleComplex(in1[i],0),in2);}
+
+
#define c2s0OpStarc2(in1,size,in2,out) c2c0OpStarc2(in1,size,FloatComplex(in2,0),out)
-/* on transforme le double en doubleComplex pour appeler z2z0...z2*/
+
#define z2d0OpStarz2(in1,size,in2,out) z2z0OpStarz2(in1,size,DoubleComplex(in2,0),out)
/* Matrix * Matrix */
@@ -107,14 +104,27 @@
#define c2c2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define c2s2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
-
-#define s2c2OpStarc2(in1,size1,in2,size2,out) cmulma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
-
#define z2z2OpStarz2(in1,size1,in2,size2,out) zmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-#define z2d2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0],size2[1]),size2[0],size2[1],out)
-
-#define d2z2OpStarc2(in1,size1,in2,size2,out) cmulma(DoubleComplexMatrix(in1,0,size1[0],size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+/* FIXME: There is some malloc in the define below, maybe they can be remove */
+#define c2s2OpStarc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
+ sfilla(temp,size2[0],size2[1],0);\
+ c2c2OpStarc2(in1, size1, FloatComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
+
+#define s2c2OpStarc2(in1,size1,in2,size2,out) {float* temp;\
+ temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
+ sfilla(temp,size1[0],size1[1],0);\
+ c2c2OpStarc2(FloatComplexMatrix(in2,temp,size1[0]*size1[1]), size1, in2, size2, out);}
+
+#define z2d2OpStarc2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ dfilla(temp,size2[0],size2[1],0);\
+ z2z2OpStarz2(in1, size1, DoubleComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
+
+#define d2z2OpStarc2(in1,size1,in2,size2,out) {double* temp;\
+ temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
+ dfilla(temp,size1[0],size1[1],0);\
+ z2z2OpStarz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
#endif /* !__INT_OPSTAR_H__ */