From d3ef7cf03ed080fb5b35045b73812bb34c6119a3 Mon Sep 17 00:00:00 2001 From: Rasmus Munk Larsen Date: Thu, 9 May 2019 11:07:04 -0700 Subject: Fix build with clang on Windows. --- Eigen/src/Core/functors/UnaryFunctors.h | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'Eigen') diff --git a/Eigen/src/Core/functors/UnaryFunctors.h b/Eigen/src/Core/functors/UnaryFunctors.h index 7da1ccb9e..56522a38f 100644 --- a/Eigen/src/Core/functors/UnaryFunctors.h +++ b/Eigen/src/Core/functors/UnaryFunctors.h @@ -904,16 +904,6 @@ struct scalar_logistic_op { return pdiv(one, padd(one, pexp(pnegate(x)))); } }; -template -struct functor_traits > { - enum { - Cost = NumTraits::AddCost * 2 + NumTraits::MulCost * 6 + - scalar_div_cost::HasDiv>::value + - functor_traits >::Cost, - PacketAccess = packet_traits::HasAdd && packet_traits::HasDiv && - packet_traits::HasNegate && packet_traits::HasExp - }; -}; /** \internal * \brief Template specialization of the logistic function for float. @@ -978,15 +968,20 @@ struct scalar_logistic_op { } }; -template <> -struct functor_traits > { +template +struct functor_traits > { enum { - Cost = NumTraits::AddCost * 12 + NumTraits::MulCost * 11 + - scalar_div_cost::HasDiv>::value, - PacketAccess = packet_traits::HasAdd && - packet_traits::HasMul && - packet_traits::HasDiv && - packet_traits::HasMax && packet_traits::HasMin + Cost = scalar_div_cost::HasDiv>::value + + (internal::is_same::value + ? NumTraits::AddCost * 12 + NumTraits::MulCost * 11 + : NumTraits::AddCost * 2 + + functor_traits >::Cost), + PacketAccess = + packet_traits::HasAdd && packet_traits::HasDiv && + (internal::is_same::value + ? packet_traits::HasMul && packet_traits::HasMax && + packet_traits::HasMin + : packet_traits::HasNegate && packet_traits::HasExp) }; }; -- cgit v1.2.3