24 #define MKL_Complex16 std::complex<double> 25 #define MKL_Complex8 std::complex<float> 26 #include "mkl_service.h" 36 template <
class T>
inline void 37 mkl_imatcopy(
const char ordering,
const char trans,
const int rows,
const int cols,
const T alpha, T* A,
const int lda,
const int ldb);
40 template <
class T>
inline void 41 mkl_omatcopy(
const char ordering,
const char trans,
const int rows,
const int cols,
const T alpha,
const T* A,
const int lda, T* B,
const int ldb);
43 template <>
inline void 44 mkl_imatcopy<double>(
const char ordering,
const char trans,
const int rows,
const int cols,
const double alpha,
double* A,
const int lda,
const int ldb)
46 mkl_dimatcopy(ordering,trans,rows,cols,alpha,A,lda,ldb);
48 template <>
inline void 49 mkl_imatcopy<float>(
const char ordering,
const char trans,
const int rows,
const int cols,
const float alpha,
float* A,
const int lda,
const int ldb)
51 mkl_simatcopy(ordering,trans,rows,cols,alpha,A,lda,ldb);
53 template <>
inline void 54 mkl_imatcopy<std::complex<double> >(
const char ordering,
const char trans,
const int rows,
const int cols,
const std::complex<double> alpha, std::complex<double>* A,
const int lda,
const int ldb)
56 mkl_zimatcopy(ordering,trans,rows,cols,alpha,A,lda,ldb);
58 template <>
inline void 59 mkl_imatcopy<std::complex<float> >(
const char ordering,
const char trans,
const int rows,
const int cols,
const std::complex<float> alpha, std::complex<float>* A,
const int lda,
const int ldb)
61 mkl_cimatcopy(ordering,trans,rows,cols,alpha,A,lda,ldb);
64 template <>
inline void 65 mkl_omatcopy<double>(
const char ordering,
const char trans,
const int rows,
const int cols,
const double alpha,
const double* A,
const int lda,
double* B,
const int ldb)
67 mkl_domatcopy(ordering,trans,rows,cols,alpha,A,lda,B,ldb);
69 template <>
inline void 70 mkl_omatcopy<float>(
const char ordering,
const char trans,
const int rows,
const int cols,
const float alpha,
const float* A,
const int lda,
float* B,
const int ldb)
72 mkl_somatcopy(ordering,trans,rows,cols,alpha,A,lda,B,ldb);
74 template <>
inline void 75 mkl_omatcopy<std::complex<double> >(
const char ordering,
const char trans,
const int rows,
const int cols,
const std::complex<double> alpha,
const std::complex<double>* A,
const int lda, std::complex<double>* B,
const int ldb)
77 mkl_zomatcopy(ordering,trans,rows,cols,alpha,A,lda,B,ldb);
79 template <>
inline void 80 mkl_omatcopy<std::complex<float> >(
const char ordering,
const char trans,
const int rows,
const int cols,
const std::complex<float> alpha,
const std::complex<float>* A,
const int lda, std::complex<float>* B,
const int ldb)
82 mkl_comatcopy(ordering,trans,rows,cols,alpha,A,lda,B,ldb);
void mkl_imatcopy< float >(const char ordering, const char trans, const int rows, const int cols, const float alpha, float *A, const int lda, const int ldb)
void mkl_omatcopy(const char ordering, const char trans, const int rows, const int cols, const T alpha, const T *A, const int lda, T *B, const int ldb)
void mkl_omatcopy< double >(const char ordering, const char trans, const int rows, const int cols, const double alpha, const double *A, const int lda, double *B, const int ldb)
void mkl_imatcopy(const char ordering, const char trans, const int rows, const int cols, const T alpha, T *A, const int lda, const int ldb)
void mkl_imatcopy< double >(const char ordering, const char trans, const int rows, const int cols, const double alpha, double *A, const int lda, const int ldb)
void mkl_omatcopy< float >(const char ordering, const char trans, const int rows, const int cols, const float alpha, const float *A, const int lda, float *B, const int ldb)