Skip to content

Commit

Permalink
Gridmap on Win (#80)
Browse files Browse the repository at this point in the history
* grid_map on win
  • Loading branch information
Tobias-Fischer authored Mar 16, 2021
1 parent 7596a94 commit 1ff8586
Show file tree
Hide file tree
Showing 4 changed files with 575 additions and 8 deletions.
8 changes: 7 additions & 1 deletion conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,13 @@ pcl:
- 1.11.1
# tbb pinned on Windows due to https://stackoverflow.com/questions/64510477/error-c2061-syntax-error-identifier-concurrent-vectortemplate-type-paramet
# tbb pinned on Unix due to https://github.com/conda-forge/gazebo-feedstock/issues/57
tbb-devel :
tbb:
- 2019.9 # [win]
- 2020.2 # [not win]
tbb-devel:
- 2019.9 # [win]
- 2020.2 # [not win]
tbb_devel:
- 2019.9 # [win]
- 2020.2 # [not win]

Expand Down
43 changes: 43 additions & 0 deletions patch/ros-noetic-grid-map-core.win.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,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);
}
};
Loading

0 comments on commit 1ff8586

Please sign in to comment.