From 0bb12fa61437e55ce563d076938593bebff7f0fc Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 1 Dec 2015 14:38:47 +0100 Subject: Add LU::transpose().solve() and LU::adjoint().solve() API. --- Eigen/src/Core/Inverse.h | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'Eigen/src/Core/Inverse.h') diff --git a/Eigen/src/Core/Inverse.h b/Eigen/src/Core/Inverse.h index 8ba1a12d9..f3ec84990 100644 --- a/Eigen/src/Core/Inverse.h +++ b/Eigen/src/Core/Inverse.h @@ -48,6 +48,7 @@ public: typedef typename internal::ref_selector::type XprTypeNested; typedef typename internal::remove_all::type XprTypeNestedCleaned; typedef typename internal::ref_selector::type Nested; + typedef typename internal::remove_all::type NestedExpression; explicit Inverse(const XprType &xpr) : m_xpr(xpr) @@ -62,25 +63,16 @@ protected: XprTypeNested m_xpr; }; -/** \internal - * Specialization of the Inverse expression for dense expressions. - * Direct access to the coefficients are discared. - * FIXME this intermediate class is probably not needed anymore. - */ -template -class InverseImpl - : public MatrixBase > +// Generic API dispatcher +template +class InverseImpl + : public internal::generic_xpr_base >::type { - typedef Inverse Derived; - public: - - typedef MatrixBase Base; - EIGEN_DENSE_PUBLIC_INTERFACE(Derived) - typedef typename internal::remove_all::type NestedExpression; - + typedef typename internal::generic_xpr_base >::type Base; + typedef typename XprType::Scalar Scalar; private: - + Scalar coeff(Index row, Index col) const; Scalar coeff(Index i) const; }; -- cgit v1.2.3