aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Inverse.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-12-01 14:38:47 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-12-01 14:38:47 +0100
commit0bb12fa61437e55ce563d076938593bebff7f0fc (patch)
tree0b78b95457df64d4addd62b77899d0d645e59e53 /Eigen/src/Core/Inverse.h
parent1663d15da7daf6cea77b6d0072849e77428db7a4 (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.h24
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;
};