diff options
author | 2009-12-10 22:00:35 +0100 | |
---|---|---|
committer | 2009-12-10 22:00:35 +0100 | |
commit | 7caf751fddf51aacb1a2fbea8f2a92bd3492b0e1 (patch) | |
tree | 2936cb411e9cbc9f92da91f9d53c886530e7b1e3 /Eigen/src/Core | |
parent | 8e05f9cfa1538d76a9d3e01e08ba565bd581806a (diff) |
adapt select, replicate and reverse
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/DenseBase.h | 1 | ||||
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 24 | ||||
-rw-r--r-- | Eigen/src/Core/util/XprHelper.h | 2 |
3 files changed, 3 insertions, 24 deletions
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index d4808cf06..58312e120 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -37,6 +37,7 @@ */ template<typename Derived> class DenseBase #ifndef EIGEN_PARSED_BY_DOXYGEN +// : public AnyMatrixBase<Derived> : public ei_special_scalar_op_base<Derived,typename ei_traits<Derived>::Scalar, typename NumTraits<typename ei_traits<Derived>::Scalar>::Real> #endif // not EIGEN_PARSED_BY_DOXYGEN diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 9cb13cf9b..4c03bfe24 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -61,8 +61,7 @@ template<typename Derived> class MatrixBase /** Construct the base class type for the derived class OtherDerived */ template <typename OtherDerived> struct MakeBase { typedef MatrixBase<OtherDerived> Type; }; - using ei_special_scalar_op_base<Derived,typename ei_traits<Derived>::Scalar, - typename NumTraits<typename ei_traits<Derived>::Scalar>::Real>::operator*; +// using DenseBase<Derived>::operator*; class InnerIterator; @@ -442,29 +441,8 @@ template<typename Derived> class MatrixBase const VectorwiseOp<Derived,Vertical> colwise() const; VectorwiseOp<Derived,Vertical> colwise(); - template<typename ThenDerived,typename ElseDerived> - const Select<Derived,ThenDerived,ElseDerived> - select(const MatrixBase<ThenDerived>& thenMatrix, - const MatrixBase<ElseDerived>& elseMatrix) const; - - template<typename ThenDerived> - inline const Select<Derived,ThenDerived, NestByValue<typename ThenDerived::ConstantReturnType> > - select(const MatrixBase<ThenDerived>& thenMatrix, typename ThenDerived::Scalar elseScalar) const; - - template<typename ElseDerived> - inline const Select<Derived, NestByValue<typename ElseDerived::ConstantReturnType>, ElseDerived > - select(typename ElseDerived::Scalar thenScalar, const MatrixBase<ElseDerived>& elseMatrix) const; - template<int p> RealScalar lpNorm() const; - template<int RowFactor, int ColFactor> - const Replicate<Derived,RowFactor,ColFactor> replicate() const; - const Replicate<Derived,Dynamic,Dynamic> replicate(int rowFacor,int colFactor) const; - - Eigen::Reverse<Derived, BothDirections> reverse(); - const Eigen::Reverse<Derived, BothDirections> reverse() const; - void reverseInPlace(); - ArrayWrapper<Derived> array() { return derived(); } const ArrayWrapper<Derived> array() const { return derived(); } diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 5e37194f3..6b9dbc781 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -237,7 +237,7 @@ struct ei_special_scalar_op_base<Derived,Scalar,OtherScalar,true> : public AnyM inline friend const CwiseUnaryOp<ei_scalar_multiple2_op<Scalar,OtherScalar>, Derived> operator*(const OtherScalar& scalar, const Derived& matrix) - { return matrix*scalar; } + { return static_cast<const ei_special_scalar_op_base&>(matrix).operator*(scalar); } }; /** \internal Gives the type of a sub-matrix or sub-vector of a matrix of type \a ExpressionType and size \a Size |