35void scal<float>(
const int N,
const float &alpha,
float *X,
const int incX )
37 cblas_sscal( N, alpha, X, incX );
41void scal<double>(
const int N,
const double &alpha,
double *X,
const int incX )
43 cblas_dscal( N, alpha, X, incX );
47void scal<std::complex<float>>(
const int N,
const std::complex<float> &alpha, std::complex<float> *X,
const int incX )
49 cblas_cscal( N, &alpha, X, incX );
54 const std::complex<double> &alpha,
55 std::complex<double> *X,
58 cblas_zscal( N, &alpha, X, incX );
63 const CBLAS_TRANSPOSE TransA,
64 const CBLAS_TRANSPOSE TransB,
77 cblas_sgemm( Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc );
82 const CBLAS_TRANSPOSE TransA,
83 const CBLAS_TRANSPOSE TransB,
96 cblas_dgemm( Order, TransA, TransB, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc );
101 const CBLAS_TRANSPOSE TransA,
102 const CBLAS_TRANSPOSE TransB,
106 const std::complex<float> &alpha,
107 const std::complex<float> *A,
109 const std::complex<float> *B,
111 const std::complex<float> &beta,
112 std::complex<float> *C,
115 cblas_cgemm( Order, TransA, TransB, M, N, K, &alpha, A, lda, B, ldb, &beta, C, ldc );
120 const CBLAS_TRANSPOSE TransA,
121 const CBLAS_TRANSPOSE TransB,
125 const std::complex<double> &alpha,
126 const std::complex<double> *A,
128 const std::complex<double> *B,
130 const std::complex<double> &beta,
131 std::complex<double> *C,
134 cblas_zgemm( Order, TransA, TransB, M, N, K, &alpha, A, lda, B, ldb, &beta, C, ldc );
139 const CBLAS_UPLO Uplo,
140 const CBLAS_TRANSPOSE Trans,
150 cblas_ssyrk( Order, Uplo, Trans, N, K, alpha, A, lda, beta, C, ldc );
155 const CBLAS_UPLO Uplo,
156 const CBLAS_TRANSPOSE Trans,
166 cblas_dsyrk( Order, Uplo, Trans, N, K, alpha, A, lda, beta, C, ldc );
171 const CBLAS_UPLO Uplo,
172 const CBLAS_TRANSPOSE Trans,
175 const std::complex<float> &alpha,
176 const std::complex<float> *A,
178 const std::complex<float> &beta,
179 std::complex<float> *C,
182 cblas_csyrk( Order, Uplo, Trans, N, K, &alpha, A, lda, &beta, C, ldc );
187 const CBLAS_UPLO Uplo,
188 const CBLAS_TRANSPOSE Trans,
191 const std::complex<double> &alpha,
192 const std::complex<double> *A,
194 const std::complex<double> &beta,
195 std::complex<double> *C,
198 cblas_zsyrk( Order, Uplo, Trans, N, K, &alpha, A, lda, &beta, C, ldc );
void syrk(const CBLAS_ORDER Order, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE Trans, const int N, const int K, const dataT &alpha, const dataT *A, const int lda, const dataT &beta, dataT *C, const int ldc)
Template Wrapper for cblas xSYRK.
void scal(const int N, const dataT &alpha, dataT *X, const int incX)
Template wrapper for cblas xSCAL.
void gemm(const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const dataT &alpha, const dataT *A, const int lda, const dataT *B, const int ldb, const dataT &beta, dataT *C, const int ldc)
Template Wrapper for cblas xGEMM.
Declares and defines templatized wrappers for the BLAS.