Fix duplicate symbol linking error.

This commit is contained in:
Gael Guennebaud 2019-11-20 17:23:19 +01:00
parent 8c8cab1afd
commit e5778b87b9

View File

@ -233,6 +233,10 @@ Packet pexp_float(const Packet _x)
return pmax(pldexp(y,m), _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 <typename Packet> template <typename Packet>
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
EIGEN_UNUSED EIGEN_UNUSED
@ -301,6 +305,10 @@ Packet pexp_double(const Packet _x)
return pmax(pldexp(x,fx), _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: // The following code is inspired by the following stack-overflow answer:
// https://stackoverflow.com/questions/30463616/payne-hanek-algorithm-implementation-in-c/30465751#30465751 // https://stackoverflow.com/questions/30463616/payne-hanek-algorithm-implementation-in-c/30465751#30465751
// It has been largely optimized: // It has been largely optimized: