mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
As discussed on ML:
* remove the automatic resizing feature of operator = * add function Matrix::set() to be used when the previous behavior is wanted * the default constructor of dynamic-size matrices now creates a "null" matrix (data=0, rows = cols = 0) instead of a 1x1 matrix * fix UnixX typos ;)
This commit is contained in:
@@ -95,6 +95,20 @@ template<typename MatrixType> void basicStuff(const MatrixType& m)
|
||||
VERIFY_RAISES_ASSERT(m1 = (m2.block(0,0, rows-1, cols-1)));
|
||||
}
|
||||
|
||||
// test set
|
||||
{
|
||||
VERIFY_IS_APPROX(m3.set(m1),m1);
|
||||
MatrixType m4, m5;
|
||||
VERIFY_IS_APPROX(m4.set(m1),m1);
|
||||
if (MatrixType::RowsAtCompileTime==Dynamic && MatrixType::ColsAtCompileTime==Dynamic)
|
||||
{
|
||||
MatrixType m6(rows+1,cols);
|
||||
VERIFY_RAISES_ASSERT(m5 = m1);
|
||||
VERIFY_RAISES_ASSERT(m3 = m5);
|
||||
VERIFY_RAISES_ASSERT(m3 = m6);
|
||||
}
|
||||
}
|
||||
|
||||
// test swap
|
||||
m3 = m1;
|
||||
m1.swap(m2);
|
||||
|
||||
@@ -65,7 +65,7 @@ template<typename MatrixType> void cholesky(const MatrixType& m)
|
||||
Gsl::cholesky_solve(gMatA, gVecB, gVecX);
|
||||
VectorType vecX, _vecX, _vecB;
|
||||
convert(gVecX, _vecX);
|
||||
vecX = symm.cholesky().solve(vecB);
|
||||
vecX.set( symm.cholesky().solve(vecB) );
|
||||
Gsl::prod(gSymm, gVecX, gVecB);
|
||||
convert(gVecB, _vecB);
|
||||
// test gsl itself !
|
||||
|
||||
@@ -67,7 +67,7 @@ template<typename MatrixType> void product(const MatrixType& m)
|
||||
RowVectorType v1 = RowVectorType::Random(rows),
|
||||
v2 = RowVectorType::Random(rows),
|
||||
vzero = RowVectorType::Zero(rows);
|
||||
ColVectorType vc2 = ColVectorType::Random(cols), vcres;
|
||||
ColVectorType vc2 = ColVectorType::Random(cols), vcres(cols);
|
||||
OtherMajorMatrixType tm1 = m1;
|
||||
|
||||
Scalar s1 = ei_random<Scalar>();
|
||||
|
||||
Reference in New Issue
Block a user