35 #ifndef _BLAZE_MATH_BLAS_TRMV_H_
36 #define _BLAZE_MATH_BLAS_TRMV_H_
43 #include <boost/cast.hpp>
71 CBLAS_DIAG diag,
int n,
const float* A,
int lda,
float* x,
75 CBLAS_DIAG diag,
int n,
const double* A,
int lda,
double* x,
79 CBLAS_DIAG diag,
int n,
const complex<float>* A,
int lda,
80 complex<float>* x,
int incX );
83 CBLAS_DIAG diag,
int n,
const complex<double>* A,
int lda,
84 complex<double>* x,
int incX );
86 template<
typename VT,
typename MT,
bool SO >
90 template<
typename VT,
typename MT,
bool SO >
120 CBLAS_DIAG diag,
int n,
const float* A,
int lda,
float* x,
123 cblas_strmv( order, uplo, transA, diag, n, A, lda, x, incX );
150 CBLAS_DIAG diag,
int n,
const double* A,
int lda,
double* x,
153 cblas_dtrmv( order, uplo, transA, diag, n, A, lda, x, incX );
180 CBLAS_DIAG diag,
int n,
const complex<float>* A,
int lda,
181 complex<float>* x,
int incX )
183 cblas_ctrmv( order, uplo, transA, diag, n, A, lda, x, incX );
210 CBLAS_DIAG diag,
int n,
const complex<double>* A,
int lda,
211 complex<double>* x,
int incX )
213 cblas_ztrmv( order, uplo, transA, diag, n, A, lda, x, incX );
235 template<
typename VT
241 using boost::numeric_cast;
255 const int n ( numeric_cast<int>( (~A).
rows() ) );
256 const int lda( numeric_cast<int>( (~A).
spacing() ) );
258 trmv( ( IsRowMajorMatrix<MT>::value )?( CblasRowMajor ):( CblasColMajor ),
259 uplo, CblasNoTrans, CblasNonUnit, n, (~A).data(), lda, (~x).data(), 1 );
281 template<
typename VT
287 using boost::numeric_cast;
301 const int n ( numeric_cast<int>( (~A).
rows() ) );
302 const int lda( numeric_cast<int>( (~A).
spacing() ) );
304 trmv( ( IsRowMajorMatrix<MT>::value )?( CblasRowMajor ):( CblasColMajor ),
305 uplo, CblasTrans, CblasNonUnit, n, (~A).data(), lda, (~x).data(), 1 );
Constraint on the data type.
#define BLAZE_CONSTRAINT_MUST_HAVE_MUTABLE_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to m...
Definition: MutableDataAccess.h:79
#define BLAZE_CONSTRAINT_MUST_HAVE_CONST_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to c...
Definition: ConstDataAccess.h:79
#define BLAZE_CONSTRAINT_MUST_NOT_BE_COMPUTATION_TYPE(T)
Constraint on the data type.In case the given data type T is a computational expression (i...
Definition: Computation.h:118
BLAZE_ALWAYS_INLINE size_t rows(const Matrix< MT, SO > &matrix)
Returns the current number of rows of the matrix.
Definition: Matrix.h:308
Header file for the DenseVector base class.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Header file for the DenseMatrix base class.
Type ElementType
Type of the sparse matrix elements.
Definition: CompressedMatrix.h:2586
Constraint on the data type.
Constraint on the data type.
const bool spacing
Adding an additional spacing line between two log messages.This setting gives the opportunity to add ...
Definition: Logging.h:70
System settings for the BLAS mode.
Header file for run time assertion macros.
Constraint on the data type.
#define BLAZE_CONSTRAINT_MUST_BE_BLAS_COMPATIBLE_TYPE(T)
Constraint on the data type.In case the given data type T is not a BLAS compatible data type (i...
Definition: BlasCompatible.h:79
Header file for the IsRowMajorMatrix type trait.
BLAZE_ALWAYS_INLINE size_t columns(const Matrix< MT, SO > &matrix)
Returns the current number of columns of the matrix.
Definition: Matrix.h:324
Header file for the complex data type.
System settings for the inline keywords.
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101