diff options
author | torset | 2009-01-23 15:46:25 +0000 |
---|---|---|
committer | torset | 2009-01-23 15:46:25 +0000 |
commit | 543a19230aab23a5dc3d583d1e56eae29293a3a2 (patch) | |
tree | 903ca80998deafb96848f43061fe36aed829bb55 /src/operations/interface | |
parent | 532ad3757194e8c47e05d342093eff945e0f219c (diff) | |
download | scilab2c-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.h | 125 | ||||
-rw-r--r-- | src/operations/interface/int_OpPlus.h | 111 | ||||
-rw-r--r-- | src/operations/interface/int_OpStar.h | 76 |
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__ */ |