From e5778b87b928b54a9f108f15ad0e56fdbbfec2f3 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 20 Nov 2019 17:23:19 +0100 Subject: Fix duplicate symbol linking error. --- Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h') diff --git a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h index d3a2f4ed5..8054e537a 100644 --- a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +++ b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h @@ -233,6 +233,10 @@ Packet pexp_float(const Packet _x) return pmax(pldexp(y,m), _x); } +// make it the default path for scalar float +template<> +inline float pexp(const float& a) { return pexp_float(a); } + template EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED @@ -301,6 +305,10 @@ Packet pexp_double(const Packet _x) return pmax(pldexp(x,fx), _x); } +// make it the default path for scalar double +template<> +inline double pexp(const double& a) { return pexp_double(a); } + // The following code is inspired by the following stack-overflow answer: // https://stackoverflow.com/questions/30463616/payne-hanek-algorithm-implementation-in-c/30465751#30465751 // It has been largely optimized: -- cgit v1.2.3