summaryrefslogtreecommitdiff
path: root/src/Scilab2C
diff options
context:
space:
mode:
authortorset2009-01-26 08:42:25 +0000
committertorset2009-01-26 08:42:25 +0000
commite3075d334b08a6cba407e6e5f051dfd45b65e127 (patch)
treeb67f27ebcba46faa5150a0c7795dff6ef1d22605 /src/Scilab2C
parentda0a685e040620ecddfd3ed226877294c7b965cc (diff)
downloadscilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.tar.gz
scilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.tar.bz2
scilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.zip
Add linked header
Diffstat (limited to 'src/Scilab2C')
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/acos.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/addition.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/atan.h1
-rw-r--r--src/Scilab2C/Scilab2C/CFiles/sci2cincludes/blas.h160
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/division.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/doubleComplex.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/eye.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/fill.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lapack.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lnp1m1.h1
-rw-r--r--src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixMultiplication.h82
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixTrace.h1
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/multiplication.h1
-rw-r--r--src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h22
l---------src/Scilab2C/Scilab2C/CFiles/sci2cincludes/subtraction.h1
15 files changed, 276 insertions, 0 deletions
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/acos.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/acos.h
new file mode 120000
index 00000000..cbfc40d5
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/acos.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/acos.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/addition.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/addition.h
new file mode 120000
index 00000000..8c89d64c
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/addition.h
@@ -0,0 +1 @@
+../../../../operations/includes/addition.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/atan.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/atan.h
new file mode 120000
index 00000000..cf79c5c6
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/atan.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/atan.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/blas.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/blas.h
new file mode 100644
index 00000000..86ab62f6
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/blas.h
@@ -0,0 +1,160 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __BLAS_H__
+#define __BLAS_H__
+
+
+#ifndef _MACRO_C2F_
+#define _MACRO_C2F_
+#define C2F(name) name##_
+#endif
+/*
+ SUBROUTINE DGEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB,
+ $ BETA, C, LDC )
+* .. Scalar Arguments ..
+ CHARACTER*1 TRANSA, TRANSB
+ INTEGER M, N, K, LDA, LDB, LDC
+ DOUBLE PRECISION ALPHA, BETA
+* .. Array Arguments ..
+ DOUBLE PRECISION A( LDA, * ), B( LDB, * ), C( LDC, * )
+* ..
+C WARNING : this routine has been modified for Scilab (see comments
+C Cscilab) because algorithm is not ok if A matrix contains NaN
+C (NaN*0 should be NaN, not 0)
+* Purpose
+* =======
+*
+* DGEMM performs one of the matrix-matrix operations
+*
+* C := alpha*op( A )*op( B ) + beta*C,
+*
+* where op( X ) is one of
+*
+* op( X ) = X or op( X ) = X',
+*
+* alpha and beta are scalars, and A, B and C are matrices, with op( A )
+* an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
+*
+* Parameters
+* ==========
+*
+* TRANSA - CHARACTER*1.
+* On entry, TRANSA specifies the form of op( A ) to be used in
+* the matrix multiplication as follows:
+*
+* TRANSA = 'N' or 'n', op( A ) = A.
+*
+* TRANSA = 'T' or 't', op( A ) = A'.
+*
+* TRANSA = 'C' or 'c', op( A ) = A'.
+*
+* Unchanged on exit.
+*
+* TRANSB - CHARACTER*1.
+* On entry, TRANSB specifies the form of op( B ) to be used in
+* the matrix multiplication as follows:
+*
+* TRANSB = 'N' or 'n', op( B ) = B.
+*
+* TRANSB = 'T' or 't', op( B ) = B'.
+*
+* TRANSB = 'C' or 'c', op( B ) = B'.
+*
+* Unchanged on exit.
+*
+* M - INTEGER.
+* On entry, M specifies the number of rows of the matrix
+* op( A ) and of the matrix C. M must be at least zero.
+* Unchanged on exit.
+*
+* N - INTEGER.
+* On entry, N specifies the number of columns of the matrix
+* op( B ) and the number of columns of the matrix C. N must be
+* at least zero.
+* Unchanged on exit.
+*
+* K - INTEGER.
+* On entry, K specifies the number of columns of the matrix
+* op( A ) and the number of rows of the matrix op( B ). K must
+* be at least zero.
+* Unchanged on exit.
+*
+* ALPHA - DOUBLE PRECISION.
+* On entry, ALPHA specifies the scalar alpha.
+* Unchanged on exit.
+*
+* A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is
+* k when TRANSA = 'N' or 'n', and is m otherwise.
+* Before entry with TRANSA = 'N' or 'n', the leading m by k
+* part of the array A must contain the matrix A, otherwise
+* the leading k by m part of the array A must contain the
+* matrix A.
+* Unchanged on exit.
+*
+* LDA - INTEGER.
+* On entry, LDA specifies the first dimension of A as declared
+* in the calling (sub) program. When TRANSA = 'N' or 'n' then
+* LDA must be at least max( 1, m ), otherwise LDA must be at
+* least max( 1, k ).
+* Unchanged on exit.
+*
+* B - DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is
+* n when TRANSB = 'N' or 'n', and is k otherwise.
+* Before entry with TRANSB = 'N' or 'n', the leading k by n
+* part of the array B must contain the matrix B, otherwise
+* the leading n by k part of the array B must contain the
+* matrix B.
+* Unchanged on exit.
+*
+* LDB - INTEGER.
+* On entry, LDB specifies the first dimension of B as declared
+* in the calling (sub) program. When TRANSB = 'N' or 'n' then
+* LDB must be at least max( 1, k ), otherwise LDB must be at
+* least max( 1, n ).
+* Unchanged on exit.
+*
+* BETA - DOUBLE PRECISION.
+* On entry, BETA specifies the scalar beta. When BETA is
+* supplied as zero then C need not be set on input.
+* Unchanged on exit.
+*
+* C - DOUBLE PRECISION array of DIMENSION ( LDC, n ).
+* Before entry, the leading m by n part of the array C must
+* contain the matrix C, except when beta is zero, in which
+* case C need not be set on entry.
+* On exit, the array C is overwritten by the m by n matrix
+* ( alpha*op( A )*op( B ) + beta*C ).
+*
+* LDC - INTEGER.
+* On entry, LDC specifies the first dimension of C as declared
+* in the calling (sub) program. LDC must be at least
+* max( 1, m ).
+* Unchanged on exit.
+*
+*
+* Level 3 Blas routine.
+*/
+/*
+void dgemm_(char *TRANSA, char* TRANSB, int *M, int *N, int *K,
+ double *ALPHA, double *A, int *LDA,
+ double *B, int *LDB, double *BETA,
+ double *C, int *LDC);*/
+
+extern int C2F(dgemm)();
+extern int C2F(idamax)() ;/* could be transcribe easaly in c */
+extern int C2F(daxpy) () ;/* could be transcribe easaly in c */
+extern int C2F(dscal) () ;/* could be transcribe easaly in c */
+extern int C2F(dasum) () ;/* could be transcribe easaly in c */
+
+
+#endif /* !__BLAS_H__ */
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/division.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/division.h
new file mode 120000
index 00000000..0d87390a
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/division.h
@@ -0,0 +1 @@
+../../../../operations/includes/division.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/doubleComplex.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/doubleComplex.h
new file mode 120000
index 00000000..7f90dd41
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/doubleComplex.h
@@ -0,0 +1 @@
+../../../../type/doubleComplex.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/eye.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/eye.h
new file mode 120000
index 00000000..e1867359
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/eye.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/eye.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/fill.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/fill.h
new file mode 120000
index 00000000..4c641311
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/fill.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/fill.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lapack.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lapack.h
new file mode 120000
index 00000000..b21af188
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lapack.h
@@ -0,0 +1 @@
+../../../../includes/lapack.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lnp1m1.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lnp1m1.h
new file mode 120000
index 00000000..c2b5f880
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/lnp1m1.h
@@ -0,0 +1 @@
+../../../../elementaryFunctions/includes/lnp1m1.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixMultiplication.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixMultiplication.h
new file mode 100644
index 00000000..99091a7e
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixMultiplication.h
@@ -0,0 +1,82 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __MATRIXMULTIPLICATION_H__
+#define __MATRIXMULTIPLICATION_H__
+
+#include "multiplication.h"
+#include "addition.h"
+
+/*
+**
+** WARNING WE ASSUME MATRIXES TO BE CONSCISTENT
+** columns1 = lines2;
+**
+*/
+
+/*
+** \brief Compute a multiplication for floats matrixes.
+** \param in1 : input matrix.
+** \param lines1 : lines of in1 matrix.
+** \param columns1 : columns of in1 matrix.
+** \param in2 : input arry.
+** \param lines2 : lines of in2 matrix.
+** \param columns2 : columns of in2 matrix.
+** \param out : Matrix that contains the multiplication in1 * in2.
+*/
+void smulma(float *in1, int lines1, int columns1,
+ float *in2, int lines2, int columns2,
+ float *out);
+
+/*
+** \brief Compute a multiplication for doubles matrixes.
+** \param in1 : input matrix.
+** \param lines1 : lines of in1 matrix.
+** \param columns1 : columns of in1 matrix.
+** \param in2 : input arry.
+** \param lines2 : lines of in2 matrix.
+** \param columns2 : columns of in2 matrix.
+** \param out : Matrix that contains the multiplication in1 * in2.
+*/
+void dmulma(double *in1, int lines1, int columns1,
+ double *in2, int lines2, int columns2,
+ double *out);
+
+/*
+** \brief Compute a multiplication for floats complex matrixes.
+** \param in1 : input matrix.
+** \param lines1 : lines of in1 matrix.
+** \param columns1 : columns of in1 matrix.
+** \param in2 : input arry.
+** \param lines2 : lines of in2 matrix.
+** \param columns2 : columns of in2 matrix.
+** \param out : Matrix that contains the multiplication in1 * in2.
+*/
+void cmulma(floatComplex *in1, int lines1, int columns1,
+ floatComplex *in2, int lines2, int columns2,
+ floatComplex *out);
+
+/*
+** \brief Compute a multiplication for doubles matrixes.
+** \param in1 : input matrix.
+** \param lines1 : lines of in1 matrix.
+** \param columns1 : columns of in1 matrix.
+** \param in2 : input arry.
+** \param lines2 : lines of in2 matrix.
+** \param columns2 : columns of in2 matrix.
+** \param out : Matrix that contains the multiplication in1 * in2.
+*/
+void zmulma(doubleComplex *in1, int lines1, int columns1,
+ doubleComplex *in2, int lines2, int columns2,
+ doubleComplex *out);
+
+#endif /* !__MATRIXMULTIPLICATION_H__ */
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixTrace.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixTrace.h
new file mode 120000
index 00000000..f539ff4d
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/matrixTrace.h
@@ -0,0 +1 @@
+../../../../matrixOperations/includes/matrixTrace.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/multiplication.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/multiplication.h
new file mode 120000
index 00000000..9365ff9b
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/multiplication.h
@@ -0,0 +1 @@
+../../../../operations/includes/multiplication.h \ No newline at end of file
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
index e32e1357..73b5af6a 100644
--- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
@@ -65,6 +65,7 @@
#include "disp.h"
#include "int_disp.h" /* interfacing multiplication */
#include "multiplication.h"
+#include "matrixMultiplication.h"
#include "int_OpStar.h"
#include "int_OpDotStar.h"
/* interfacing addition */
@@ -86,3 +87,24 @@
/* interfacing conj */
#include "conj.h"
#include "int_conj.h"
+/* interfacing acos */
+#include "acos.h"
+#include "int_acos.h"
+/* interefacing lapack */
+#include "lapack.h"
+/* interfacing atan */
+#include "atan.h"
+#include "int_atan.h"
+/* interefacing lnp1m1 */
+#include "lnp1m1.h"
+/* interefacing blas */
+#include "blas.h"
+/* interefacing eye */
+#include "eye.h"
+#include "int_eye.h"
+/* interefacing trace */
+#include "matrixTrace.h"
+#include "int_trace.h"
+/* interfacing sum */
+#include "sum.h"
+#include "int_sum.h"
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/subtraction.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/subtraction.h
new file mode 120000
index 00000000..b25d3844
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/subtraction.h
@@ -0,0 +1 @@
+../../../../operations/includes/subtraction.h \ No newline at end of file