summaryrefslogtreecommitdiff
path: root/src/operations/interface
diff options
context:
space:
mode:
authortorset2009-01-23 15:46:25 +0000
committertorset2009-01-23 15:46:25 +0000
commit543a19230aab23a5dc3d583d1e56eae29293a3a2 (patch)
tree903ca80998deafb96848f43061fe36aed829bb55 /src/operations/interface
parent532ad3757194e8c47e05d342093eff945e0f219c (diff)
downloadscilab2c-543a19230aab23a5dc3d583d1e56eae29293a3a2.tar.gz
scilab2c-543a19230aab23a5dc3d583d1e56eae29293a3a2.tar.bz2
scilab2c-543a19230aab23a5dc3d583d1e56eae29293a3a2.zip
adjusting some headers
Diffstat (limited to 'src/operations/interface')
-rw-r--r--src/operations/interface/int_OpMinus.h125
-rw-r--r--src/operations/interface/int_OpPlus.h111
-rw-r--r--src/operations/interface/int_OpStar.h76
3 files changed, 218 insertions, 94 deletions
diff --git a/src/operations/interface/int_OpMinus.h b/src/operations/interface/int_OpMinus.h
index ccdf32df..a98f52af 100644
--- a/src/operations/interface/int_OpMinus.h
+++ b/src/operations/interface/int_OpMinus.h
@@ -34,43 +34,75 @@
#define z0d0OpMinusz0(in1,in2) zdiffs(in1,DoubleComplex(in2,0))
-/* Scalar - Matrix */
-#define s0s2OpMinuss2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sdiffs(in1,in2[i]);
-
-#define d0d2OpMinusd2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= ddiffs(in1,in2[i]);
-
-#define c0c2OpMinusc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(in1,in2[i]);
-
-#define z0z2OpMinusz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(in1,in2[i]);
-
-#define s0c2OpMinusc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(FloatComplex(in1,0),in2[i]);
-
-#define d0z2OpMinusz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(DoubleComplex(in1,0),in2[i]);
-
-#define c0s2OpMinusc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(in1,FloatComplex(in2[i],0));
-
-#define z0d2OpMinusz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(in1,DoubleComplex(in2[i],0));
-
-/* Matrix - Scalar */
-
-#define s2s0OpMinuss2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= sdiffs(in1[i],in2);
-
-#define d2d0OpMinusd2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= ddiffs(in1[i],in2);
-
-#define c2c0OpMinusc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(in1[i],in2);
-
-#define z2z0OpMinusz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(in1[i],in2);
-
-#define s2c0OpMinusc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(FloatComplex(in1[i],0),in2);
-
-#define d2z0OpMinusz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(DoubleComplex(in1[i],0),in2);
-
-#define c2s0OpMinusc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cdiffs(in1[i],FloatComplex(in2,0));
-
-#define z2d0OpMinusz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zdiffs(in1[i],DoubleComplex(in2,0));
-
-/* Matrix - Matrix */
+/* 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)
+
+/*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)
+
+/*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)
+
+/*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)
+
+/*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)
+
+
+/* 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)
+
+/*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)
+
+/*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)
+
+/*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)
+
+/*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)
+
+/*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)
+
+
+
+/* Matrix + Matrix */
#define s2s2OpMinuss2(in1,size1,in2,size2,out) sdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
@@ -78,14 +110,25 @@
#define c2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define c2s2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], FloatComplexMatrix(in2,0,size2[0]*size2[1]), size2[0]*size2[1], out)
-
-#define s2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(FloatComplexMatrix(in1,0,size1[0]*size1[1]), 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)
+
+/*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 z2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define z2d2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], DoubleComplexMatrix(in2,0,size2[0]*size2[1]), 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)
+
+/*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 d2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(DoubleComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
#endif /* !__INT_OPMINUS_H__ */
diff --git a/src/operations/interface/int_OpPlus.h b/src/operations/interface/int_OpPlus.h
index 8e56692c..0287c81a 100644
--- a/src/operations/interface/int_OpPlus.h
+++ b/src/operations/interface/int_OpPlus.h
@@ -38,59 +38,96 @@
/* Matrix + Scalar */
-#define s2s0OpPluss2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = sadds(in1[i],in2)
-
-#define d2d0OpPlusd2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = dadds(in1[i],in2)
-
-#define c2c0OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(in1[i],in2)
-
-#define c2s0OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(in1[i],FloatComplex(in2,0))
-
-#define s2c0OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(FloatComplex(in1[i],0),in2)
-
-#define z2z0OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(in1[i],in2)
-
-#define z2d0OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(in1[i],DoubleComplex(in2,0))
-
-#define d2z0OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(DoubleComplex(in1[i],0),in2)
+/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
+#define s2s0OpPluss2(in1,size,in2,out) sfilla((float*)out,size[0],size[1],in2);\
+ s2s2OpPluss2(in1,size,(float*)out,size,out)
+
+/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
+#define d2d0OpPlusd2(in1,size,in2,out) dfilla((double*)out,size[0],size[1],in2);\
+ d2d2OpPlusd2(in1,size,(double*)out,size,out)
+
+/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
+#define c2c0OpPlusc2(in1,size,in2,out) cfilla((floatComplex*)out,size[0],size[1],in2);\
+ c2c2OpPlusc2(in1,size,(floatComplex*)out,size,out)
+
+/*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)
+
+/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
+#define z2z0OpPlusz2(in1,size,in2,out) zfilla((doubleComplex*)out,size[0],size[1],in2);\
+ z2z2OpPlusz2(in1,size,(doubleComplex*)out,size,out)
+
+/*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)
/* Scalar + Matrix */
-#define s0s2OpPluss2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = sadds(in1,in2[i])
-
-#define d0d2OpPlusd2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = dadds(in1,in2[i])
-
-#define c0c2OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(in1,in2[i])
-
-#define s0c2OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(FloatComplex(in1,0),in2[i])
-
-#define c0s2OpPlusc2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = cadds(in1,FloatComplex(in2[i],0))
-
-#define z0z2OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(in1,in2[i])
-
-#define d0z2OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(DoubleComplex(in1,0),in2[i])
-
-#define z0d2OpPlusz2(in1,size,in2,out) for (int i=0;i<size[0]*size[1];i++) out[i] = zadds(in1,DoubleComplex(in2[i],0))
+/*On transforme le scalaire en tableau et on se ramene à s2s2...s2*/
+#define s0s2OpPluss2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],in1);\
+ s2s2OpPluss2((float*)out,size,in2,size,out)
+
+/*On transforme le scalaire en tableau et on se ramene à d2d2...d2*/
+#define d0d2OpPlusd2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],in1);\
+ d2d2OpPlusd2((double*)out,size,in2,size,out)
+
+/*On transforme le scalaire en tableau et on se ramene à c2c2...c2*/
+#define c0c2OpPlusc2(in1,in2,size,out) cfilla((floatComplex*)out,size[0],size[1],in1);\
+ c2c2OpPlusc2((floatComplex*)out,size,in2,size,out)
+
+/*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)
+
+/*On transforme le scalaire en tableau et on se ramene à z2z2...z2*/
+#define z0z2OpPlusz2(in1,in2,size,out) zfilla((doubleComplex*)out,size[0],size[1],in1);\
+ z2z2OpPlusz2((doubleComplex*)out,size,in2,size,out)
+
+/*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)
+
/* Matrix + Matrix */
-#define s2s2OpPluss2(in1,size1,in2,size2,out) sadda(in1, size1[0]*size1[1], in2, size2[0]*siz2e[1], out)
+#define s2s2OpPluss2(in1,size1,in2,size2,out) sadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
#define d2d2OpPlusd2(in1,size1,in2,size2,out) dadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
#define c2c2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define s2c2OpPlusc2(in1,size1,in2,size2,out) cadda(FloatComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define c2s2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*siz1e[1], FloatComplexMatrix(in2,0,size2[0]*size2[1]), 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)
+
+/*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 z2z2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-#define d2z2OpPlusz2(in1,size1,in2,size2,out) zadda(DoubleComplexMatrix(in1,0,size1[0]*size1[1]), size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define z2d2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], DoubleComplexMatrix(in2,0,size2[0]*size2[1]), 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)
+
+/*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)
diff --git a/src/operations/interface/int_OpStar.h b/src/operations/interface/int_OpStar.h
index 82bcf2fd..9e4c3f79 100644
--- a/src/operations/interface/int_OpStar.h
+++ b/src/operations/interface/int_OpStar.h
@@ -36,41 +36,85 @@
/* Scalar * Matrix */
-#define s0s2OpStars2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);
+/* 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)
-#define d0d2OpStard2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);
+/* 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 c0c2OpStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(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)
-#define z0z2OpStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);
+/* 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 s0c2OpStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1,0),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)
-#define d0z2OpStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1,0),in2[i]);
+/* On transforme le double en doubleComplex puis on appelle z0z2...z2 */
+#define d0z2OpStarz2(in1,in2,size,out) z0z2OpStarz2(DoubleComplex(in1,0),in2,size,out)
-#define c0s2OpStarc2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));
+/* 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)
-#define z0d2OpStarz2(in1,in2,size,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));
+/* 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)
/* Matrix * Scalar */
-#define s2s0OpStars2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);
+/* 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)
-#define d2d0OpStard2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);
+/* 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 c2c0OpStarc2(in1,size,in2,out) for(int 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) for(int 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)
-#define s2c0OpStarc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);
+/* 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)
+
+/* 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)
-#define d2z0OpStarz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);
+/* on transforme le float en floatComplex pour appeler c2c0...c2*/
+#define c2s0OpStarc2(in1,size,in2,out) c2c0OpStarc2(in1,size,FloatComplex(in2,0),out)
-#define c2s0OpStarc2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2,0));
+/* on transforme le double en doubleComplex pour appeler z2z0...z2*/
+#define z2d0OpStarz2(in1,size,in2,out) z2z0OpStarz2(in1,size,DoubleComplex(in2,0),out)
-#define z2d0OpStarz2(in1,size,in2,out) for(int i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2,0));
+/* Matrix * Matrix */
+#define s2s2OpStars2(in1,size1,in2,size2,out) smulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define d2d2OpStard2(in1,size1,in2,size2,out) dmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#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)
#endif /* !__INT_OPSTAR_H__ */