From 249dc4f482f0427af3cb1e53b7a2ff4bbe6b54cf Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Thu, 3 Apr 2008 16:54:19 +0000 Subject: current state of the mess. One line fails in the tests, and useless copies are made when evaluating nested expressions. Changes: - kill LazyBit, introduce EvalBeforeNestingBit and EvalBeforeAssigningBit - product and random don't evaluate immediately anymore - eval() always evaluates - change the value of Dynamic to some large positive value, in preparation of future simplifications --- Eigen/src/Core/CommaInitializer.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Eigen/src/Core/CommaInitializer.h') diff --git a/Eigen/src/Core/CommaInitializer.h b/Eigen/src/Core/CommaInitializer.h index d7a5fcb47..21551ccf2 100644 --- a/Eigen/src/Core/CommaInitializer.h +++ b/Eigen/src/Core/CommaInitializer.h @@ -76,9 +76,10 @@ struct MatrixBase::CommaInitializer ei_assert(m_col0 && OtherDerived::ColsAtCompileTime>0) - m_matrix.block< (OtherDerived::RowsAtCompileTime>0?OtherDerived::RowsAtCompileTime:1) , - (OtherDerived::ColsAtCompileTime>0?OtherDerived::ColsAtCompileTime:1) >(m_row, m_col) = other; + if (OtherDerived::SizeAtCompileTime != Dynamic) + m_matrix.block + (m_row, m_col) = other; else m_matrix.block(m_row, m_col, other.rows(), other.cols()) = other; m_col += other.cols(); -- cgit v1.2.3