Skip to content

Commit 15fe6a4

Browse files
committed
Optimize link usage
1 parent 487b88c commit 15fe6a4

File tree

1 file changed

+0
-103
lines changed

1 file changed

+0
-103
lines changed

source/module_base/blas_connector.cpp

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,5 @@
11
#include "blas_connector.h"
22

3-
extern "C"
4-
{
5-
// level 1: std::vector-std::vector operations, O(n) data and O(n) work.
6-
7-
// Peize Lin add ?scal 2016-08-04, to compute x=a*x
8-
void sscal_(const int *N, const float *alpha, float *X, const int *incX);
9-
void dscal_(const int *N, const double *alpha, double *X, const int *incX);
10-
void cscal_(const int *N, const std::complex<float> *alpha, std::complex<float> *X, const int *incX);
11-
void zscal_(const int *N, const std::complex<double> *alpha, std::complex<double> *X, const int *incX);
12-
13-
// Peize Lin add ?axpy 2016-08-04, to compute y=a*x+y
14-
void saxpy_(const int *N, const float *alpha, const float *X, const int *incX, float *Y, const int *incY);
15-
void daxpy_(const int *N, const double *alpha, const double *X, const int *incX, double *Y, const int *incY);
16-
void caxpy_(const int *N, const std::complex<float> *alpha, const std::complex<float> *X, const int *incX, std::complex<float> *Y, const int *incY);
17-
void zaxpy_(const int *N, const std::complex<double> *alpha, const std::complex<double> *X, const int *incX, std::complex<double> *Y, const int *incY);
18-
19-
void dcopy_(long const *n, const double *a, int const *incx, double *b, int const *incy);
20-
void zcopy_(long const *n, const std::complex<double> *a, int const *incx, std::complex<double> *b, int const *incy);
21-
22-
//reason for passing results as argument instead of returning it:
23-
//see https://www.numbercrunch.de/blog/2014/07/lost-in-translation/
24-
// void zdotc_(std::complex<double> *result, const int *n, const std::complex<double> *zx,
25-
// const int *incx, const std::complex<double> *zy, const int *incy);
26-
// Peize Lin add ?dot 2017-10-27, to compute d=x*y
27-
float sdot_(const int *N, const float *X, const int *incX, const float *Y, const int *incY);
28-
double ddot_(const int *N, const double *X, const int *incX, const double *Y, const int *incY);
29-
30-
// Peize Lin add ?nrm2 2018-06-12, to compute out = ||x||_2 = \sqrt{ \sum_i x_i**2 }
31-
float snrm2_( const int *n, const float *X, const int *incX );
32-
double dnrm2_( const int *n, const double *X, const int *incX );
33-
double dznrm2_( const int *n, const std::complex<double> *X, const int *incX );
34-
35-
// level 2: matrix-std::vector operations, O(n^2) data and O(n^2) work.
36-
void dgemv_(const char*const transa, const int*const m, const int*const n,
37-
const double*const alpha, const double*const a, const int*const lda, const double*const x, const int*const incx,
38-
const double*const beta, double*const y, const int*const incy);
39-
40-
void cgemv_(const char *trans, const int *m, const int *n, const std::complex<float> *alpha,
41-
const std::complex<float> *a, const int *lda, const std::complex<float> *x, const int *incx,
42-
const std::complex<float> *beta, std::complex<float> *y, const int *incy);
43-
44-
void zgemv_(const char *trans, const int *m, const int *n, const std::complex<double> *alpha,
45-
const std::complex<double> *a, const int *lda, const std::complex<double> *x, const int *incx,
46-
const std::complex<double> *beta, std::complex<double> *y, const int *incy);
47-
48-
void dsymv_(const char *uplo, const int *n,
49-
const double *alpha, const double *a, const int *lda,
50-
const double *x, const int *incx,
51-
const double *beta, double *y, const int *incy);
52-
53-
// A := alpha x * y.T + A
54-
void dger_(const int* m,
55-
const int* n,
56-
const double* alpha,
57-
const double* x,
58-
const int* incx,
59-
const double* y,
60-
const int* incy,
61-
double* a,
62-
const int* lda);
63-
void zgerc_(const int* m,
64-
const int* n,
65-
const std::complex<double>* alpha,
66-
const std::complex<double>* x,
67-
const int* incx,
68-
const std::complex<double>* y,
69-
const int* incy,
70-
std::complex<double>* a,
71-
const int* lda);
72-
73-
// level 3: matrix-matrix operations, O(n^2) data and O(n^3) work.
74-
75-
// Peize Lin add ?gemm 2017-10-27, to compute C = a * A.? * B.? + b * C
76-
// A is general
77-
void sgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k,
78-
const float *alpha, const float *a, const int *lda, const float *b, const int *ldb,
79-
const float *beta, float *c, const int *ldc);
80-
void dgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k,
81-
const double *alpha, const double *a, const int *lda, const double *b, const int *ldb,
82-
const double *beta, double *c, const int *ldc);
83-
void cgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k,
84-
const std::complex<float> *alpha, const std::complex<float> *a, const int *lda, const std::complex<float> *b, const int *ldb,
85-
const std::complex<float> *beta, std::complex<float> *c, const int *ldc);
86-
void zgemm_(const char *transa, const char *transb, const int *m, const int *n, const int *k,
87-
const std::complex<double> *alpha, const std::complex<double> *a, const int *lda, const std::complex<double> *b, const int *ldb,
88-
const std::complex<double> *beta, std::complex<double> *c, const int *ldc);
89-
90-
//a is symmetric
91-
void dsymm_(const char *side, const char *uplo, const int *m, const int *n,
92-
const double *alpha, const double *a, const int *lda, const double *b, const int *ldb,
93-
const double *beta, double *c, const int *ldc);
94-
//a is hermitian
95-
void zhemm_(char *side, char *uplo, int *m, int *n,std::complex<double> *alpha,
96-
std::complex<double> *a, int *lda, std::complex<double> *b, int *ldb, std::complex<double> *beta, std::complex<double> *c, int *ldc);
97-
98-
//solving triangular matrix with multiple right hand sides
99-
void dtrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
100-
double* alpha, double* a, int *lda, double*b, int *ldb);
101-
void ztrsm_(char *side, char* uplo, char *transa, char *diag, int *m, int *n,
102-
std::complex<double>* alpha, std::complex<double>* a, int *lda, std::complex<double>*b, int *ldb);
103-
104-
}
105-
1063
void BlasConnector::axpy( const int n, const float alpha, const float *X, const int incX, float *Y, const int incY)
1074
{
1085
saxpy_(&n, &alpha, X, &incX, Y, &incY);

0 commit comments

Comments
 (0)