30 #ifndef TOON_INCLUDE_LAPCK_H
31 #define TOON_INCLUDE_LAPCK_H
38 void dgetrf_(
int* M,
int *N,
double* A,
int* lda,
int* IPIV,
int* INFO);
39 void sgetrf_(
int* M,
int *N,
float* A,
int* lda,
int* IPIV,
int* INFO);
42 void dgetri_(
int* N,
double* A,
int* lda,
int* IPIV,
double* WORK,
int* lwork,
int* INFO);
43 void sgetri_(
int* N,
float* A,
int* lda,
int* IPIV,
float* WORK,
int* lwork,
int* INFO);
46 void dtrsm_(
char* SIDE,
char* UPLO,
char* TRANSA,
char* DIAG,
int* M,
int* N,
double* alpha,
double* A,
int* lda,
double* B,
int* ldb);
47 void strsm_(
char* SIDE,
char* UPLO,
char* TRANSA,
char* DIAG,
int* M,
int* N,
float* alpha,
float* A,
int* lda,
float* B,
int* ldb);
51 void dgesvd_(
const char* JOBU,
const char* JOBVT,
int* M,
int *N,
double* A,
int* lda,
52 double* S,
double *U,
int* ldu,
double* VT,
int* ldvt,
53 double* WORK,
int* lwork,
int* INFO);
55 void sgesvd_(
const char* JOBU,
const char* JOBVT,
int* M,
int *N,
float* A,
int* lda,
56 float* S,
float *U,
int* ldu,
float* VT,
int* ldvt,
57 float* WORK,
int* lwork,
int* INFO);
60 void dsyev_(
const char* JOBZ,
const char* UPLO,
int* N,
double* A,
int* lda,
double* W,
double* WORK,
int* LWORK,
int* INFO);
61 void ssyev_(
const char* JOBZ,
const char* UPLO,
int* N,
float* A,
int* lda,
float* W,
float* WORK,
int* LWORK,
int* INFO);
64 void dgeev_(
const char* JOBVL,
const char* JOBVR,
int* N,
double* A,
int* lda,
double* WR,
double* WI,
double* VL,
int* LDVL,
double* VR,
int* LDVR ,
double* WORK,
int* LWORK,
int* INFO);
65 void sgeev_(
const char* JOBVL,
const char* JOBVR,
int* N,
float* A,
int* lda,
float* WR,
float* WI,
float* VL,
int* LDVL,
float* VR,
int* LDVR ,
float* WORK,
int* LWORK,
int* INFO);
68 void dpotrf_(
const char* UPLO,
const int* N,
double* A,
const int* LDA,
int* INFO);
69 void spotrf_(
const char* UPLO,
const int* N,
float* A,
const int* LDA,
int* INFO);
72 void dpotrs_(
const char* UPLO,
const int* N,
const int* NRHS,
const double* A,
const int* LDA,
double* B,
const int* LDB,
int* INFO);
73 void spotrs_(
const char* UPLO,
const int* N,
const int* NRHS,
const float* A,
const int* LDA,
float* B,
const int* LDB,
int* INFO);
76 void dpotri_(
const char* UPLO,
const int* N,
double* A,
const int* LDA,
int* INFO);
77 void spotri_(
const char* UPLO,
const int* N,
float* A,
const int* LDA,
int* INFO);
80 void sgeqp3_(
int* M,
int* N,
float* A,
int* LDA,
int* JPVT,
float* TAU,
float* WORK,
int* LWORK,
int* INFO );
81 void dgeqp3_(
int* M,
int* N,
double* A,
int* LDA,
int* JPVT,
double* TAU,
double* WORK,
int* LWORK,
int* INFO );
84 void sorgqr_(
int* M,
int* N,
int* K,
float* A,
int* LDA,
float* TAU,
float* WORK,
int* LWORK,
int* INFO );
85 void dorgqr_(
int* M,
int* N,
int* K,
double* A,
int* LDA,
double* TAU,
double* WORK,
int* LWORK,
int* INFO );
93 inline void getrf_(
int* M,
int *N,
float* A,
int* lda,
int* IPIV,
int* INFO){
94 sgetrf_(M, N, A, lda, IPIV, INFO);
97 inline void getrf_(
int* M,
int *N,
double* A,
int* lda,
int* IPIV,
int* INFO){
98 dgetrf_(M, N, A, lda, IPIV, INFO);
101 inline void trsm_(
const char* SIDE,
const char* UPLO,
const char* TRANSA,
const char* DIAG,
int* M,
int* N,
float* alpha,
float* A,
int* lda,
float* B,
int* ldb) {
102 strsm_(const_cast<char*>(SIDE), const_cast<char*>(UPLO), const_cast<char*>(TRANSA), const_cast<char*>(DIAG), M, N, alpha, A, lda, B, ldb);
105 inline void trsm_(
const char* SIDE,
const char* UPLO,
const char* TRANSA,
const char* DIAG,
int* M,
int* N,
double* alpha,
double* A,
int* lda,
double* B,
int* ldb) {
106 dtrsm_(const_cast<char*>(SIDE), const_cast<char*>(UPLO), const_cast<char*>(TRANSA), const_cast<char*>(DIAG), M, N, alpha, A, lda, B, ldb);
109 inline void getri_(
int* N,
double* A,
int* lda,
int* IPIV,
double* WORK,
int* lwork,
int* INFO){
110 dgetri_(N, A, lda, IPIV, WORK, lwork, INFO);
113 inline void getri_(
int* N,
float* A,
int* lda,
int* IPIV,
float* WORK,
int* lwork,
int* INFO){
114 sgetri_(N, A, lda, IPIV, WORK, lwork, INFO);
117 inline void potrf_(
const char * UPLO,
const int* N,
double* A,
const int* LDA,
int* INFO){
118 dpotrf_(UPLO, N, A, LDA, INFO);
121 inline void potrf_(
const char * UPLO,
const int* N,
float* A,
const int* LDA,
int* INFO){
122 spotrf_(UPLO, N, A, LDA, INFO);
126 inline void gesvd_(
const char* JOBU,
const char* JOBVT,
int* M,
int *N,
double* A,
int* lda,
127 double* S,
double *U,
int* ldu,
double* VT,
int* ldvt,
128 double* WORK,
int* lwork,
int* INFO){
129 dgesvd_(JOBU, JOBVT, M, N, A, lda, S, U, ldu, VT, ldvt, WORK, lwork, INFO);
132 inline void gesvd_(
const char* JOBU,
const char* JOBVT,
int* M,
int *N,
float* A,
int* lda,
133 float* S,
float *U,
int* ldu,
float* VT,
int* ldvt,
134 float* WORK,
int* lwork,
int* INFO){
135 sgesvd_(JOBU, JOBVT, M, N, A, lda, S, U, ldu, VT, ldvt, WORK, lwork, INFO);
139 inline void potrs_(
const char* UPLO,
const int* N,
const int* NRHS,
const double* A,
const int* LDA,
double* B,
const int* LDB,
int* INFO){
140 dpotrs_(UPLO, N, NRHS, A, LDA, B, LDB, INFO);
143 inline void potrs_(
const char* UPLO,
const int* N,
const int* NRHS,
const float* A,
const int* LDA,
float* B,
const int* LDB,
int* INFO){
144 spotrs_(UPLO, N, NRHS, A, LDA, B, LDB, INFO);
148 inline void potri_(
const char* UPLO,
const int* N,
double* A,
const int* LDA,
int* INFO){
149 dpotri_(UPLO, N, A, LDA, INFO);
152 inline void potri_(
const char* UPLO,
const int* N,
float* A,
const int* LDA,
int* INFO){
153 spotri_(UPLO, N, A, LDA, INFO);
156 inline void syev_(
const char* JOBZ,
const char* UPLO,
int* N,
double* A,
int* lda,
double* W,
double* WORK,
int* LWORK,
int* INFO){
157 dsyev_(JOBZ, UPLO, N, A, lda, W, WORK, LWORK, INFO);
159 inline void syev_(
const char* JOBZ,
const char* UPLO,
int* N,
float* A,
int* lda,
float* W,
float* WORK,
int* LWORK,
int* INFO){
160 ssyev_(JOBZ, UPLO, N, A, lda, W, WORK, LWORK, INFO);
164 inline void geqp3_(
int* M,
int* N,
float* A,
int* LDA,
int* JPVT,
float* TAU,
float* WORK,
int* LWORK,
int* INFO )
166 sgeqp3_(M, N, A, LDA, JPVT, TAU, WORK, LWORK, INFO);
169 inline void geqp3_(
int* M,
int* N,
double* A,
int* LDA,
int* JPVT,
double* TAU,
double* WORK,
int* LWORK,
int* INFO )
171 dgeqp3_(M, N, A, LDA, JPVT, TAU, WORK, LWORK, INFO);
174 inline void orgqr_(
int* M,
int* N,
int* K,
float* A,
int* LDA,
float* TAU,
float* WORK,
int* LWORK,
int* INFO )
176 sorgqr_(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
179 inline void orgqr_(
int* M,
int* N,
int* K,
double* A,
int* LDA,
double* TAU,
double* WORK,
int* LWORK,
int* INFO )
181 dorgqr_(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
185 inline void geev_(
const char* JOBVL,
const char* JOBVR,
int* N,
double* A,
int* lda,
double* WR,
double* WI,
double* VL,
int* LDVL,
double* VR,
int* LDVR ,
double* WORK,
int* LWORK,
int* INFO){
186 dgeev_(JOBVL, JOBVR, N, A, lda, WR, WI, VL, LDVL, VR, LDVR , WORK, LWORK, INFO);
189 inline void geev_(
const char* JOBVL,
const char* JOBVR,
int* N,
float* A,
int* lda,
float* WR,
float* WI,
float* VL,
int* LDVL,
float* VR,
int* LDVR ,
float* WORK,
int* LWORK,
int* INFO){
190 sgeev_(JOBVL, JOBVR, N, A, lda, WR, WI, VL, LDVL, VR, LDVR , WORK, LWORK, INFO);
void dpotri_(const char *UPLO, const int *N, double *A, const int *LDA, int *INFO)
void dpotrf_(const char *UPLO, const int *N, double *A, const int *LDA, int *INFO)
void potrf_(const char *UPLO, const int *N, double *A, const int *LDA, int *INFO)
void dgeev_(const char *JOBVL, const char *JOBVR, int *N, double *A, int *lda, double *WR, double *WI, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)
void sgeqp3_(int *M, int *N, float *A, int *LDA, int *JPVT, float *TAU, float *WORK, int *LWORK, int *INFO)
void trsm_(const char *SIDE, const char *UPLO, const char *TRANSA, const char *DIAG, int *M, int *N, float *alpha, float *A, int *lda, float *B, int *ldb)
void dgetrf_(int *M, int *N, double *A, int *lda, int *IPIV, int *INFO)
void spotrs_(const char *UPLO, const int *N, const int *NRHS, const float *A, const int *LDA, float *B, const int *LDB, int *INFO)
void sorgqr_(int *M, int *N, int *K, float *A, int *LDA, float *TAU, float *WORK, int *LWORK, int *INFO)
Everything lives inside this namespace.
void orgqr_(int *M, int *N, int *K, float *A, int *LDA, float *TAU, float *WORK, int *LWORK, int *INFO)
void sgeev_(const char *JOBVL, const char *JOBVR, int *N, float *A, int *lda, float *WR, float *WI, float *VL, int *LDVL, float *VR, int *LDVR, float *WORK, int *LWORK, int *INFO)
void dorgqr_(int *M, int *N, int *K, double *A, int *LDA, double *TAU, double *WORK, int *LWORK, int *INFO)
void potri_(const char *UPLO, const int *N, double *A, const int *LDA, int *INFO)
void spotrf_(const char *UPLO, const int *N, float *A, const int *LDA, int *INFO)
void dtrsm_(char *SIDE, char *UPLO, char *TRANSA, char *DIAG, int *M, int *N, double *alpha, double *A, int *lda, double *B, int *ldb)
void dpotrs_(const char *UPLO, const int *N, const int *NRHS, const double *A, const int *LDA, double *B, const int *LDB, int *INFO)
void potrs_(const char *UPLO, const int *N, const int *NRHS, const double *A, const int *LDA, double *B, const int *LDB, int *INFO)
void dsyev_(const char *JOBZ, const char *UPLO, int *N, double *A, int *lda, double *W, double *WORK, int *LWORK, int *INFO)
void syev_(const char *JOBZ, const char *UPLO, int *N, double *A, int *lda, double *W, double *WORK, int *LWORK, int *INFO)
void strsm_(char *SIDE, char *UPLO, char *TRANSA, char *DIAG, int *M, int *N, float *alpha, float *A, int *lda, float *B, int *ldb)
void getri_(int *N, double *A, int *lda, int *IPIV, double *WORK, int *lwork, int *INFO)
void sgesvd_(const char *JOBU, const char *JOBVT, int *M, int *N, float *A, int *lda, float *S, float *U, int *ldu, float *VT, int *ldvt, float *WORK, int *lwork, int *INFO)
void geev_(const char *JOBVL, const char *JOBVR, int *N, double *A, int *lda, double *WR, double *WI, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)
void sgetri_(int *N, float *A, int *lda, int *IPIV, float *WORK, int *lwork, int *INFO)
void dgeqp3_(int *M, int *N, double *A, int *LDA, int *JPVT, double *TAU, double *WORK, int *LWORK, int *INFO)
void dgetri_(int *N, double *A, int *lda, int *IPIV, double *WORK, int *lwork, int *INFO)
void spotri_(const char *UPLO, const int *N, float *A, const int *LDA, int *INFO)
void sgetrf_(int *M, int *N, float *A, int *lda, int *IPIV, int *INFO)
void getrf_(int *M, int *N, float *A, int *lda, int *IPIV, int *INFO)
void dgesvd_(const char *JOBU, const char *JOBVT, int *M, int *N, double *A, int *lda, double *S, double *U, int *ldu, double *VT, int *ldvt, double *WORK, int *lwork, int *INFO)
void ssyev_(const char *JOBZ, const char *UPLO, int *N, float *A, int *lda, float *W, float *WORK, int *LWORK, int *INFO)
void gesvd_(const char *JOBU, const char *JOBVT, int *M, int *N, double *A, int *lda, double *S, double *U, int *ldu, double *VT, int *ldvt, double *WORK, int *lwork, int *INFO)
void geqp3_(int *M, int *N, float *A, int *LDA, int *JPVT, float *TAU, float *WORK, int *LWORK, int *INFO)