mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
now gemv supports strides
This commit is contained in:
@@ -60,7 +60,7 @@ template<typename MatrixType> void product_notemporary(const MatrixType& m)
|
||||
m2 = MatrixType::Random(rows, cols),
|
||||
m3(rows, cols);
|
||||
RowVectorType rv1 = RowVectorType::Random(rows), rvres(rows);
|
||||
ColVectorType vc2 = ColVectorType::Random(cols), cvres(cols);
|
||||
ColVectorType cv1 = ColVectorType::Random(cols), cvres(cols);
|
||||
RowMajorMatrixType rm3(rows, cols);
|
||||
|
||||
Scalar s1 = internal::random<Scalar>(),
|
||||
@@ -128,6 +128,13 @@ template<typename MatrixType> void product_notemporary(const MatrixType& m)
|
||||
// Zero temporaries for ... CoeffBasedProductMode
|
||||
// - does not work with GCC because of the <..>, we'ld need variadic macros ...
|
||||
//VERIFY_EVALUATION_COUNT( m3.col(0).head<5>() * m3.col(0).transpose() + m3.col(0).head<5>() * m3.col(0).transpose(), 0 );
|
||||
|
||||
// Check matrix * vectors
|
||||
VERIFY_EVALUATION_COUNT( cvres.noalias() = m1 * cv1, 0 );
|
||||
VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * cv1, 0 );
|
||||
VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * m2.col(0), 0 );
|
||||
VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * rv1.adjoint(), 0 );
|
||||
VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * m2.row(0).transpose(), 0 );
|
||||
}
|
||||
|
||||
void test_product_notemporary()
|
||||
|
||||
Reference in New Issue
Block a user