Skip to content

Commit b2550b9

Browse files
committed
Fix conflicts of trsm
1 parent f62f438 commit b2550b9

File tree

3 files changed

+29
-9
lines changed

3 files changed

+29
-9
lines changed

source/module_base/blas_connector.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ extern "C"
133133
std::complex<double> *a, int *lda, std::complex<double> *b, int *ldb, std::complex<double> *beta, std::complex<double> *c, int *ldc);
134134

135135
//solving triangular matrix with multiple right hand sides
136-
void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
137-
double* alpha, double* a, int *lda, double*b, int *ldb);
138-
void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
139-
std::complex<double>* alpha, std::complex<double>* a, int *lda, std::complex<double>*b, int *ldb);
136+
void dtrsm_(const char *side, const char *uplo, const char *transa, const char *diag, const int *m, const int *n,
137+
const double *alpha, const double *a, const int *lda, double *b, const int *ldb);
138+
void ztrsm_(const char *side, const char *uplo, const char *transa, const char *diag, const int *m, const int *n,
139+
const std::complex<double> *alpha, const std::complex<double> *a, const int *lda, std::complex<double> *b, const int *ldb);
140140

141141
}
142142

source/module_base/module_container/base/third_party/blas.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,11 @@ void zhemm_(char *side, char *uplo, int *m, int *n,std::complex<double> *alpha,
111111
std::complex<double> *a, int *lda, std::complex<double> *b, int *ldb, std::complex<double> *beta, std::complex<double> *c, int *ldc);
112112

113113
//solving triangular matrix with multiple right hand sides
114-
void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
115-
double* alpha, double* a, int *lda, double*b, int *ldb);
116-
void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
117-
std::complex<double>* alpha, std::complex<double>* a, int *lda, std::complex<double>*b, int *ldb);
114+
// # trsm is included in lapack definitions
115+
// void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
116+
// double* alpha, double* a, int *lda, double*b, int *ldb);
117+
// void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
118+
// std::complex<double>* alpha, std::complex<double>* a, int *lda, std::complex<double>*b, int *ldb);
118119

119120
}
120121

source/module_base/module_container/base/third_party/lapack.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,26 @@ void geqrf(const int m, const int n, std::complex<double>* A, const int lda, std
428428
{
429429
zgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info);
430430
}
431-
431+
static inline
432+
void trsm(char side, char uplo, char transA, char diag, int m, int n, float alpha, const float* A, int lda, float* B, int ldb)
433+
{
434+
strsm_(&side, &uplo, &transA, &diag, &m, &n, &alpha, A, &lda, B, &ldb);
435+
}
436+
static inline
437+
void trsm(char side, char uplo, char transA, char diag, int m, int n, double alpha, const double* A, int lda, double* B, int ldb)
438+
{
439+
dtrsm_(&side, &uplo, &transA, &diag, &m, &n, &alpha, A, &lda, B, &ldb);
440+
}
441+
static inline
442+
void trsm(char side, char uplo, char transA, char diag, int m, int n, std::complex<float> alpha, const std::complex<float>* A, int lda, std::complex<float>* B, int ldb)
443+
{
444+
ctrsm_(&side, &uplo, &transA, &diag, &m, &n, &alpha, A, &lda, B, &ldb);
445+
}
446+
static inline
447+
void trsm(char side, char uplo, char transA, char diag, int m, int n, std::complex<double> alpha, const std::complex<double>* A, int lda, std::complex<double>* B, int ldb)
448+
{
449+
ztrsm_(&side, &uplo, &transA, &diag, &m, &n, &alpha, A, &lda, B, &ldb);
450+
}
432451

433452

434453
} // namespace lapackConnector

0 commit comments

Comments
 (0)