diff options
author | torset | 2009-01-26 08:42:25 +0000 |
---|---|---|
committer | torset | 2009-01-26 08:42:25 +0000 |
commit | e3075d334b08a6cba407e6e5f051dfd45b65e127 (patch) | |
tree | b67f27ebcba46faa5150a0c7795dff6ef1d22605 /src/Scilab2C | |
parent | da0a685e040620ecddfd3ed226877294c7b965cc (diff) | |
download | scilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.tar.gz scilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.tar.bz2 scilab2c-e3075d334b08a6cba407e6e5f051dfd45b65e127.zip |
Add linked header
Diffstat (limited to 'src/Scilab2C')
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 |