aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Inverse.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-06-20 15:39:38 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-06-20 15:39:38 +0200
commit78bb80833708615c330659d9b64870b19185df37 (patch)
tree15976a9b6efcf2e9a63b8ed9136737a2006fc527 /Eigen/src/Core/Inverse.h
parent0a6c472335b593a227c3adbcf1d770187449a30f (diff)
1- Introduce sub-evaluator types for unary, binary, product, and map expressions to ease specializing them.
2- Remove a lot of code which should not be there with evaluators, in particular coeff/packet methods implemented in the expressions.
Diffstat (limited to 'Eigen/src/Core/Inverse.h')
-rw-r--r--Eigen/src/Core/Inverse.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Eigen/src/Core/Inverse.h b/Eigen/src/Core/Inverse.h
index 57eaf99f1..788d0664d 100644
--- a/Eigen/src/Core/Inverse.h
+++ b/Eigen/src/Core/Inverse.h
@@ -81,6 +81,7 @@ public:
typedef MatrixBase<Derived> Base;
EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
+ typedef typename internal::remove_all<XprType>::type NestedExpression;
private:
@@ -101,19 +102,19 @@ namespace internal {
* \sa class Inverse
*/
template<typename XprType>
-struct evaluator<Inverse<XprType> >
+struct unary_evaluator<Inverse<XprType> >
: public evaluator<typename Inverse<XprType>::PlainObject>::type
{
typedef Inverse<XprType> InverseType;
typedef typename InverseType::PlainObject PlainObject;
typedef typename evaluator<PlainObject>::type Base;
- typedef evaluator type;
- typedef evaluator nestedType;
+ typedef evaluator<XprType> type;
+ typedef evaluator<XprType> nestedType;
enum { Flags = Base::Flags | EvalBeforeNestingBit };
- evaluator(const InverseType& inv_xpr)
+ unary_evaluator(const InverseType& inv_xpr)
: m_result(inv_xpr.rows(), inv_xpr.cols())
{
::new (static_cast<Base*>(this)) Base(m_result);