summaryrefslogtreecommitdiff
path: root/src/auxiliaryFunctions/interfaces
diff options
context:
space:
mode:
authortorset2009-01-15 09:03:16 +0000
committertorset2009-01-15 09:03:16 +0000
commit7347e8f3e2715fcea8b2bcacdecd4ad32a2c691f (patch)
tree305d973e71e72513072f03861dcbf0de84460d74 /src/auxiliaryFunctions/interfaces
parent5a0b1a8aafdbad657ab35b427c3fdbf2e104aef0 (diff)
downloadscilab2c-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.h80
-rw-r--r--src/auxiliaryFunctions/interfaces/int_rand.h67
-rw-r--r--src/auxiliaryFunctions/interfaces/int_size.h71
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__ */
+
+