Add general Inverse<> expression with evaluator

This commit is contained in:
Gael Guennebaud
2014-02-20 14:18:24 +01:00
parent 2eee6eaf3c
commit ecd2c8f37b
5 changed files with 163 additions and 5 deletions

View File

@@ -412,8 +412,13 @@ template<typename Derived> class MatrixBase
}
#endif
#ifdef EIGEN_TEST_EVALUATORS
EIGEN_DEVICE_FUNC
const Inverse<Derived> inverse() const;
#else
EIGEN_DEVICE_FUNC
const internal::inverse_impl<Derived> inverse() const;
#endif
template<typename ResultType>
void computeInverseAndDetWithCheck(
ResultType& inverse,

View File

@@ -7,8 +7,8 @@
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_INVERSE_H
#define EIGEN_INVERSE_H
#ifndef EIGEN_SOLVE_H
#define EIGEN_SOLVE_H
namespace Eigen {
@@ -81,7 +81,7 @@ protected:
};
// Specilaization of the Solve expression for dense results
// Specialization of the Solve expression for dense results
template<typename Decomposition, typename RhsType>
class SolveImpl<Decomposition,RhsType,Dense>
: public MatrixBase<Solve<Decomposition,RhsType> >

View File

@@ -96,6 +96,7 @@ template<typename BinaryOp, typename Lhs, typename Rhs> class CwiseBinaryOp;
template<typename BinOp, typename Lhs, typename Rhs> class SelfCwiseBinaryOp; // TODO deprecated
template<typename Derived, typename Lhs, typename Rhs> class ProductBase; // TODO deprecated
template<typename Decomposition, typename Rhstype> class Solve;
template<typename XprType> class Inverse;
namespace internal {
template<typename Lhs, typename Rhs> struct product_tag;