diff options
author | torset | 2009-01-15 09:03:16 +0000 |
---|---|---|
committer | torset | 2009-01-15 09:03:16 +0000 |
commit | 7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f (patch) | |
tree | 305d973e71e72513072f03861dcbf0de84460d74 /src/auxiliaryFunctions/interfaces | |
parent | 5a0b1a8aafdbad657ab35b427c3fdbf2e104aef0 (diff) | |
download | scilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.tar.gz scilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.tar.bz2 scilab2c-7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f.zip |
add interfaces
Diffstat (limited to 'src/auxiliaryFunctions/interfaces')
-rw-r--r-- | src/auxiliaryFunctions/interfaces/int_find.h | 80 | ||||
-rw-r--r-- | src/auxiliaryFunctions/interfaces/int_rand.h | 67 | ||||
-rw-r--r-- | src/auxiliaryFunctions/interfaces/int_size.h | 71 |
3 files changed, 143 insertions, 75 deletions
diff --git a/src/auxiliaryFunctions/interfaces/int_find.h b/src/auxiliaryFunctions/interfaces/int_find.h index 742ddc06..2df50986 100644 --- a/src/auxiliaryFunctions/interfaces/int_find.h +++ b/src/auxiliaryFunctions/interfaces/int_find.h @@ -15,20 +15,84 @@ #ifndef __INT_FIND_H__ #define __INT_FIND_H__ -#define s0finds0(in) (in == 0) ? -1 : in +/* 1 input, 1 output */ -#define d0findd0(in) (in == 0) ? -1 : in +#define s0finds0(in) (in == 0) ? -1 : in + +#define d0findd0(in) (in == 0) ? -1 : in -#define c0findc0(in) ((creals(in) == 0) && (cimags(in) == 0)) ? -1 : in +#define c0finds0(in) ((creals(in) == 0) && (cimags(in) == 0)) ? -1 : in -#define z0findz0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : in +#define z0findd0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : in -#define s2finds2(in,size,out) sfinda(in, size[0]*size[1]) +#define s2finds2(in,size,out) sfinda(in, size[0]*size[1]) -#define d2findd2(in,size,out) dfinda(in, size[0]*size[1]) +#define d2findd2(in,size,out) dfinda(in, size[0]*size[1]) + +#define c2finds2(in,size,out) cfinda(in, size[0]*size[1]) + +#define z2findd2(in,size,out) zfinda(in, size[0]*size[1]) + +/* 1 input, 2 outputs */ + +#define s0finds0s0(in,out1,out2) if (in==0) {out1=0;out2=0;} + +#define d0findd0d0(in,out1,out2) if (in==0) {out1=0;out2=0;} + +#define c0finds0s0(in,out1,out2) if ((creals(in)==0) && (cimags(in)==0)) {out1=0;out2=0;} + +#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 d2findd2d2(in,size,out1,out2) dfind2d(in,size[0],size[1],&out1,&out2) + +#define c2finds2s2(in,size,out1,out2) cfind2d(in,size[0],size[1],&out1,&out2) + +#define z2finds2s2(in,size,out1,out2) zfind2d(in,size[0],size[1],&out1,&out2) + +/* 2 inputs, 1 output */ + +#define s0s0finds0(in1,in2) s0finds0(in1) + +#define d0d0findd0(in1,in2) d0findd0(in1) + +#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]; + +#define c2s0finds2(in1,size,in2,out) c2finds2(in1,size,out_tmp);for(int i=0;i<in2;i++) out[i]=out_tmp[i]; + +#define z2d0findd2(in1,size,in2,out) z2findd2(in1,size,out_tmp);for(int i=0;i<in2;i++) out[i]=out_tmp[i]; + +/* 2 inputs, 2 outputs */ + +#define s0s0finds0s0(in1,in2,out1,out2) s0finds0s0(in1,out1,out2) + +#define d0d0findd0d0(in1,in2,out1,out2) d0findd0d0(in1,out1,out2) + +#define c0s0finds0s0(in1,in2,out1,out2) c0finds0s0(in1,out1,out2) + +#define z0d0findd0d0(in1,in2,out1,out2) z0findd0d0(in1,out1,out2) + +#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];} + +#define c2s0finds2s2(in1,size,in2,out1,out2) c2finds2s2(in1,size,out1_tmp,out_tmp2);for(int i=0;i<in2;i++) {out1[i]=out1_tmp[i];out2[i]= out2_tmp[i];} + +#define z2d0findd2d2(in1,size,in2,out1,out2) z2findd2d2(in1,size,out1_tmp,out_tmp2);for(int i=0;i<in2;i++) {out1[i]=out1_tmp[i];out2[i]= out2_tmp[i];} -#define c2findc2(in,size,out) cfinda(in, size[0]*size[1]) -#define z2findz2(in,size,out) zfinda(in, size[0]*size[1]) #endif /* !__INT_FIND_H__ */ + +PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y'); + +PrintStringInfo('s2s0'+ArgSeparator+'s2s2',ClassFileName,'file','y'); +PrintStringInfo('d2d0'+ArgSeparator+'d2d2',ClassFileName,'file','y'); diff --git a/src/auxiliaryFunctions/interfaces/int_rand.h b/src/auxiliaryFunctions/interfaces/int_rand.h deleted file mode 100644 index 1ce248a9..00000000 --- a/src/auxiliaryFunctions/interfaces/int_rand.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET - * - * This file must be used under the terms of the CeCILL. - * This source file is licensed as described in the file COPYING, which - * you should have received as part of this distribution. The terms - * are also available at - * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt - * - */ -/* ADDED BY NUTRICATO, BUT WAITING FOR THE AUTOMATIC GENERATION OF IT - AS SHOWN BELOW MANY CASES ARE MISSING. SCALAR RANDOM GENERATOR NOT - IMPLEMENTED YET, SEE DRANDS.C -*/ - -#ifndef __INT_RAND_H__ -#define __INT_RAND_H__ -/* -PrintStringInfo('NIN= 0',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= FA_TP_USER',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); - -PrintStringInfo('NIN= 1',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= FA_TP_USER',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)',ClassFileName,'file','y'); -
-PrintStringInfo('NIN= 2',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= FA_TP_USER',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= IN(1).VAL',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= IN(2).VAL',ClassFileName,'file','y');
- - -PrintStringInfo(ArgSeparator+'s0',ClassFileName,'file','y'); -PrintStringInfo(ArgSeparator+'d0',ClassFileName,'file','y'); - -PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y'); -PrintStringInfo('s0'+ArgSeparator+'d0',ClassFileName,'file','y'); -PrintStringInfo('d0'+ArgSeparator+'s0',ClassFileName,'file','y'); -PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y'); -PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y'); -PrintStringInfo('s2'+ArgSeparator+'d2',ClassFileName,'file','y'); -PrintStringInfo('d2'+ArgSeparator+'s2',ClassFileName,'file','y'); -PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y'); - -PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y'); -PrintStringInfo('s0s0'+ArgSeparator+'d0',ClassFileName,'file','y'); -PrintStringInfo('s0s0'+ArgSeparator+'s2',ClassFileName,'file','y'); -PrintStringInfo('s0s0'+ArgSeparator+'d2',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'s0',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'s2',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y'); -*/ -#define s0s0rands2(in1,in2,out) \ -sranda(out, in1*in2) - -#define d0d0randd2(in1,in2,out) \ -dranda(out, in1*in2) - - -#endif /* !__INT_RAND_H__ */ diff --git a/src/auxiliaryFunctions/interfaces/int_size.h b/src/auxiliaryFunctions/interfaces/int_size.h new file mode 100644 index 00000000..2608bc81 --- /dev/null +++ b/src/auxiliaryFunctions/interfaces/int_size.h @@ -0,0 +1,71 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + * + */ +/* ADDED BY NUTRICATO, BUT WAITING FOR THE AUTOMATIC GENERATION OF IT + AS SHOWN BELOW MANY CASES ARE MISSING. SCALAR RANDOM GENERATOR NOT + IMPLEMENTED YET, SEE DRANDS.C +*/ + +#ifndef __INT_SIZE_H__ +#define __INT_SIZE_H__ + +#define s0sizes2(in,out) out[0]=1.0f;out[1]=1.0f; + +#define d0sized2(in,out) out[0]=1.0;out[1]=1.0; + +#define c0sizes2(in,out) out[0]=1.0f;out[1]=1.0f; + +#define z0sized2(in,out) out[0]=1.0;out[1]=1.0; + +#define s2sizes2(in,size,out) out[0]=size[0];out[1]=size[1]; + +#define d2sized2(in,size,out) out[0]=size[0];out[1]=size[1]; + +#define c2sizes2(in,size,out) out[0]=size[0];out[1]=size[1]; + +#define z2sized2(in,size,out) out[0]=size[0];out[1]=size[1]; + +#define s0sizes0s0(in,out1,out2) out1=1.0f;out2=1.0f; + +#define d0sized0d0(in,out1,out2) out1=1.0;out2=1.0; + +#define c0sizes0s0(in,out1,out2) out1=1.0f;out2=1.0f; + +#define z0sized0d0(in,out1,out2) out1=1.0;out2=1.0; + +#define s2sizes0s0(in,size,out1,out2) out1=size[0];out2=size[1]; + +#define d2sized0d0(in,size,out1,out2) out1=size[0];out2=size[1]; + +#define c2sizes0s0(in,size,out1,out2) out1=size[0];out2=size[1]; + +#define z2sized0d0(in,size,out1,out2) out1=size[0];out2=size[1]; + +#define s0s0sizes0(in1,in2) 1.0f + +#define d0d0sized0(in1,in2) 1. + +#define c0s0sizes0(in1,in2) 1.0f + +#define z0d0sized0(in1,in2) 1. + +#define s2s0sizes0(in1,size,in2) (in2==1) ? size[0] : size[1] + +#define d2d0sized0(in1,size,in2) (in2==1) ? size[0] : size[1] + +#define c2s0sizes0(in1,size,in2) (in2==1) ? size[0] : size[1] + +#define z2d0sized0(in1,size,in2) (in2==1) ? size[0] : size[1] + + +#endif /* !__INT_SIZE_H__ */ + + |