inline void gemv(CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, std::complex<double> const *A, int const lda, std::complex<double> const *X, int const incX, double beta, std::complex<double> *Y, int const incY ) { std::complex<double> alphaArg(alpha,0); std::complex<double> betaArg(beta,0); cblas_zgemv(Order, TransA, M, N, reinterpret_cast<cblas_double_complex_type const *>(&alphaArg), reinterpret_cast<cblas_double_complex_type const *>(A), lda, reinterpret_cast<cblas_double_complex_type const *>(X), incX, reinterpret_cast<cblas_double_complex_type const *>(&betaArg), reinterpret_cast<cblas_double_complex_type *>(Y), incY); }
inline void gemv(CBLAS_ORDER const Order, CBLAS_TRANSPOSE const TransA, int const M, int const N, double alpha, std::complex<float> const *A, int const lda, std::complex<float> const *X, int const incX, double beta, std::complex<float> *Y, int const incY ) { std::complex<float> alphaArg(alpha,0); std::complex<float> betaArg(beta,0); cblas_cgemv(Order, TransA, M, N, static_cast<void const *>(&alphaArg), static_cast<void const *>(A), lda, static_cast<void const *>(X), incX, static_cast<void const *>(&betaArg), static_cast<void *>(Y), incY); }
inline void gemm(CBLAS_ORDER const Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, double alpha, std::complex<double> const *A, int lda, std::complex<double> const *B, int ldb, double beta, std::complex<double>* C, int ldc ) { std::complex<double> alphaArg(alpha,0); std::complex<double> betaArg(beta,0); cblas_zgemm( Order, TransA, TransB, M, N, K, static_cast<void const *>(&alphaArg), static_cast<void const *>(A), lda, static_cast<void const *>(B), ldb, static_cast<void const *>(&betaArg), static_cast<void *>(C), ldc ); }