00001
00002 #ifndef _lin_alg_intf_
00003 #define _lin_alg_intf_
00004
00005 #ifdef __cplusplus
00006 extern "C" {
00007 #endif
00008
00015 #ifdef WITHOUT_
00016 #define daxpy_ daxpy
00017 #define dcopy_ dcopy
00018 #define ddot_ ddot
00019 #define dnrm2_ dnrm2
00020 #define drot_ drot
00021 #define drotg_ drotg
00022 #define dscal_ dscal
00023 #define dgemv_ dgemv
00024 #define dtrsv_ dtrsv
00025 #define dgetrf_ dgetrf
00026 #define dgetrs_ dgetrs
00027 #define dgemm_ dgemm
00028 #endif
00029
00031 void daxpy_(int *n,double *alpha,double *x,int *incx,double *y,int *incy);
00032 void dcopy_(int *n,double *x,int *incx,double *y,int *incy);
00033 double ddot_(int *n,double *x,int *incx,double *y,int *incy);
00034 double dnrm2_(int *n,double *x,int *incx);
00035 void drot_(int *n,double *x,int *incx,double *y,int *incy,double *c,double *s);
00036 void drotg_(double *a,double *b,double *c,double *s);
00037 void dscal_(int *n,double *a,double *x,int *incx);
00038
00040 void dgemv_(char *trans,int *m,int *n,double *alpha,double *a,int *lda,double *x,int *incx,double *beta,double *y,int *incy);
00041 void dtrsv_(char *uplo,char *trans,char *diag,int *n,double *a,int *lda,double *x,int *incx);
00042 void dgemm_(char *transa, char *transb, int *m, int *
00043 n, int *k, double *alpha, double *a, int *lda,
00044 double *b, int *ldb, double *beta, double *c__,
00045 int *ldc);
00046
00048 void dgetrf_(int *m,int *n,double *a,int *lda,int *ipiv,int *info);
00049 int dgetri_(int *n, double *a, int *lda, int *ipiv, double *work, int *lwork, int *info);
00050 void dgetrs_(char *trans,int *n,int *nrhs,double *a,int *lda,int *ipiv,double *b,int *ldb,int *info);
00051
00053
00054
00055 #ifdef __cplusplus
00056 }
00057 #endif
00058
00059 #endif