summaryrefslogtreecommitdiff
path: root/src/c/matrixOperations/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/matrixOperations/interfaces')
-rw-r--r--src/c/matrixOperations/interfaces/int_OpApex.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_OpBackSlash.h37
-rw-r--r--src/c/matrixOperations/interfaces/int_OpCc.h134
-rw-r--r--src/c/matrixOperations/interfaces/int_OpDotApex.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_OpRc.h139
-rw-r--r--src/c/matrixOperations/interfaces/int_OpSlash.h38
-rw-r--r--src/c/matrixOperations/interfaces/int_OpStar.h37
-rw-r--r--src/c/matrixOperations/interfaces/int_chol.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_det.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_dist.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_expm.h26
-rw-r--r--src/c/matrixOperations/interfaces/int_eye.h53
-rw-r--r--src/c/matrixOperations/interfaces/int_fill.h51
-rw-r--r--src/c/matrixOperations/interfaces/int_invert.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_ones.h53
-rw-r--r--src/c/matrixOperations/interfaces/int_spec.h71
-rw-r--r--src/c/matrixOperations/interfaces/int_trace.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_transpose.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_v2magn.h34
-rw-r--r--src/c/matrixOperations/interfaces/int_vmagn.h35
-rw-r--r--src/c/matrixOperations/interfaces/int_zeros.h53
-rwxr-xr-xsrc/c/matrixOperations/interfaces/interface.sh6
22 files changed, 1039 insertions, 0 deletions
diff --git a/src/c/matrixOperations/interfaces/int_OpApex.h b/src/c/matrixOperations/interfaces/int_OpApex.h
new file mode 100644
index 00000000..4915e204
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpApex.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPAPEX_H__
+#define __INT_OPAPEX_H__
+
+#define s0OpApexs0(in) in
+
+#define d0OpApexd0(in) in
+
+#define c0OpApexc0(in) cconjs(in)
+
+#define z0OpApexz0(in) zconjs(in)
+
+#define s2OpApexs2(in,size,out) stransposea(in,size[0],size[1],out);
+
+#define d2OpApexd2(in,size,out) dtransposea(in,size[0],size[1],out);
+
+#define c2OpApexc2(in,size,out) ctransposea(in,size[0],size[1],out);cconja(out,size[0]*size[1],out);
+
+#define z2OpApexz2(in,size,out) ztransposea(in,size[0],size[1],out);zconja(out,size[0]*size[1],out);
+
+#endif /* !__INT_OPAPEX_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpBackSlash.h b/src/c/matrixOperations/interfaces/int_OpBackSlash.h
new file mode 100644
index 00000000..898c37be
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpBackSlash.h
@@ -0,0 +1,37 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPBACKSLASH_H__
+#define __INT_OPBACKSLASH_H__
+
+/* Matrix \ Matrix */
+
+#define s2s2OpBackSlashs2(in1,size1,in2,size2,out) sldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define d2d2OpBackSlashd2(in1,size1,in2,size2,out) dldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2c2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2s2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+
+#define s2c2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2z2OpBackSlashz2(in1,size1,in2,size2,out) zldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2d2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+
+#define d2z2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+
+#endif /* !__INT_OPBACKSLASH_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpCc.h b/src/c/matrixOperations/interfaces/int_OpCc.h
new file mode 100644
index 00000000..2cd3d558
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpCc.h
@@ -0,0 +1,134 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPCC_H__
+#define __INT_OPCC_H__
+
+/*
+ /!\
+ / ! \ We used rowcat because disp isn't right. In the real case, it must be columncat for Cc.
+ /__!_ \
+
+*/
+
+
+/* Column Cat */
+
+/* Same input elements */
+
+#define s0s0OpCcs2(in1,in2,out) srowcats(in1,in2,out)
+
+#define d0d0OpCcd2(in1,in2,out) drowcats(in1,in2,out)
+
+#define c0c0OpCcc2(in1,in2,out) crowcats(in1,in2,out)
+
+#define z0z0OpCcz2(in1,in2,out) zrowcats(in1,in2,out)
+
+#define s2s2OpCcs2(in1,size1,in2,size2,out) srowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define d2d2OpCcd2(in1,size1,in2,size2,out) drowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define c2c2OpCcc2(in1,size1,in2,size2,out) crowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define z2z2OpCcz2(in1,size1,in2,size2,out) zrowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+/* Differents input elements */
+#define s0c0OpCcc2(in1,in2,out) c0c0OpCcc2(FloatComplex(in1,0),in2,out)
+
+#define d0z0OpCcz2(in1,in2,out) z0z0OpCcz2(DoubleComplex(in1,0),in2,out)
+
+#define c0s0OpCcc2(in1,in2,out) c0c0OpCcc2(in1,FloatComplex(in2,0),out)
+
+#define z0d0OpCcz2(in1,in2,out) z0z0OpCcz2(in1,DoubleComplex(in2,0),out)
+
+#define s2c2OpCcc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
+ c2c2OpCcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define d2z2OpCcz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
+ z2z2OpCcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define c2s2OpCcc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
+ c2c2OpCcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
+
+#define z2d2OpCcz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
+ z2z2OpCcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
+
+/* Matrix-Scalar */
+
+/* Same type */
+
+#define s2s0OpCcs2(in1,size,in2,out) { float temp=in2; \
+ srowcata(in1, size[0], size[1],&temp, 1, 1, out); \
+ }
+
+#define d2d0OpCcd2(in1,size,in2,out) { double temp=in2; \
+ drowcata(in1, size[0], size[1],&temp, 1, 1, out); \
+ }
+
+#define c2c0OpCcc2(in1,size,in2,out) { floatComplex temp = in2; \
+ crowcata(in1, size[0], size[1],&temp, 1, 1, out);\
+ }
+
+#define z2z0OpCcz2(in1,size,in2,out) { doubleComplex temp =in2; \
+ zrowcata(in1, size[0], size[1],&temp, 1, 1, out);\
+ }
+
+
+/* Different type */
+#define s2c0OpCcc2(in1,size,in2,out) sfilla((float *)out,size[0],size[1],0); \
+ c2c0OpCcc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out)
+
+#define d2z0OpCcz2(in1,size,in2,out) dfilla((double *)out,size[0],size[1],0); \
+ z2z0OpCcz2(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]),size,in2,out)
+
+#define c2s0OpCcc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2, 0); c2c0OpCcc2(in1, size, temp, out)}
+
+#define z2d0OpCcz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2, 0); z2z0OpCcz2(in1, size, temp, out)}
+
+
+/* Scalar-Matrix */
+
+/* Same type */
+#define s0s2OpCcs2(in1,in2,size,out) { \
+ float __tmp1 = in1 ;\
+ srowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+#define d0d2OpCcd2(in1,in2,size,out) { \
+ double __tmp1 = in1 ;\
+ drowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+#define c0c2OpCcc2(in1,in2,size,out) { \
+ floatComplex __tmp1 = in1 ;\
+ crowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+#define z0z2OpCcz2(in1,in2,size,out) { \
+ doubleComplex __tmp1 = in1 ;\
+ zrowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+/* Different type */
+#define s0c2OpCcc2(in1,in2,size,out) c0c2OpCcc2(FloatComplex(in1,0),in2,size,out)
+
+#define d0z2OpCcz2(in1,in2,size,out) z0z2OpCcz2(DoubleComplex(in1,0),in2,size,out)
+
+#define c0s2OpCcc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
+ c0c2OpCcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
+
+#define z0d2OpCcz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
+ z0z2OpCcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
+
+#endif /* !__INT_OPCC_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpDotApex.h b/src/c/matrixOperations/interfaces/int_OpDotApex.h
new file mode 100644
index 00000000..4978ca56
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpDotApex.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPDOTAPEX_H__
+#define __INT_OPDOTAPEX_H__
+
+#define s0OpDotApexs0(in) in
+
+#define d0OpDotApexd0(in) in
+
+#define c0OpDotApexc0(in) in
+
+#define z0OpDotApexz0(in) in
+
+#define s2OpDotApexs2(in,size,out) stransposea(in,size[0],size[1],out);
+
+#define d2OpDotApexd2(in,size,out) dtransposea(in,size[0],size[1],out);
+
+#define c2OpDotApexc2(in,size,out) ctransposea(in,size[0],size[1],out);
+
+#define z2OpDotApexz2(in,size,out) ztransposea(in,size[0],size[1],out);
+
+#endif /* !__INT_OPDOTAPEX_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpRc.h b/src/c/matrixOperations/interfaces/int_OpRc.h
new file mode 100644
index 00000000..1e8f1c92
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpRc.h
@@ -0,0 +1,139 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPRC_H__
+#define __INT_OPRC_H__
+
+/*
+ /!\
+ / ! \ We used columncat because disp isn't right. In the real case, it must be rowcat for Rc.
+ /__!_ \
+
+*/
+
+
+/* Column Cat */
+
+/* Same input elements */
+
+#define s0s0OpRcs2(in1,in2,out) scolumncats(in1,in2,out)
+
+#define d0d0OpRcd2(in1,in2,out) dcolumncats(in1,in2,out)
+
+#define c0c0OpRcc2(in1,in2,out) ccolumncats(in1,in2,out)
+
+#define z0z0OpRcz2(in1,in2,out) zcolumncats(in1,in2,out)
+
+#define s2s2OpRcs2(in1,size1,in2,size2,out) scolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define d2d2OpRcd2(in1,size1,in2,size2,out) dcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define c2c2OpRcc2(in1,size1,in2,size2,out) ccolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+#define z2z2OpRcz2(in1,size1,in2,size2,out) zcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+
+/* Differents input elements */
+#define s0c0OpRcc2(in1,in2,out) c0c0OpRcc2(FloatComplex(in1,0),in2,out)
+
+#define d0z0OpRcz2(in1,in2,out) z0z0OpRcz2(DoubleComplex(in1,0),in2,out)
+
+#define c0s0OpRcc2(in1,in2,out) c0c0OpRcc2(in1,FloatComplex(in2,0),out)
+
+#define z0d0OpRcz2(in1,in2,out) z0z0OpRcz2(in1,DoubleComplex(in2,0),out)
+
+#define s2c2OpRcc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
+ c2c2OpRcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define d2z2OpRcz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
+ z2z2OpRcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
+
+#define c2s2OpRcc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
+ c2c2OpRcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
+
+#define z2d2OpRcz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
+ z2z2OpRcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
+
+/* Matrix-Scalar */
+
+/* Same type */
+
+#define s2s0OpRcs2(in1,size,in2,out) { float temp=in2; \
+ scolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
+ }
+
+#define d2d0OpRcd2(in1,size,in2,out) { double temp=in2; \
+ dcolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
+ }
+
+#define c2c0OpRcc2(in1,size,in2,out) { floatComplex temp=in2; \
+ ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
+ }
+
+#define z2z0OpRcz2(in1,size,in2,out) { doubleComplex temp=in2; \
+ zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
+ }
+
+/* Different type */
+#define s2c0OpRcc2(in1,size,in2,out) { floatComplex temp=in2; \
+ sfilla((float *)out,size[0],size[1],0); \
+ scolumncata(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
+ }
+
+#define d2z0OpRcz2(in1,size,in2,out) { doubleComplex temp=in2; \
+ dfilla((double *)out,size[0],size[1],0); \
+ zcolumncata(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
+ }
+
+#define c2s0OpRcc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2,0); \
+ ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
+ }
+
+#define z2d0OpRcz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2,0); \
+ zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
+ }
+
+/* Scalar-Matrix */
+
+/* Same type */
+#define s0s2OpRcs2(in1,in2,size,out) { \
+ float __tmp1 = in1 ;\
+ scolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out);\
+}
+#define d0d2OpRcd2(in1,in2,size,out) {\
+ double __tmp1 = in1 ;\
+ dcolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out); \
+}
+
+#define c0c2OpRcc2(in1,in2,size,out) { \
+ floatComplex __tmp1 = in1 ;\
+ ccolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+#define z0z2OpRcz2(in1,in2,size,out) { \
+ doubleComplex __tmp1 = in1 ;\
+ zcolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
+}
+
+/* Different type */
+#define s0c2OpRcc2(in1,in2,size,out) c0c2OpRcc2(FloatComplex(in1,0),in2,size,out)
+
+#define d0z2OpRcz2(in1,in2,size,out) z0z2OpRcz2(DoubleComplex(in1,0),in2,size,out)
+
+#define c0s2OpRcc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
+ c0c2OpRcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
+
+#define z0d2OpRcz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
+ z0z2OpRcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
+
+#endif /* !__INT_OPRC_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpSlash.h b/src/c/matrixOperations/interfaces/int_OpSlash.h
new file mode 100644
index 00000000..20930a0a
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpSlash.h
@@ -0,0 +1,38 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPSLASH_H__
+#define __INT_OPSLASH_H__
+
+
+/* Matrix / Matrix */
+
+#define s2s2OpSlashs2(in1,size1,in2,size2,out) srdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define d2d2OpSlashd2(in1,size1,in2,size2,out) drdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2c2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2s2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+
+#define s2c2OpSlashc2(in1,size1,in2,size2,out) crdivma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2z2OpSlashz2(in1,size1,in2,size2,out) zrdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2d2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+
+#define d2z2OpSlashc2(in1,size1,in2,size2,out) crdivma(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+
+#endif /* !__INT_OPSLASH_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_OpStar.h b/src/c/matrixOperations/interfaces/int_OpStar.h
new file mode 100644
index 00000000..400918a4
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_OpStar.h
@@ -0,0 +1,37 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_OPSTAR_H__
+#define __INT_OPSTAR_H__
+
+/* Matrix * Matrix */
+
+#define s2s2OpStars2(in1,size1,in2,size2,out) smulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define d2d2OpStard2(in1,size1,in2,size2,out) dmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2c2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define c2s2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
+
+#define s2c2OpStarc2(in1,size1,in2,size2,out) cmulma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2z2OpStarz2(in1,size1,in2,size2,out) zmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+#define z2d2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0],size2[1]),size2[0],size2[1],out)
+
+#define d2z2OpStarc2(in1,size1,in2,size2,out) cmulma(DoubleComplexMatrix(in1,0,size1[0],size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
+
+
+#endif /* !__INT_OPSTAR_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_chol.h b/src/c/matrixOperations/interfaces/int_chol.h
new file mode 100644
index 00000000..861ad4d1
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_chol.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_CHOL_H__
+#define __INT_CHOL_H__
+
+#define s0chols0(in) schols(in)
+
+#define d0chold0(in) dchols(in)
+
+#define c0cholc0(in) cchols(in)
+
+#define z0cholz0(in) zchols(in)
+
+#define s2chols2(in,size,out) schola(in, size[0], out)
+
+#define d2chold2(in,size,out) dchola(in, size[0], out)
+
+#define c2cholc2(in,size,out) cchola(in, size[0], out)
+
+#define z2cholz2(in,size,out) zchola(in, size[0], out)
+
+#endif /* !__INT_CHOL_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_det.h b/src/c/matrixOperations/interfaces/int_det.h
new file mode 100644
index 00000000..f7760b16
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_det.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_DETERM_H__
+#define __INT_DETERM_H__
+
+#define s0dets0(in) in
+
+#define d0detd0(in) in
+
+#define c0detc0(in) in
+
+#define z0detz0(in) in
+
+#define s2dets0(in,size) sdeterma(in, size[0])
+
+#define d2detd0(in,size) ddeterma(in, size[0])
+
+#define c2detc0(in,size) cdeterma(in, size[0])
+
+#define z2detz0(in,size) zdeterma(in, size[0])
+
+#endif /* !__INT_DETERM_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_dist.h b/src/c/matrixOperations/interfaces/int_dist.h
new file mode 100644
index 00000000..36809c78
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_dist.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_DIST_H__
+#define __INT_DIST_H__
+
+#define s0s0dists0(in1,in2) sdists(in1,in2)
+
+#define d0d0distd0(in1,in2) ddists(in1,in2)
+
+#define c0c0dists0(in1,in2) cdists(in1,in2)
+
+#define z0z0distd0(in1,in2) zdists(in1,in2)
+
+#define s2s2dists0(in1,size1,in2,size2) sdista(in1, in2, size1[0], size2[1])
+
+#define d2d2distd0(in1,size1,in2,size2) ddista(in1, in2, size1[0], size2[1])
+
+#define c2c2dists0(in1,size1,in2,size2) cdista(in1, in2, size1[0], size2[1])
+
+#define z2z2distd0(in1,size1,in2,size2) zdista(in1, in2, size1[0], size2[1])
+
+#endif /* !__INT_DIST_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_expm.h b/src/c/matrixOperations/interfaces/int_expm.h
new file mode 100644
index 00000000..6e54fb32
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_expm.h
@@ -0,0 +1,26 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_EXPM_H__
+#define __INT_EXPM_H__
+
+#define s2expms2(in,size,out) sexpma(in, out, size[0])
+
+#define d2expmd2(in,size,out) dexpma(in, out, size[0])
+
+#define c2expmc2(in,size,out) cexpma(in, out, size[0])
+
+#define z2expmz2(in,size,out) zexpma(in, out, size[0])
+
+#endif /* !__INT_EXPM_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_eye.h b/src/c/matrixOperations/interfaces/int_eye.h
new file mode 100644
index 00000000..81ed7fdd
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_eye.h
@@ -0,0 +1,53 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_EYE_H__
+#define __INT_EYE_H__
+
+
+#define eyes0() 1.0f
+
+#define eyed0() 1
+
+
+
+#define s0eyes0(in) seyes(in)
+
+#define d0eyed0(in) deyes(in)
+
+#define c0eyec0(in) ceyes(in)
+
+#define z0eyez0(in) zeyes(in)
+
+
+#define s0s0eyes0(in1,in2) 1.0f
+
+#define d0d0eyed0(in,in2) 1
+
+
+#define s0s0eyes2(in1,in2,out) seyea(out, in1, in2)
+
+#define d0d0eyed2(in1,in2,out) deyea(out, in1, in2)
+
+
+#define s2eyes2(in,size,out) seyea(out, size[0], size[1])
+
+#define d2eyed2(in,size,out) deyea(out, size[0], size[1])
+
+#define c2eyec2(in,size,out) ceyea(out, size[0], size[1])
+
+#define z2eyez2(in,size,out) zeyea(out, size[0], size[1])
+
+
+#endif /* !__INT_EYE_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_fill.h b/src/c/matrixOperations/interfaces/int_fill.h
new file mode 100644
index 00000000..5614cb1f
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_fill.h
@@ -0,0 +1,51 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_FILL_H__
+#define __INT_FILL_H__
+
+
+#define fills0(in) in;
+
+#define filld0(in) in;
+
+#define fillc0(in) in;
+
+#define fillz0(in) in;
+
+#define s0fills0(in,out) out=in;
+
+#define d0filld0(in,out) out=in;
+
+#define c0fillc0(in,out) out=in;
+
+#define z0fillz0(in,out) out=in;
+
+#define s2s0fills2(in1,size,in2,out) sfilla(out,size[0],size[1],in2);
+
+#define d2d0filld2(in1,size,in2,out) dfilla(out,size[0],size[1],in2);
+
+#define c2c0fillc2(in1,size,in2,out) cfilla(out,size[0],size[1],in2);
+
+#define z2z0fillz2(in1,size,in2,out) zfilla(out,size[0],size[1],in2);
+
+#define s0s0s0fills2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
+
+#define d0d0d0filld2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
+
+#define s0s0c0fillc2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
+
+#define d0d0z0fillz2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
+
+#endif /* !__INT_FILL_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_invert.h b/src/c/matrixOperations/interfaces/int_invert.h
new file mode 100644
index 00000000..d31481b6
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_invert.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_INV_H__
+#define __INT_INV_H__
+
+#define s0invs0(in) 1.0f/in
+
+#define d0invd0(in) 1.0/in
+
+#define c0invc0(in) crdivs(FloatComplex(1,0),in)
+
+#define z0invz0(in) zrdivs(DoubleComplex(1,0),in)
+
+#define s2invs2(in,size,out) sinverma(in, out, size[0])
+
+#define d2invd2(in,size,out) dinverma(in, out, size[0])
+
+#define c2invc2(in,size,out) cinverma(in, out, size[0])
+
+#define z2invz2(in,size,out) zinverma(in, out, size[0])
+
+#endif /* !__INT_INV_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_ones.h b/src/c/matrixOperations/interfaces/int_ones.h
new file mode 100644
index 00000000..0259b4c6
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_ones.h
@@ -0,0 +1,53 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_ONES_H__
+#define __INT_ONES_H__
+
+
+#define oness0() 1.0f
+
+#define onesd0() 1
+
+
+
+#define s0oness0(in) soness(in)
+
+#define d0onesd0(in) doness(in)
+
+#define c0onesc0(in) coness(in)
+
+#define z0onesz0(in) zoness(in)
+
+
+#define s0s0oness0(in1,in2) 1.0f
+
+#define d0d0onesd0(in,in2) 1
+
+
+#define s0s0oness2(in1,in2,out) sonesa(out, in1, in2)
+
+#define d0d0onesd2(in1,in2,out) donesa(out, in1, in2)
+
+
+#define s2oness2(in,size,out) sonesa(out, size[0], size[1])
+
+#define d2onesd2(in,size,out) donesa(out, size[0], size[1])
+
+#define c2onesc2(in,size,out) conesa(out, size[0], size[1])
+
+#define z2onesz2(in,size,out) zonesa(out, size[0], size[1])
+
+
+#endif /* !__INT_ONES_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_spec.h b/src/c/matrixOperations/interfaces/int_spec.h
new file mode 100644
index 00000000..77ab55e7
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_spec.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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_SPEC_H__
+#define __INT_SPEC_H__
+
+/* Only eigenvalues */
+
+#define s0specc0(in) FloatComplex (sspecs(in) , 0)
+
+#define d0specz0(in) DoubleComplex ( dspecs(in) , 0)
+
+#define c0specc0(in) cspecs(in)
+
+#define z0specz0(in) zspecs(in)
+
+#define s2specc2(in,size,out) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ szerosa(ZEROS,size[0],size[0]);\
+ cspeca(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0], out);\
+ }
+
+#define d2specz2(in,size,out) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(double)));\
+ dzerosa(ZEROS,size[0],size[0]);\
+ zspeca(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out);\
+ }
+
+#define c2specc2(in,size,out) cspeca(in, size[0], out)
+
+#define z2specz2(in,size,out) zspeca(in, size[0], out)
+
+/* Eigenvalues and eigenvectors */
+
+#define s0specc0c0(in,out) cspec2s(FloatComplex( in,0) ,out)
+
+#define d0specz0z0(in,out) zspec2s(DoubleComplex(in,0) ,out)
+
+#define c0specc0c0(in,out) cspec2s(in,out)
+
+#define z0specz0z0(in,out) zspec2s(in,out)
+
+#define s2specc2c2(in,size,out1,out2) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ szerosa(ZEROS,size[0],size[0]);\
+ cspec2a(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
+ }
+
+#define d2specz2z2(in,size,out1,out2) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(double)));\
+ dzerosa(ZEROS,size[0],size[0]);\
+ zspec2a(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
+ }
+
+
+#define c2specc2c2(in,size,out1,out2) cspec2a(in, size[0], out2, out1)
+
+#define z2specz2z2(in,size,out1,out2) zspec2a(in, size[0], out2, out1)
+
+#endif /* !__INT_SPEC_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_trace.h b/src/c/matrixOperations/interfaces/int_trace.h
new file mode 100644
index 00000000..8bfea860
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_trace.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_TRACE_H__
+#define __INT_TRACE_H__
+
+#define s0traces0(in) in
+
+#define d0traced0(in) in
+
+#define c0tracec0(in) in
+
+#define z0tracez0(in) in
+
+#define s2traces0(in,size) stracea(in, size[0])
+
+#define d2traced0(in,size) dtracea(in, size[0])
+
+#define c2tracec0(in,size) ctracea(in, size[0])
+
+#define z2tracez0(in,size) ztracea(in, size[0])
+
+#endif /* !__INT_TRACE_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_transpose.h b/src/c/matrixOperations/interfaces/int_transpose.h
new file mode 100644
index 00000000..250d565f
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_transpose.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_TRANSPOSE_H__
+#define __INT_TRANSPOSE_H__
+
+#define s0transposes0(in) in
+
+#define d0transposed0(in) in
+
+#define c0transposec0(in) in
+
+#define z0transposez0(in) in
+
+#define s2transposes2(in,size,out) stransposea(in, size[0], size[1], out)
+
+#define d2transposed2(in,size,out) dtransposea(in, size[0], size[1], out)
+
+#define c2transposec2(in,size,out) ctransposea(in, size[0], size[1], out)
+
+#define z2transposez2(in,size,out) ztransposea(in, size[0], size[1], out)
+
+#endif /* !__INT_TRANSPOSE_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_v2magn.h b/src/c/matrixOperations/interfaces/int_v2magn.h
new file mode 100644
index 00000000..759cecf1
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_v2magn.h
@@ -0,0 +1,34 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_V2MAGN_H__
+#define __INT_V2MAGN_H__
+
+#define s0v2magns0(in) ssquMagns(in)
+
+#define d0v2magnd0(in) dsquMagns(in)
+
+#define c0v2magnc0(in) csquMagns(in)
+
+#define z0v2magnz0(in) zsquMagns(in)
+
+#define s2v2magns2(in,size) ssquMagna(in, size[0], size[1])
+
+#define d2v2magnd2(in,size) dsquMagna(in, size[0], size[1])
+
+#define c2v2magnc2(in,size) csquMagna(in, size[0], size[1])
+
+#define z2v2magnz2(in,size) zsquMagna(in, size[0], size[1])
+
+#endif /* !__INT_V2MAGN_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_vmagn.h b/src/c/matrixOperations/interfaces/int_vmagn.h
new file mode 100644
index 00000000..8a51755e
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_vmagn.h
@@ -0,0 +1,35 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_VMAGN_H__
+#define __INT_VMAGN_H__
+
+
+#define s0vmagns0(in) smagns(in)
+
+#define d0vmagnd0(in) dmagns(in)
+
+#define c0vmagnc0(in) cmagns(in)
+
+#define z0vmagnz0(in) zmagns(in)
+
+#define s2vmagns2(in,size) smagna(in, size[0], size[1])
+
+#define d2vmagnd2(in,size) dmagna(in, size[0], size[1])
+
+#define c2vmagnc2(in,size) cmagna(in, size[0], size[1])
+
+#define z2vmagnz2(in,size) zmagna(in, size[0], size[1])
+
+#endif /* !__INT_VMAGN_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_zeros.h b/src/c/matrixOperations/interfaces/int_zeros.h
new file mode 100644
index 00000000..3b738608
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_zeros.h
@@ -0,0 +1,53 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_ZEROS_H__
+#define __INT_ZEROS_H__
+
+
+#define zeross0() 0.0f
+
+#define zerosd0() 0
+
+
+
+#define s0zeross0(in) szeross(in)
+
+#define d0zerosd0(in) dzeross(in)
+
+#define c0zerosc0(in) czeross(in)
+
+#define z0zerosz0(in) zzeross(in)
+
+
+#define s0s0zeross0(in1,in2) 0.0f
+
+#define d0d0zerosd0(in,in2) 0
+
+
+#define s0s0zeross2(in1,in2,out) szerosa(out, in1, in2)
+
+#define d0d0zerosd2(in1,in2,out) dzerosa(out, in1, in2)
+
+
+#define s2zeross2(in,size,out) szerosa(out, size[0], size[1])
+
+#define d2zerosd2(in,size,out) dzerosa(out, size[0], size[1])
+
+#define c2zerosc2(in,size,out) czerosa(out, size[0], size[1])
+
+#define z2zerosz2(in,size,out) zzerosa(out, size[0], size[1])
+
+
+#endif /* !__INT_ZEROS_H__ */
diff --git a/src/c/matrixOperations/interfaces/interface.sh b/src/c/matrixOperations/interfaces/interface.sh
new file mode 100755
index 00000000..8c7f073b
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/interface.sh
@@ -0,0 +1,6 @@
+for i in $@; do
+
+./generateInterfaces.pl --function-name $i --header-file int_$i.h
+
+done
+