diff options
author | torset | 2009-02-06 15:33:32 +0000 |
---|---|---|
committer | torset | 2009-02-06 15:33:32 +0000 |
commit | a9209daadd31846f6e18b7bcc186998433dd3607 (patch) | |
tree | 13e5a06ebe5077857cebe1249b5c16cdd344f916 /src/signalProcessing/interfaces | |
parent | 0dd9360f8003b85ccf460822d8bcb250b45ab778 (diff) | |
download | scilab2c-a9209daadd31846f6e18b7bcc186998433dd3607.tar.gz scilab2c-a9209daadd31846f6e18b7bcc186998433dd3607.tar.bz2 scilab2c-a9209daadd31846f6e18b7bcc186998433dd3607.zip |
Modify some headers and interfaces
Diffstat (limited to 'src/signalProcessing/interfaces')
-rw-r--r-- | src/signalProcessing/interfaces/int_convol.h | 126 | ||||
-rw-r--r-- | src/signalProcessing/interfaces/int_ifft.h | 4 |
2 files changed, 124 insertions, 6 deletions
diff --git a/src/signalProcessing/interfaces/int_convol.h b/src/signalProcessing/interfaces/int_convol.h index 9c0b730a..80ec65b1 100644 --- a/src/signalProcessing/interfaces/int_convol.h +++ b/src/signalProcessing/interfaces/int_convol.h @@ -15,6 +15,9 @@ #ifndef __INT_CONVOL_H__ #define __INT_CONVOL_H__ + +/* Scalar - Scalar */ + #define s0s0convols0(in1,in2) in1*in2 #define d0d0convold0(in1,in2) in1*in2 @@ -23,13 +26,128 @@ #define z0z0convolz0(in1,in2) zmuls(in1,in2) +#define s0c0convolc0(in1,in2) cmuls(FloatComplex(in1,0),in2) + +#define d0z0convolz0(in1,in2) zmuls(DoubleComplex(in1,0),in2) + +#define c0s0convolc0(in1,in2) cmuls(in1,FloatComplex(in2,0)) + +#define z0d0convolz0(in1,in2) zmuls(in1,DoubleComplex(in2,0)) + +/* Scalar - Matrix */ + +#define s0s2convols2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\ + } + +#define d0d2convold2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\ + } + +#define c0c2convolc2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,in2[i]);\ + } + +#define z0z2convolz2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,in2[i]);\ + } + +#define s0c2convolc2(in1,in2,size,out) c0c2convolc2(FloatComplex(in1,0),in2,size,out) + +#define d0z2convolz2(in1,in2,size,out) z0z2convolz2(DoubleComplex(in1,0),in2,size,out) + +#define c0s2convolc2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(in2[i],0));\ + } + +#define z0d2convolz2(in1,in2,size,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(in2[i],0));\ + } + +/* Matrix - Scalar */ + +#define s2s0convols2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\ + } + +#define d2d0convold2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\ + } + +#define c2c0convolc2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],in2);\ + } + +#define z2z0convolz2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],in2);\ + } + +#define s2c0convolc2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(FloatComplex(in1[i],0),in2);\ + } + +#define d2z0convolz2(in1,size,in2,out) {int i;\ + for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(DoubleComplex(in1[i],0),in2);\ + } + +#define c2s0convolc2(in1,size,in2,out) c2c0convolc2(in1,size,FloatComplex(in2,0),out) + +#define z2d0convolz2(in1,size,in2,out) z2z0convolz2(in1,size,DoubleComplex(in2,0),out) + + +/* Matrix - Matrix */ + +#define s2s2convols2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\ + sconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\ + }else{\ + sconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\ + } + +#define d2d2convold2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\ + dconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\ + }else{\ + dconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\ + } + +#define c2c2convolc2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\ + cconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\ + }else{\ + cconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\ + } + +#define z2z2convolz2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\ + zconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\ + }else{\ + zconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\ + } -#define s2convols2(in,size,out) sconvola(in, size[0]*size[1], out) +#define s2c2convolc2(in1,size1,in2,size2,out) {float* temp;\ + temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\ + sfilla(temp,size1[0],size1[1],0);\ + c2c2convolc2(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\ + free(temp);\ + } + +#define d2z2convolz2(in1,size1,in2,size2,out) {double* temp;\ + temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\ + dfilla(temp,size1[0],size1[1],0);\ + z2z2convolz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\ + free(temp);\ + } -#define d2convold2(in,size,out) dconvola(in, size[0]*size[1], out) +#define c2s2convolc2(in1,size1,in2,size2,out) {float* temp;\ + temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\ + sfilla(temp,size2[0],size2[1],0);\ + c2c2convolc2(in1,size1,FloatComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\ + free(temp);\ + } -#define c2convolc2(in,size,out) cconvola(in, size[0]*size[1], out) -#define z2convolz2(in,size,out) zconvola(in, size[0]*size[1], out) +#define z2d2convolz2(in1,size1,in2,size2,out) {double* temp;\ + temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\ + dfilla(temp,size2[0],size2[1],0);\ + z2z2convolz2(in1,size1,DoubleComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\ + free(temp);\ + } #endif /* !__INT_CONVOL_H__ */ diff --git a/src/signalProcessing/interfaces/int_ifft.h b/src/signalProcessing/interfaces/int_ifft.h index 419969c9..87aa138f 100644 --- a/src/signalProcessing/interfaces/int_ifft.h +++ b/src/signalProcessing/interfaces/int_ifft.h @@ -15,9 +15,9 @@ #ifndef __INT_IFFT_H__ #define __INT_IFFT_H__ -#define s0ifftc0(in) FloatComlex(siffts(in),0) +#define s0ifftc0(in) FloatComplex(siffts(in),0) -#define d0ifftz0(in) DoubleComlex(diffts(in),0) +#define d0ifftz0(in) DoubleComplex(diffts(in),0) #define c0ifftc0(in) ciffts(in) |