diff --git a/cmake b/cmake index 4bf6c7fc970aa5ef35627f2c7cca79eb9275bec8..9296127f1fdfba0e34f3d0ecb6cb23ee220aa02a 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 4bf6c7fc970aa5ef35627f2c7cca79eb9275bec8 +Subproject commit 9296127f1fdfba0e34f3d0ecb6cb23ee220aa02a diff --git a/docker/ubuntu/Dockerfile b/docker/ubuntu/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..1cce334eeb046f7cb26fc1cba03c26acc49600b6 --- /dev/null +++ b/docker/ubuntu/Dockerfile @@ -0,0 +1,24 @@ +FROM ubuntu:22.04 + +RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -qqy \ + build-essential \ + cmake \ + cmake-curses-gui \ + vim \ + gdb \ + git \ + libboost-all-dev \ + libeigen3-dev \ + liburdfdom-dev \ + python3-numpy + +WORKDIR /src +RUN git clone --recursive -j2 -b devel https://github.com/stack-of-tasks/eigenpy + +ENV CTEST_OUTPUT_ON_FAILURE=ON +ENV CTEST_PROGRESS_OUTPUT=ON +ENV CTEST_PARALLEL_LEVEL=2 + +WORKDIR /src/eigenpy/build +RUN cmake -DPYTHON_EXECUTABLE=$(which python3) -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON .. +RUN make -sj2 diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp index a71c59f474a6482d6e6abc8d4434c03cd9abc7cb..e1bab2adebc08d5ff3b21f1589f6c2c68b5ed014 100644 --- a/include/eigenpy/details.hpp +++ b/include/eigenpy/details.hpp @@ -19,11 +19,12 @@ namespace eigenpy { template <typename EigenType, - typename BaseType = typename get_eigen_base_type<EigenType>::type> + typename BaseType = typename get_eigen_base_type<EigenType>::type, + typename Scalar = typename EigenType::Scalar> struct expose_eigen_type_impl; -template <typename MatType> -struct expose_eigen_type_impl<MatType, Eigen::MatrixBase<MatType> > { +template <typename MatType, typename Scalar> +struct expose_eigen_type_impl<MatType, Eigen::MatrixBase<MatType>, Scalar> { static void run() { if (check_registration<MatType>()) return; @@ -40,8 +41,9 @@ struct expose_eigen_type_impl<MatType, Eigen::MatrixBase<MatType> > { }; #ifdef EIGENPY_WITH_TENSOR_SUPPORT -template <typename TensorType> -struct expose_eigen_type_impl<TensorType, Eigen::TensorBase<TensorType> > { +template <typename TensorType, typename Scalar> +struct expose_eigen_type_impl<TensorType, Eigen::TensorBase<TensorType>, + Scalar> { static void run() { if (check_registration<TensorType>()) return;