mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
big refactoring in Product.h:
- all specialized products now inherits ProductBase - the default product evaluated by Assign is still here, but it is currently enabled for small fixed sizes only - => this significantly speed up compilation for large matrices - I left the OuterProduct specialization empty as an exercise...
This commit is contained in:
@@ -339,13 +339,6 @@ class Matrix
|
||||
return Base::operator=(func);
|
||||
}
|
||||
|
||||
template<typename ProductDerived, typename Lhs, typename Rhs>
|
||||
EIGEN_STRONG_INLINE Matrix& operator=(const ProductBase<ProductDerived,Lhs,Rhs>& other)
|
||||
{
|
||||
resize(other.rows(), other.cols());
|
||||
return Base::operator=(other);
|
||||
}
|
||||
|
||||
using Base::operator +=;
|
||||
using Base::operator -=;
|
||||
using Base::operator *=;
|
||||
@@ -452,14 +445,6 @@ class Matrix
|
||||
other.evalTo(*this);
|
||||
}
|
||||
|
||||
template<typename ProductDerived, typename Lhs, typename Rhs>
|
||||
EIGEN_STRONG_INLINE Matrix(const ProductBase<ProductDerived,Lhs,Rhs>& other)
|
||||
{
|
||||
_check_template_params();
|
||||
resize(other.rows(), other.cols());
|
||||
other.evalTo(*this);
|
||||
}
|
||||
|
||||
/** Destructor */
|
||||
inline ~Matrix() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user