📄 blas_2.cxx
字号:
Vector<complex<float>, Vect_Full, Allocator2>& Y) { cblas_chemv(CblasRowMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), A.GetM(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<double> alpha, const enum CBLAS_UPLO Uplo, const Matrix<complex<double>, Prop0, RowHerm, Allocator0>& A, const Vector<complex<double>, Vect_Full, Allocator1>& X, const complex<double> beta, Vector<complex<double>, Vect_Full, Allocator2>& Y) { cblas_zhemv(CblasRowMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), A.GetM(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } // HermPacked // /*** ColHermPacked and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<float> alpha, const Matrix<complex<float>, Prop0, ColHermPacked, Allocator0>& A, const Vector<complex<float>, Vect_Full, Allocator1>& X, const complex<float> beta, Vector<complex<float>, Vect_Full, Allocator2>& Y) { cblas_chpmv(CblasColMajor, CblasUpper, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<double> alpha, const Matrix<complex<double>, Prop0, ColHermPacked, Allocator0>& A, const Vector<complex<double>, Vect_Full, Allocator1>& X, const complex<double> beta, Vector<complex<double>, Vect_Full, Allocator2>& Y) { cblas_zhpmv(CblasColMajor, CblasUpper, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } /*** ColHermPacked and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<float> alpha, const enum CBLAS_UPLO Uplo, const Matrix<complex<float>, Prop0, ColHermPacked, Allocator0>& A, const Vector<complex<float>, Vect_Full, Allocator1>& X, const complex<float> beta, Vector<complex<float>, Vect_Full, Allocator2>& Y) { cblas_chpmv(CblasColMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<double> alpha, const enum CBLAS_UPLO Uplo, const Matrix<complex<double>, Prop0, ColHermPacked, Allocator0>& A, const Vector<complex<double>, Vect_Full, Allocator1>& X, const complex<double> beta, Vector<complex<double>, Vect_Full, Allocator2>& Y) { cblas_zhpmv(CblasColMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } /*** RowHermPacked and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<float> alpha, const Matrix<complex<float>, Prop0, RowHermPacked, Allocator0>& A, const Vector<complex<float>, Vect_Full, Allocator1>& X, const complex<float> beta, Vector<complex<float>, Vect_Full, Allocator2>& Y) { cblas_chpmv(CblasRowMajor, CblasUpper, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<double> alpha, const Matrix<complex<double>, Prop0, RowHermPacked, Allocator0>& A, const Vector<complex<double>, Vect_Full, Allocator1>& X, const complex<double> beta, Vector<complex<double>, Vect_Full, Allocator2>& Y) { cblas_zhpmv(CblasRowMajor, CblasUpper, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } /*** RowHermPacked and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<float> alpha, const enum CBLAS_UPLO Uplo, const Matrix<complex<float>, Prop0, RowHermPacked, Allocator0>& A, const Vector<complex<float>, Vect_Full, Allocator1>& X, const complex<float> beta, Vector<complex<float>, Vect_Full, Allocator2>& Y) { cblas_chpmv(CblasRowMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const complex<double> alpha, const enum CBLAS_UPLO Uplo, const Matrix<complex<double>, Prop0, RowHermPacked, Allocator0>& A, const Vector<complex<double>, Vect_Full, Allocator1>& X, const complex<double> beta, Vector<complex<double>, Vect_Full, Allocator2>& Y) { cblas_zhpmv(CblasRowMajor, Uplo, A.GetM(), reinterpret_cast<const void*>(alpha), A.GetDataConstVoid(), X.GetDataConstVoid(), 1, reinterpret_cast<const void*>(beta), Y.GetDataVoid(), 1); } // Symmetric // /*** ColSym and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const Matrix<float, Prop0, ColSym, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_ssymv(CblasColMajor, CblasUpper, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const Matrix<double, Prop0, ColSym, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dsymv(CblasColMajor, CblasUpper, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** ColSym and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const enum CBLAS_UPLO Uplo, const Matrix<float, Prop0, ColSym, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_ssymv(CblasColMajor, Uplo, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const enum CBLAS_UPLO Uplo, const Matrix<double, Prop0, ColSym, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dsymv(CblasColMajor, Uplo, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** RowSym and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const Matrix<float, Prop0, RowSym, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_ssymv(CblasRowMajor, CblasUpper, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const Matrix<double, Prop0, RowSym, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dsymv(CblasRowMajor, CblasUpper, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** RowSym and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const enum CBLAS_UPLO Uplo, const Matrix<float, Prop0, RowSym, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_ssymv(CblasRowMajor, Uplo, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const enum CBLAS_UPLO Uplo, const Matrix<double, Prop0, RowSym, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dsymv(CblasRowMajor, Uplo, A.GetM(), alpha, A.GetData(), A.GetM(), X.GetData(), 1, beta, Y.GetData(), 1); } // SymPacked // /*** ColSymPacked and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const Matrix<float, Prop0, ColSymPacked, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_sspmv(CblasColMajor, CblasUpper, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const Matrix<double, Prop0, ColSymPacked, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dspmv(CblasColMajor, CblasUpper, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** ColSymPacked and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const enum CBLAS_UPLO Uplo, const Matrix<float, Prop0, ColSymPacked, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_sspmv(CblasColMajor, Uplo, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const enum CBLAS_UPLO Uplo, const Matrix<double, Prop0, ColSymPacked, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dspmv(CblasColMajor, Uplo, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** RowSymPacked and Upper ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const Matrix<float, Prop0, RowSymPacked, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta, Vector<float, Vect_Full, Allocator2>& Y) { cblas_sspmv(CblasRowMajor, CblasUpper, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const double alpha, const Matrix<double, Prop0, RowSymPacked, Allocator0>& A, const Vector<double, Vect_Full, Allocator1>& X, const double beta, Vector<double, Vect_Full, Allocator2>& Y) { cblas_dspmv(CblasRowMajor, CblasUpper, A.GetM(), alpha, A.GetData(), X.GetData(), 1, beta, Y.GetData(), 1); } /*** RowSymPacked and Uplo ***/ template <class Prop0, class Allocator0, class Allocator1, class Allocator2> void MltAdd(const float alpha, const enum CBLAS_UPLO Uplo, const Matrix<float, Prop0, RowSymPacked, Allocator0>& A, const Vector<float, Vect_Full, Allocator1>& X, const float beta,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -