diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-12-01 14:38:47 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-12-01 14:38:47 +0100 |
commit | 0bb12fa61437e55ce563d076938593bebff7f0fc (patch) | |
tree | 0b78b95457df64d4addd62b77899d0d645e59e53 /Eigen/src/Core/Inverse.h | |
parent | 1663d15da7daf6cea77b6d0072849e77428db7a4 (diff) |
Add LU::transpose().solve() and LU::adjoint().solve() API.
Diffstat (limited to 'Eigen/src/Core/Inverse.h')
-rw-r--r-- | Eigen/src/Core/Inverse.h | 24 |
1 files changed, 8 insertions, 16 deletions
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<XprType>::type XprTypeNested; typedef typename internal::remove_all<XprTypeNested>::type XprTypeNestedCleaned; typedef typename internal::ref_selector<Inverse>::type Nested; + typedef typename internal::remove_all<XprType>::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<typename XprType> -class InverseImpl<XprType,Dense> - : public MatrixBase<Inverse<XprType> > +// Generic API dispatcher +template<typename XprType, typename StorageKind> +class InverseImpl + : public internal::generic_xpr_base<Inverse<XprType> >::type { - typedef Inverse<XprType> Derived; - public: - - typedef MatrixBase<Derived> Base; - EIGEN_DENSE_PUBLIC_INTERFACE(Derived) - typedef typename internal::remove_all<XprType>::type NestedExpression; - + typedef typename internal::generic_xpr_base<Inverse<XprType> >::type Base; + typedef typename XprType::Scalar Scalar; private: - + Scalar coeff(Index row, Index col) const; Scalar coeff(Index i) const; }; |