From 6fc54382058350a4247989f82f3ad1af1ba41d7d Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 19 Jun 2015 17:06:12 +0200 Subject: [PATCH] Remove a few deprecated internal expressions --- Eigen/Core | 1 - Eigen/src/Core/MatrixBase.h | 4 --- Eigen/src/Core/ProductBase.h | 27 ------------------- Eigen/src/Core/ProductEvaluators.h | 4 +-- Eigen/src/Core/Transpose.h | 8 ------ Eigen/src/Core/products/GeneralMatrixMatrix.h | 7 +---- Eigen/src/Core/util/Constants.h | 2 +- Eigen/src/Core/util/ForwardDeclarations.h | 5 ---- 8 files changed, 4 insertions(+), 54 deletions(-) delete mode 100644 Eigen/src/Core/ProductBase.h diff --git a/Eigen/Core b/Eigen/Core index 80d7c1a69..de94b5b75 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -377,7 +377,6 @@ using std::ptrdiff_t; #include "src/Core/IO.h" #include "src/Core/Swap.h" #include "src/Core/CommaInitializer.h" -#include "src/Core/ProductBase.h" #include "src/Core/GeneralProduct.h" #include "src/Core/Solve.h" #include "src/Core/Inverse.h" diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 81b900eee..1686933e4 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -164,10 +164,6 @@ template class MatrixBase EIGEN_DEVICE_FUNC Derived& operator=(const ReturnByValue& other); - template - EIGEN_DEVICE_FUNC - Derived& lazyAssign(const ProductBase& other); - template EIGEN_DEVICE_FUNC Derived& operator+=(const MatrixBase& other); diff --git a/Eigen/src/Core/ProductBase.h b/Eigen/src/Core/ProductBase.h deleted file mode 100644 index 050343b2d..000000000 --- a/Eigen/src/Core/ProductBase.h +++ /dev/null @@ -1,27 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2009-2010 Gael Guennebaud -// -// 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_PRODUCTBASE_H -#define EIGEN_PRODUCTBASE_H - -namespace Eigen { - -/** \internal - * Overloaded to perform an efficient C = (A*B).lazy() */ -template -template -Derived& MatrixBase::lazyAssign(const ProductBase& other) -{ - other.derived().evalTo(derived()); - return derived(); -} - -} // end namespace Eigen - -#endif // EIGEN_PRODUCTBASE_H diff --git a/Eigen/src/Core/ProductEvaluators.h b/Eigen/src/Core/ProductEvaluators.h index 3cf7c0e16..ee87da66d 100644 --- a/Eigen/src/Core/ProductEvaluators.h +++ b/Eigen/src/Core/ProductEvaluators.h @@ -109,7 +109,6 @@ struct product_evaluator, ProductTag, LhsShape, RhsSh typedef typename evaluator::type Base; enum { Flags = Base::Flags | EvalBeforeNestingBit -// CoeffReadCost = 0 // FIXME why is it needed? (this was already the case before the evaluators, see traits) }; EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr) @@ -117,7 +116,8 @@ struct product_evaluator, ProductTag, LhsShape, RhsSh { ::new (static_cast(this)) Base(m_result); -// FIXME shall we handle nested_eval here? +// FIXME shall we handle nested_eval here?, +// if so, then we must take care at removing the call to nested_eval in the specializations (e.g., in permutation_matrix_product, transposition_matrix_product, etc.) // typedef typename internal::nested_eval::type LhsNested; // typedef typename internal::nested_eval::type RhsNested; // typedef typename internal::remove_all::type LhsNestedCleaned; diff --git a/Eigen/src/Core/Transpose.h b/Eigen/src/Core/Transpose.h index 7221ee03e..576411600 100644 --- a/Eigen/src/Core/Transpose.h +++ b/Eigen/src/Core/Transpose.h @@ -317,14 +317,6 @@ inline void MatrixBase::adjointInPlace() namespace internal { -template -struct blas_traits > - : blas_traits -{ - typedef SelfCwiseBinaryOp XprType; - static inline const XprType extract(const XprType& x) { return x; } -}; - template struct check_transpose_aliasing_compile_time_selector { diff --git a/Eigen/src/Core/products/GeneralMatrixMatrix.h b/Eigen/src/Core/products/GeneralMatrixMatrix.h index 7fd707ed7..e2d6a8ba2 100644 --- a/Eigen/src/Core/products/GeneralMatrixMatrix.h +++ b/Eigen/src/Core/products/GeneralMatrixMatrix.h @@ -204,15 +204,10 @@ static void run(Index rows, Index cols, Index depth, }; /********************************************************************************* -* Specialization of GeneralProduct<> for "large" GEMM, i.e., +* Specialization of generic_product_impl for "large" GEMM, i.e., * implementation of the high level wrapper to general_matrix_matrix_product **********************************************************************************/ -template -struct traits > - : traits, Lhs, Rhs> > -{}; - template struct gemm_functor { diff --git a/Eigen/src/Core/util/Constants.h b/Eigen/src/Core/util/Constants.h index c5a0b0930..93c0786fa 100644 --- a/Eigen/src/Core/util/Constants.h +++ b/Eigen/src/Core/util/Constants.h @@ -452,7 +452,7 @@ namespace Architecture } /** \internal \ingroup enums - * Enum used as template parameter in GeneralProduct. */ + * Enum used as template parameter in Product and product evalautors. */ enum { DefaultProduct=0, LazyProduct, AliasFreeProduct, CoeffBasedProductMode, LazyCoeffBasedProductMode, OuterProduct, InnerProduct, GemvProduct, GemmProduct }; /** \internal \ingroup enums diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index b5ad2c6f2..c287c1023 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -91,8 +91,6 @@ template class CwiseNullaryOp; template class CwiseUnaryOp; template class CwiseUnaryView; template class CwiseBinaryOp; -template class SelfCwiseBinaryOp; // TODO deprecated -template class ProductBase; // TODO deprecated template class Solve; template class Inverse; @@ -102,9 +100,6 @@ namespace internal { template class Product; -template class GeneralProduct; // TODO deprecated -template class CoeffBasedProduct; // TODO deprecated - template class DiagonalBase; template class DiagonalWrapper; template class DiagonalMatrix;