mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 11:49: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(
|
EIGEN_DBG_SPARSE(
|
||||||
s << "Nonzero entries:\n";
|
s << "Nonzero entries:\n";
|
||||||
|
if(m.isCompressed())
|
||||||
for (Index i=0; i<m.nonZeros(); ++i)
|
for (Index i=0; i<m.nonZeros(); ++i)
|
||||||
{
|
|
||||||
s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
|
s << "(" << m.m_data.value(i) << "," << m.m_data.index(i) << ") ";
|
||||||
}
|
else
|
||||||
s << std::endl;
|
|
||||||
s << std::endl;
|
|
||||||
s << "Column pointers:\n";
|
|
||||||
for (Index i=0; i<m.outerSize(); ++i)
|
for (Index i=0; i<m.outerSize(); ++i)
|
||||||
{
|
{
|
||||||
s << m.m_outerIndex[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 << "Outer pointers:\n";
|
||||||
|
for (Index i=0; i<m.outerSize(); ++i)
|
||||||
|
s << m.m_outerIndex[i] << " ";
|
||||||
s << " $" << std::endl;
|
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 << std::endl;
|
||||||
);
|
);
|
||||||
s << static_cast<const SparseMatrixBase<SparseMatrix>&>(m);
|
s << static_cast<const SparseMatrixBase<SparseMatrix>&>(m);
|
||||||
|
@ -308,7 +308,7 @@ template<typename Derived> class SparseMatrixBase : public EigenBase<Derived>
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
SparseMatrix<Scalar, RowMajorBit> trans = m.derived();
|
SparseMatrix<Scalar, RowMajorBit> trans = m.derived();
|
||||||
s << trans;
|
s << static_cast<const SparseMatrixBase<SparseMatrix<Scalar, RowMajorBit> >&>(trans);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return s;
|
return s;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user