-
-
Notifications
You must be signed in to change notification settings - Fork 74
/
Copy pathros-noetic-grid-map-core.win.patch
43 lines (43 loc) · 1.92 KB
/
ros-noetic-grid-map-core.win.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
diff --git a/include/grid_map_core/eigen_plugins/FunctorsPlugin.hpp b/include/grid_map_core/eigen_plugins/FunctorsPlugin.hpp
index 79dcdd66..3d467a5c 100644
--- a/include/grid_map_core/eigen_plugins/FunctorsPlugin.hpp
+++ b/include/grid_map_core/eigen_plugins/FunctorsPlugin.hpp
@@ -4,9 +4,9 @@ template<typename Scalar> struct scalar_sum_of_finites_op {
EIGEN_EMPTY_STRUCT_CTOR(scalar_sum_of_finites_op)
EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const {
using std::isfinite;
- if (isfinite(a) && isfinite(b)) return a + b;
- if (isfinite(a)) return a;
- if (isfinite(b)) return b;
+ if (isfinite(static_cast<double>(a)) && isfinite(static_cast<double>(b))) return a + b;
+ if (isfinite(static_cast<double>(a))) return a;
+ if (isfinite(static_cast<double>(b))) return b;
return a + b;
}
};
@@ -24,9 +24,9 @@ struct scalar_min_of_finites_op {
EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const {
using std::min;
using std::isfinite;
- if (isfinite(a) && isfinite(b)) return (min)(a, b);
- if (isfinite(a)) return a;
- if (isfinite(b)) return b;
+ if (isfinite(static_cast<double>(a)) && isfinite(static_cast<double>(b))) return (min)(a, b);
+ if (isfinite(static_cast<double>(a))) return a;
+ if (isfinite(static_cast<double>(b))) return b;
return (min)(a, b);
}
};
@@ -44,9 +44,9 @@ struct scalar_max_of_finites_op {
EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a, const Scalar& b) const {
using std::max;
using std::isfinite;
- if (isfinite(a) && isfinite(b)) return (max)(a, b);
- if (isfinite(a)) return a;
- if (isfinite(b)) return b;
+ if (isfinite(static_cast<double>(a)) && isfinite(static_cast<double>(b))) return (max)(a, b);
+ if (isfinite(static_cast<double>(a))) return a;
+ if (isfinite(static_cast<double>(b))) return b;
return (max)(a, b);
}
};