diff options
Diffstat (limited to 'src/operations/interface/int_OpDotSlash.h')
-rw-r--r-- | src/operations/interface/int_OpDotSlash.h | 83 |
1 files changed, 60 insertions, 23 deletions
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]);} |