⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blas_3.cxx

📁 Multivac 的Level set包
💻 CXX
📖 第 1 页 / 共 5 页
字号:
  {    cblas_dtrmm(CblasRowMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<float> alpha,	   const Matrix<complex<float>, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<complex<float>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ctrmm(CblasRowMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<double> alpha,	   const Matrix<complex<double>, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<complex<double>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ztrmm(CblasRowMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  /*** RowUpTriang ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const float alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<float, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<float, Prop1, RowMajor, Allocator1>& B)  {    cblas_strmm(CblasRowMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const double alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<double, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<double, Prop1, RowMajor, Allocator1>& B)  {    cblas_dtrmm(CblasRowMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<float> alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<complex<float>, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<complex<float>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ctrmm(CblasRowMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<double> alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<complex<double>, Prop0, RowUpTriang, Allocator0>& A,	   Matrix<complex<double>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ztrmm(CblasRowMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  /*** RowLoTriang, NoTrans and NonUnit ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const float alpha,	   const Matrix<float, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<float, Prop1, RowMajor, Allocator1>& B)  {    cblas_strmm(CblasRowMajor, Side, CblasLower, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const double alpha,	   const Matrix<double, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<double, Prop1, RowMajor, Allocator1>& B)  {    cblas_dtrmm(CblasRowMajor, Side, CblasLower, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<float> alpha,	   const Matrix<complex<float>, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<complex<float>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ctrmm(CblasRowMajor, Side, CblasLower, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<double> alpha,	   const Matrix<complex<double>, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<complex<double>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ztrmm(CblasRowMajor, Side, CblasLower, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  /*** RowLoTriang ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const float alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<float, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<float, Prop1, RowMajor, Allocator1>& B)  {    cblas_strmm(CblasRowMajor, Side, CblasLower, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const double alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<double, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<double, Prop1, RowMajor, Allocator1>& B)  {    cblas_dtrmm(CblasRowMajor, Side, CblasLower, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetN(), B.GetData(), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<float> alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<complex<float>, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<complex<float>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ctrmm(CblasRowMajor, Side, CblasLower, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Mlt(const enum CBLAS_SIDE Side,	   const complex<double> alpha,	   const enum CBLAS_TRANSPOSE TransA,	   const enum CBLAS_DIAG DiagA,	   const Matrix<complex<double>, Prop0, RowLoTriang, Allocator0>& A,	   Matrix<complex<double>, Prop1, RowMajor, Allocator1>& B)  {    cblas_ztrmm(CblasRowMajor, Side, CblasLower, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetN(),		reinterpret_cast<void*>(B.GetData()), B.GetN());  }  // Mlt //  /////////  ///////////  // Solve //  /*** ColUpTriang, NoTrans and NonUnit ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const float alpha,	     const Matrix<float, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<float, Prop1, ColMajor, Allocator1>& B)  {    cblas_strsm(CblasColMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetM(), B.GetData(), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const double alpha,	     const Matrix<double, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<double, Prop1, ColMajor, Allocator1>& B)  {    cblas_dtrsm(CblasColMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetM(), B.GetData(), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const complex<float> alpha,	     const Matrix<complex<float>, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<complex<float>, Prop1, ColMajor, Allocator1>& B)  {    cblas_ctrsm(CblasColMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetM(),		reinterpret_cast<void*>(B.GetData()), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const complex<double> alpha,	     const Matrix<complex<double>, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<complex<double>, Prop1, ColMajor, Allocator1>& B)  {    cblas_ztrsm(CblasColMajor, Side, CblasUpper, CblasNoTrans, CblasNonUnit,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetM(),		reinterpret_cast<void*>(B.GetData()), B.GetM());  }  /*** ColUpTriang ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const float alpha,	     const enum CBLAS_TRANSPOSE TransA,	     const enum CBLAS_DIAG DiagA,	     const Matrix<float, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<float, Prop1, ColMajor, Allocator1>& B)  {    cblas_strsm(CblasColMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetM(), B.GetData(), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const double alpha,	     const enum CBLAS_TRANSPOSE TransA,	     const enum CBLAS_DIAG DiagA,	     const Matrix<double, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<double, Prop1, ColMajor, Allocator1>& B)  {    cblas_dtrsm(CblasColMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		alpha, A.GetData(), A.GetM(), B.GetData(), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const complex<float> alpha,	     const enum CBLAS_TRANSPOSE TransA,	     const enum CBLAS_DIAG DiagA,	     const Matrix<complex<float>, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<complex<float>, Prop1, ColMajor, Allocator1>& B)  {    cblas_ctrsm(CblasColMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetM(),		reinterpret_cast<void*>(B.GetData()), B.GetM());  }  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const complex<double> alpha,	     const enum CBLAS_TRANSPOSE TransA,	     const enum CBLAS_DIAG DiagA,	     const Matrix<complex<double>, Prop0, ColUpTriang, Allocator0>& A,	     Matrix<complex<double>, Prop1, ColMajor, Allocator1>& B)  {    cblas_ztrsm(CblasColMajor, Side, CblasUpper, TransA, DiagA,		B.GetM(), B.GetN(),		reinterpret_cast<const void*>(&alpha),		reinterpret_cast<const void*>(A.GetData()), A.GetM(),		reinterpret_cast<void*>(B.GetData()), B.GetM());  }  /*** ColLoTriang, NoTrans and NonUnit ***/  template <class Prop0, class Allocator0,	    class Prop1, class Allocator1>  void Solve(const enum CBLAS_SIDE Side,	     const float alpha,	     const Matrix<float, Prop0, ColLoTriang, Allocator0>& A,	     Matrix<float, Prop1, ColMajor, Allocator1>& B)  {    cblas_strsm(CblasColMajor, Side, CblasLower, CblasNoTrans, CblasNonUnit,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -