diff options
Diffstat (limited to 'src/auxiliaryFunctions/interfaces')
-rw-r--r-- | src/auxiliaryFunctions/interfaces/int_find.h | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/src/auxiliaryFunctions/interfaces/int_find.h b/src/auxiliaryFunctions/interfaces/int_find.h index 78b326a1..7d620e6c 100644 --- a/src/auxiliaryFunctions/interfaces/int_find.h +++ b/src/auxiliaryFunctions/interfaces/int_find.h @@ -17,13 +17,13 @@ /* 1 input, 1 output */ -#define s0finds0(in) (in == 0) ? -1 : in +#define s0finds0(in) (in == 0) ? -1 : 1 -#define d0findd0(in) (in == 0) ? -1 : in +#define d0findd0(in) (in == 0) ? -1 : 1 + +#define c0finds0(in) ((creals(in) == 0) && (cimags(in) == 0)) ? -1 : 1 -#define c0finds0(in) ((creals(in) == 0) && (cimags(in) == 0)) ? -1 : in - -#define z0findd0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : in +#define z0findd0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : 1 #define s2finds2(in,size,out,sizeOut) sfinda(in, size[0]*size[1], out, sizeOut) @@ -35,21 +35,22 @@ /* 1 input, 2 outputs */ -#define s0finds0s0(in,out1,out2) if (in==0) {out1=0;out2=0;} +#define s0finds0s0(in,out2) *out2 = s0finds0(in);s0finds0(in) + +#define d0findd0d0(in,out2) *out2 = d0findd0(in);d0findd0(in) -#define d0findd0d0(in,out1,out2) if (in==0) {out1=0;out2=0;} +#define c0finds0s0(in,out2) if ((creals(in)==0) && (cimags(in)==0)) {out2=0;} else {out2=1;} -#define c0finds0s0(in,out1,out2) if ((creals(in)==0) && (cimags(in)==0)) {out1=0;out2=0;} +#define z0findd0d0(in,out2) if ((zreals(in)==0) && (zimags(in)==0)) {out2=0;} else {out2=1;} -#define z0findd0d0(in,out1,out2) if ((zreals(in)==0) && (zimags(in)==0)) {out1=0;out2=0;} -#define s2finds2s2(in,size,out1,out2) sfind2d(in,size[0],size[1],&out1,&out2) +#define s2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) sfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2) -#define d2findd2d2(in,size,out1,out2) dfind2d(in,size[0],size[1],&out1,&out2) +#define d2findd2d2(in,size,out1,sizeOut1,out2,sizeOut2) dfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2) -#define c2finds2s2(in,size,out1,out2) cfind2d(in,size[0],size[1],&out1,&out2) +#define c2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) cfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2) -#define z2finds2s2(in,size,out1,out2) zfind2d(in,size[0],size[1],&out1,&out2) +#define z2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) zfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2) /* 2 inputs, 1 output */ @@ -60,7 +61,7 @@ #define c0s0finds0(in1,in2) c0finds0(in1) #define z0d0findd0(in1,in2) z0findd0(in1) - + #define s2s0finds2(in1,size,in2,out) s2finds2(in1,size,out_tmp);for(int i=0;i<in2;i++) out[i]=out_tmp[i]; #define d2d0findd2(in1,size,in2,out) d2findd2(in1,size,out_tmp);for(int i=0;i<in2;i++) out[i]=out_tmp[i]; @@ -71,14 +72,16 @@ /* 2 inputs, 2 outputs */ -#define s0s0finds0s0(in1,in2,out1,out2) s0finds0s0(in1,out1,out2) +#define s0s0finds0s0(in1,in2,out2) s0finds0s0(in1,out2) + +#define d0d0findd0d0(in1,in2,out2) d0findd0d0(in1,out2) -#define d0d0findd0d0(in1,in2,out1,out2) d0findd0d0(in1,out1,out2) +#define c0s0finds0s0(in1,in2,out2) c0finds0s0(in1,out2) -#define c0s0finds0s0(in1,in2,out1,out2) c0finds0s0(in1,out1,out2) +#define z0d0findd0d0(in1,in2,out2) z0findd0d0(in1,out2) -#define z0d0findd0d0(in1,in2,out1,out2) z0findd0d0(in1,out1,out2) +/*FIXME : prototypes are wrong*/ #define s2s0finds2s2(in1,size,in2,out1,out2) s2finds2s2(in1,size,out1_tmp,out_tmp2);for(int i=0;i<in2;i++) {out1[i]=out1_tmp[i];out2[i]= out2_tmp[i];} #define d2d0findd2d2(in1,size,in2,out1,out2) d2findd2d2(in1,size,out1_tmp,out_tmp2);for(int i=0;i<in2;i++) {out1[i]=out1_tmp[i];out2[i]= out2_tmp[i];} |