mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add operator += and operator -= between matrices/vectors/expressions
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user