Add operator += and operator -= between matrices/vectors/expressions

This commit is contained in:
Benoit Jacob
2007-09-07 07:41:10 +00:00
parent e7ef6dba9d
commit c3731b36d1
6 changed files with 80 additions and 1 deletions

View File

@@ -36,8 +36,9 @@ template<typename MatrixType> void matrixManip(const MatrixType& m)
a.minor(i, j);
a.block(1, rows-1, 1, cols-1);
a.xpr().row(i) = b.row(i);
a.xpr().row(i) += b.row(i);
a.xpr().minor(i, j) = b.block(1, rows-1, 1, cols-1);
a.alias().xpr().minor(i, j) = a.block(1, rows-1, 1, cols-1);
a.alias().xpr().minor(i, j) -= a.block(1, rows-1, 1, cols-1);
}
void EigenTest::testMatrixManip()

View File

@@ -46,6 +46,10 @@ template<typename MatrixType1,
a = s * (b - c);
a.alias() = a + b;
a += b;
a.alias().xpr() += b;
a -= b + b;
MatrixType1 d(rows1, cols1);
MatrixType2 e(rows2, cols2);
QVERIFY( (d * e).rows() == rows1 && (d * e).cols() == cols2 );

View File

@@ -43,6 +43,11 @@ template<typename VectorType> void vectorOps(const VectorType& v)
a = b + c;
a = s * (b - c);
a.alias() = a + b;
a += b;
a += b + b;
a.xpr() -= b;
a.xpr() -= b + b;
}
void EigenTest::testVectorOps()