Biug 1242: fix comma init with empty matrices.

This commit is contained in:
Gael Guennebaud
2016-06-23 10:25:04 +02:00
parent a29a2cb4ff
commit a3f7edf7e7
2 changed files with 28 additions and 2 deletions

View File

@@ -80,8 +80,11 @@ struct CommaInitializer
EIGEN_DEVICE_FUNC
CommaInitializer& operator,(const DenseBase<OtherDerived>& other)
{
if(other.cols()==0 || other.rows()==0)
if(other.rows()==0)
{
m_col += other.cols();
return *this;
}
if (m_col==m_xpr.cols())
{
m_row+=m_currentBlockRows;
@@ -90,7 +93,7 @@ struct CommaInitializer
eigen_assert(m_row+m_currentBlockRows<=m_xpr.rows()
&& "Too many rows passed to comma initializer (operator<<)");
}
eigen_assert(m_col<m_xpr.cols()
eigen_assert(m_col<m_xpr.cols() || (m_xpr.cols()==0 && m_col==0)
&& "Too many coefficients passed to comma initializer (operator<<)");
eigen_assert(m_currentBlockRows==other.rows());
if (OtherDerived::SizeAtCompileTime != Dynamic)