diff --git a/Eigen/Core b/Eigen/Core index 45ab7f5d3..c32fb5c98 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -358,7 +358,6 @@ using std::ptrdiff_t; #include "src/Core/NestByValue.h" // #include "src/Core/ForceAlignedAccess.h" -// #include "src/Core/Flagged.h" #include "src/Core/ReturnByValue.h" #include "src/Core/NoAlias.h" diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index 50922a679..a820e23c0 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -317,7 +317,7 @@ template class DenseBase EIGEN_DEVICE_FUNC CommaInitializer operator<< (const Scalar& s); - // TODO flagged is temporarly disabled. It seems useless now + /** \deprecated it now returns \c *this */ template EIGEN_DEPRECATED const Derived& flagged() const diff --git a/Eigen/src/Core/Flagged.h b/Eigen/src/Core/Flagged.h deleted file mode 100644 index 8fa904271..000000000 --- a/Eigen/src/Core/Flagged.h +++ /dev/null @@ -1,139 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2008 Benoit Jacob -// -// This Source Code Form is subject to the terms of the Mozilla -// 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_FLAGGED_H -#define EIGEN_FLAGGED_H - -namespace Eigen { - -/** \class Flagged - * \ingroup Core_Module - * - * \brief Expression with modified flags - * - * \param ExpressionType the type of the object of which we are modifying the flags - * \param Added the flags added to the expression - * \param Removed the flags removed from the expression (has priority over Added). - * - * This class represents an expression whose flags have been modified. - * It is the return type of MatrixBase::flagged() - * and most of the time this is the only way it is used. - * - * \sa MatrixBase::flagged() - */ - -namespace internal { -template -struct traits > : traits -{ - enum { Flags = (ExpressionType::Flags | Added) & ~Removed }; -}; -} - -template class Flagged - : public MatrixBase > -{ - public: - - typedef MatrixBase Base; - - EIGEN_DENSE_PUBLIC_INTERFACE(Flagged) - typedef typename internal::ref_selector::type ExpressionTypeNested; - typedef typename ExpressionType::InnerIterator InnerIterator; - - explicit inline Flagged(const ExpressionType& matrix) : m_matrix(matrix) {} - - EIGEN_DEVICE_FUNC inline Index rows() const { return m_matrix.rows(); } - EIGEN_DEVICE_FUNC inline Index cols() const { return m_matrix.cols(); } - EIGEN_DEVICE_FUNC inline Index outerStride() const { return m_matrix.outerStride(); } - EIGEN_DEVICE_FUNC inline Index innerStride() const { return m_matrix.innerStride(); } - - EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index row, Index col) const - { - return m_matrix.coeff(row, col); - } - - EIGEN_DEVICE_FUNC inline CoeffReturnType coeff(Index index) const - { - return m_matrix.coeff(index); - } - - EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index row, Index col) const - { - return m_matrix.const_cast_derived().coeffRef(row, col); - } - - EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index index) const - { - return m_matrix.const_cast_derived().coeffRef(index); - } - - EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index row, Index col) - { - return m_matrix.const_cast_derived().coeffRef(row, col); - } - - EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) - { - return m_matrix.const_cast_derived().coeffRef(index); - } - - template - inline const PacketScalar packet(Index row, Index col) const - { - return m_matrix.template packet(row, col); - } - - template - inline void writePacket(Index row, Index col, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket(row, col, x); - } - - template - inline const PacketScalar packet(Index index) const - { - return m_matrix.template packet(index); - } - - template - inline void writePacket(Index index, const PacketScalar& x) - { - m_matrix.const_cast_derived().template writePacket(index, x); - } - - EIGEN_DEVICE_FUNC const ExpressionType& _expression() const { return m_matrix; } - - template - EIGEN_DEVICE_FUNC typename ExpressionType::PlainObject solveTriangular(const MatrixBase& other) const; - - template - EIGEN_DEVICE_FUNC void solveTriangularInPlace(const MatrixBase& other) const; - - protected: - ExpressionTypeNested m_matrix; -}; - -/** \returns an expression of *this with added and removed flags - * - * This is mostly for internal use. - * - * \sa class Flagged - */ -template -template -inline const Flagged -DenseBase::flagged() const -{ - return Flagged(derived()); -} - -} // end namespace Eigen - -#endif // EIGEN_FLAGGED_H diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h index 7221d89a6..ce1b70d23 100644 --- a/Eigen/src/Core/Matrix.h +++ b/Eigen/src/Core/Matrix.h @@ -140,7 +140,6 @@ template > { private: - // TODO find ideal packet size enum { size = internal::size_at_compile_time<_Rows,_Cols>::ret }; typedef typename find_best_packet<_Scalar,size>::type PacketScalar; enum {