Extended sparse unit-test: nested blocks and InnerIterators.

Block specialization for sparse matrices.
InnerIterators for Blocks and fixes in CoreIterators.
This commit is contained in:
Daniel Gomez Ferro
2008-09-02 15:28:49 +00:00
parent 46fe7a3d9e
commit 8fb1678f0f
10 changed files with 276 additions and 13 deletions

View File

@@ -139,8 +139,23 @@ class SparseMatrixBase : public MatrixBase<Derived>
}
else
{
LinkedVectorMatrix<Scalar, RowMajorBit> trans = m.derived();
s << trans;
if (m.cols() == 1) {
int row = 0;
for (typename Derived::InnerIterator it(m.derived(), 0); it; ++it)
{
for ( ; row<it.index(); ++row)
s << "0" << std::endl;
s << it.value() << std::endl;
++row;
}
for ( ; row<m.rows(); ++row)
s << "0" << std::endl;
}
else
{
LinkedVectorMatrix<Scalar, RowMajorBit> trans = m.derived();
s << trans;
}
}
return s;
}