00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _LAPACK_H_
00012 #define _LAPACK_H_
00013 #include "FortranNameMacro.H"
00014 #include "BaseNamespaceHeader.H"
00015
00016
00017 extern "C"
00018 {
00019 #ifdef CH_USE_LAPACK
00020
00021 void LAPACK(GESV,gesv)(int*, int*, Real*, int*, int*, Real*, int*, int*);
00022
00023
00024 void LAPACK(GELS,gels)(char* TRANS, int* M, int* N, int* NRHS, Real* A,
00025 int* LDA, Real* B, int* LDB,
00026 Real* WORK, int* LWORK, int* INFO);
00027
00028
00029 void LAPACK(GELSD,gelsd)(int* N, int* M, int* NRHS, Real* At,
00030 int* LDA, Real* B, int* LDB, Real* S,
00031 Real* RCOND, int* RANK,
00032 Real* WORK, int* LWORK, int* IWORK, int* INFO);
00033
00034
00035 void LAPACK(GEMV,gemv)(char* TRANS, int* M, int* N, Real* ALPHA,
00036 Real* A, int* LDA, Real* X, int* INCX,
00037 Real* BETA, Real* Y, int* INCY);
00038
00039
00040 void LAPACK(GGLSE,gglse)(int* M, int* N, int* P, Real* A, int* LDA, Real* B, int* LDB,
00041 Real* C, Real* D, Real* X,
00042 Real* WORK, int* LWORK, int* INFO);
00043
00044
00045 void LAPACK(GEQP3,geqp3)(int* M, int* N, Real* A, int* LDA, int* JPVT,
00046 Real* TAU, Real* WORK, int* LWORK, int* INFO);
00047
00048
00049 void LAPACK(GEQRF,geqrf)(int* M, int* N, Real* A, int* LDA,
00050 Real* TAU, Real* WORK, int* LWORK, int* INFO);
00051
00052
00053 void LAPACK(ORMQR,ormqr)(char* SIDE, char* TRANS, int* M, int* N, int* K,
00054 Real* A, int* LDA, Real* TAU, Real* C, int* LDC,
00055 Real* WORK, int* LWORK, int* INFO);
00056
00057
00058 void LAPACK(ORGQR,orgqr)(int* M, int* N, int* K, Real* A, int* LDA,
00059 Real* TAU, Real* WORK, int* LWORK, int* INFO);
00060
00061
00062 void LAPACK(TRTRS,trtrs)(char* UPLO, char* TRANS, char* DIAG, int* N, int* NRHS,
00063 Real* A, int* LDA, Real* B, int* LDB, int* INFO);
00064
00065
00066 void LAPACK(GETRF,getrf)(int* M, int *N, Real* A, int* lda, int* IPIV, int* INFO);
00067
00068
00069 void LAPACK(GETRI,getri)(int* N, Real* A, int* lda, int* IPIV, Real* WORK, int* lwork, int* INFO);
00070
00071
00072 void LAPACK(GECON,gecon)(char* TRANS, int* N, Real* A, int* LDA, Real* ANORM, Real* rcond,
00073 Real* WORK, int* LWORK, int* INFO);
00074
00075
00076 void LAPACK(TRCON,trcon)(const char* TRANS, const char* UPLO, const char* DIAG,
00077 const int* N, const Real* A, const int* LDA,
00078 Real* rcond, Real* WORK, int* IWORK, int* INFO);
00079
00080 #endif
00081
00082
00083 void LAPACK(GEMM,gemm)(const char* TRANSA, const char* TRANSB,
00084 const int* M, const int* N, const int* K, const Real* ALPHA,
00085 const Real* A, const int* LDA,
00086 const Real* B, const int* LDB,
00087 const Real* BETA, Real* C, const int* LDC);
00088
00089
00090 void LAPACK(TRSM,trsm)(const char* SIDE, const char* UPLO,
00091 const char* TRANSA, const char* DIAG,
00092 const int* M, const int* N, const Real* ALPHA,
00093 const Real* A, const int* LDA,
00094 Real* B, const int* LDB);
00095 }
00096
00097 #include "BaseNamespaceFooter.H"
00098 #endif