From 5c0f294098f628439cf9341edb286d92f7fa138b Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 10 Mar 2014 09:28:00 +0100 Subject: Fix evaluators unit test (i.e., when only EIGEN_ENABLE_EVALUATORS is defined --- Eigen/src/Core/GeneralProduct.h | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'Eigen/src/Core/GeneralProduct.h') diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h index c37526b72..f28d2e46c 100644 --- a/Eigen/src/Core/GeneralProduct.h +++ b/Eigen/src/Core/GeneralProduct.h @@ -353,10 +353,13 @@ template struct traits > : traits, Lhs, Rhs> > {}; -#endif - template struct gemv_selector; +#endif +#ifdef EIGEN_ENABLE_EVALUATORS +template +struct gemv_dense_sense_selector; +#endif } // end namespace internal @@ -594,23 +597,25 @@ template<> struct gemv_selector } }; -#else // EIGEN_TEST_EVALUATORS +#endif // EIGEN_TEST_EVALUATORS + +#ifdef EIGEN_ENABLE_EVALUATORS // The vector is on the left => transposition template -struct gemv_selector +struct gemv_dense_sense_selector { template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { Transpose destT(dest); enum { OtherStorageOrder = StorageOrder == RowMajor ? ColMajor : RowMajor }; - gemv_selector + gemv_dense_sense_selector ::run(rhs.transpose(), lhs.transpose(), destT, alpha); } }; -template<> struct gemv_selector +template<> struct gemv_dense_sense_selector { template static inline void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) @@ -685,7 +690,7 @@ template<> struct gemv_selector } }; -template<> struct gemv_selector +template<> struct gemv_dense_sense_selector { template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) @@ -737,7 +742,7 @@ template<> struct gemv_selector } }; -template<> struct gemv_selector +template<> struct gemv_dense_sense_selector { template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) @@ -750,7 +755,7 @@ template<> struct gemv_selector } }; -template<> struct gemv_selector +template<> struct gemv_dense_sense_selector { template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) @@ -763,7 +768,7 @@ template<> struct gemv_selector } }; -#endif // EIGEN_TEST_EVALUATORS +#endif // EIGEN_ENABLE_EVALUATORS } // end namespace internal -- cgit v1.2.3