ext/nmatrix/math/trsm.h in nmatrix-0.1.0 vs ext/nmatrix/math/trsm.h in nmatrix-0.2.0

- old
+ new

@@ -57,18 +57,10 @@ #ifndef TRSM_H #define TRSM_H -extern "C" { -#if defined HAVE_CBLAS_H - #include <cblas.h> -#elif defined HAVE_ATLAS_CBLAS_H - #include <atlas/cblas.h> -#endif -} - namespace nm { namespace math { /* * This version of trsm doesn't do any error checks and only works on column-major matrices. @@ -333,55 +325,8 @@ trsm_nothrow<DType>(side, uplo, trans_a, diag, m, n, alpha, a, lda, b, ldb); } } - - -template <> -inline void trsm(const enum CBLAS_ORDER order, const enum CBLAS_SIDE side, const enum CBLAS_UPLO uplo, - const enum CBLAS_TRANSPOSE trans_a, const enum CBLAS_DIAG diag, - const int m, const int n, const float alpha, const float* a, - const int lda, float* b, const int ldb) -{ - cblas_strsm(order, side, uplo, trans_a, diag, m, n, alpha, a, lda, b, ldb); -} - -template <> -inline void trsm(const enum CBLAS_ORDER order, const enum CBLAS_SIDE side, const enum CBLAS_UPLO uplo, - const enum CBLAS_TRANSPOSE trans_a, const enum CBLAS_DIAG diag, - const int m, const int n, const double alpha, const double* a, - const int lda, double* b, const int ldb) -{ -/* using std::cerr; - using std::endl; - cerr << "(row-major) dtrsm: " << (side == CblasLeft ? "left " : "right ") - << (uplo == CblasUpper ? "upper " : "lower ") - << (trans_a == CblasTrans ? "trans " : "notrans ") - << (diag == CblasNonUnit ? "nonunit " : "unit ") - << m << " " << n << " " << alpha << " a " << lda << " b " << ldb << endl; -*/ - cblas_dtrsm(order, side, uplo, trans_a, diag, m, n, alpha, a, lda, b, ldb); -} - - -template <> -inline void trsm(const enum CBLAS_ORDER order, const enum CBLAS_SIDE side, const enum CBLAS_UPLO uplo, - const enum CBLAS_TRANSPOSE trans_a, const enum CBLAS_DIAG diag, - const int m, const int n, const Complex64 alpha, const Complex64* a, - const int lda, Complex64* b, const int ldb) -{ - cblas_ctrsm(order, side, uplo, trans_a, diag, m, n, (const void*)(&alpha), (const void*)(a), lda, (void*)(b), ldb); -} - -template <> -inline void trsm(const enum CBLAS_ORDER order, const enum CBLAS_SIDE side, const enum CBLAS_UPLO uplo, - const enum CBLAS_TRANSPOSE trans_a, const enum CBLAS_DIAG diag, - const int m, const int n, const Complex128 alpha, const Complex128* a, - const int lda, Complex128* b, const int ldb) -{ - cblas_ztrsm(order, side, uplo, trans_a, diag, m, n, (const void*)(&alpha), (const void*)(a), lda, (void*)(b), ldb); -} - } } // namespace nm::math #endif // TRSM_H