aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Rasmus Munk Larsen <rmlarsen@google.com>2019-11-26 16:18:29 -0800
committerGravatar Rasmus Munk Larsen <rmlarsen@google.com>2019-11-26 16:18:29 -0800
commit5a3ebda36b17f8de0efd0459515f4fa1050184ec (patch)
treeaa068bec60175487917c84102f7cd7cd7b1bdda5
parent2df57be856cbf7797d6d3b38fdcc886521926899 (diff)
Fix warning due to missing cast for exponent arguments for std::frexp and std::lexp.
-rw-r--r--Eigen/src/Core/GenericPacketMath.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
index d2c2027ff..8ffc684f2 100644
--- a/Eigen/src/Core/GenericPacketMath.h
+++ b/Eigen/src/Core/GenericPacketMath.h
@@ -244,14 +244,19 @@ pshiftleft(const long int& a) { return a << N; }
/** \internal \returns the significant and exponent of the underlying floating point numbers
* See https://en.cppreference.com/w/cpp/numeric/math/frexp
*/
-template<typename Packet> EIGEN_DEVICE_FUNC inline Packet
-pfrexp(const Packet &a, Packet &exponent) { return std::frexp(a,&exponent); }
+template <typename Packet>
+EIGEN_DEVICE_FUNC inline Packet pfrexp(const Packet& a, Packet& exponent) {
+ int exp;
+ Packet result = std::frexp(a, &exp);
+ exponent = static_cast<Packet>(exp);
+ return result;
+}
/** \internal \returns a * 2^exponent
* See https://en.cppreference.com/w/cpp/numeric/math/ldexp
*/
template<typename Packet> EIGEN_DEVICE_FUNC inline Packet
-pldexp(const Packet &a, const Packet &exponent) { return std::ldexp(a,exponent); }
+pldexp(const Packet &a, const Packet &exponent) { return std::ldexp(a, static_cast<int>(exponent)); }
/** \internal \returns zeros */
template<typename Packet> EIGEN_DEVICE_FUNC inline Packet
@@ -259,7 +264,7 @@ pzero(const Packet& a) { return pxor(a,a); }
template<> EIGEN_DEVICE_FUNC inline float pzero<float>(const float& a) {
EIGEN_UNUSED_VARIABLE(a);
- return 0.;
+ return 0.f;
}
template<> EIGEN_DEVICE_FUNC inline double pzero<double>(const double& a) {