mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 19:29:02 +08:00
fix bug #391: improper stream output for uncompressed mode, also avoid double debugging outputs for column major matrices
This commit is contained in:
parent
6f92b75874
commit
7e866c447f
@ -678,18 +678,33 @@ class SparseMatrix
|
||||
{
|
||||
EIGEN_DBG_SPARSE(
|
||||
s << "Nonzero entries:\n";
|
||||
for (Index i=0; i<m.nonZeros(); ++i)
|
||||
{
|
||||
s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
|
||||
}
|
||||
if(m.isCompressed())
|
||||
for (Index i=0; i<m.nonZeros(); ++i)
|
||||
s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
|
||||
else
|
||||
for (Index i=0; i<m.outerSize(); ++i)
|
||||
{
|
||||
int p = m.m_outerIndex[i];
|
||||
int pe = m.m_outerIndex[i]+m.m_innerNonZeros[i];
|
||||
Index k=p;
|
||||
for (; k<pe; ++k)
|
||||
s << "(" << m.m_data.value(k) << "," << m.m_data.index(k) << ") ";
|
||||
for (; k<m.m_outerIndex[i+1]; ++k)
|
||||
s << "(_,_) ";
|
||||
}
|
||||
s << std::endl;
|
||||
s << std::endl;
|
||||
s << "Column pointers:\n";
|
||||
s << "Outer pointers:\n";
|
||||
for (Index i=0; i<m.outerSize(); ++i)
|
||||
{
|
||||
s << m.m_outerIndex[i] << " ";
|
||||
}
|
||||
s << " $" << std::endl;
|
||||
if(!m.isCompressed())
|
||||
{
|
||||
s << "Inner non zeros:\n";
|
||||
for (Index i=0; i<m.outerSize(); ++i)
|
||||
s << m.m_innerNonZeros[i] << " ";
|
||||
s << " $" << std::endl;
|
||||
}
|
||||
s << std::endl;
|
||||
);
|
||||
s << static_cast<const SparseMatrixBase<SparseMatrix>&>(m);
|
||||
|
@ -308,7 +308,7 @@ template<typename Derived> class SparseMatrixBase : public EigenBase<Derived>
|
||||
else
|
||||
{
|
||||
SparseMatrix<Scalar, RowMajorBit> trans = m.derived();
|
||||
s << trans;
|
||||
s << static_cast<const SparseMatrixBase<SparseMatrix<Scalar, RowMajorBit> >&>(trans);
|
||||
}
|
||||
}
|
||||
return s;
|
||||
|
Loading…
x
Reference in New Issue
Block a user