diff options
author | Thomas Capricelli <orzel@freehackers.org> | 2010-07-01 03:23:47 +0200 |
---|---|---|
committer | Thomas Capricelli <orzel@freehackers.org> | 2010-07-01 03:23:47 +0200 |
commit | 2874101b62f96f1654457eb37ad312799f828dfd (patch) | |
tree | a08f7a7ba15b74f50ddf84312acd85947880d844 /Eigen/src/Core/TriangularMatrix.h | |
parent | 04648becf7bb0a4e87294b9f7e3c73609ebaa55a (diff) |
fix compilation with icc. Anyway, the use of an enum instead of a
'const bool' is more consistent with the code around.
Diffstat (limited to 'Eigen/src/Core/TriangularMatrix.h')
-rw-r--r-- | Eigen/src/Core/TriangularMatrix.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index a4d210cad..1151c38af 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -545,10 +545,12 @@ template<typename MatrixType, unsigned int Mode> template<typename OtherDerived> void TriangularView<MatrixType, Mode>::lazyAssign(const TriangularBase<OtherDerived>& other) { - const bool unroll = MatrixType::SizeAtCompileTime != Dynamic + enum { + unroll = = MatrixType::SizeAtCompileTime != Dynamic && ei_traits<OtherDerived>::CoeffReadCost != Dynamic && MatrixType::SizeAtCompileTime * ei_traits<OtherDerived>::CoeffReadCost / 2 - <= EIGEN_UNROLLING_LIMIT; + <= EIGEN_UNROLLING_LIMIT + }; ei_assert(m_matrix.rows() == other.rows() && m_matrix.cols() == other.cols()); ei_triangular_assignment_selector @@ -584,10 +586,12 @@ template<typename Derived> template<typename DenseDerived> void TriangularBase<Derived>::evalToLazy(MatrixBase<DenseDerived> &other) const { - const bool unroll = DenseDerived::SizeAtCompileTime != Dynamic + enum { + unroll = DenseDerived::SizeAtCompileTime != Dynamic && ei_traits<Derived>::CoeffReadCost != Dynamic && DenseDerived::SizeAtCompileTime * ei_traits<Derived>::CoeffReadCost / 2 - <= EIGEN_UNROLLING_LIMIT; + <= EIGEN_UNROLLING_LIMIT + }; ei_assert(this->rows() == other.rows() && this->cols() == other.cols()); ei_triangular_assignment_selector |