From 5a6f4804fec060500644ce35dc659ca5bbf3a5d0 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Sat, 23 May 2020 09:52:10 +0200 Subject: [PATCH] test: test registration of a new type --- unittest/matrix.cpp | 12 ++++++++++++ unittest/python/test_matrix.py | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/unittest/matrix.cpp b/unittest/matrix.cpp index 84a116f1..b7cbc593 100644 --- a/unittest/matrix.cpp +++ b/unittest/matrix.cpp @@ -81,12 +81,22 @@ MatrixDerived base(const Eigen::MatrixBase<MatrixDerived> & m) return m.derived(); } +template<typename Scalar> +Eigen::Matrix<Scalar,6,6> matrix6(const Scalar & value) +{ + typedef Eigen::Matrix<Scalar,6,6> ReturnType; + return ReturnType::Constant(value); +} + BOOST_PYTHON_MODULE(matrix) { using namespace Eigen; namespace bp = boost::python; eigenpy::enableEigenPy(); + typedef Eigen::Matrix<double,6,6> Matrix6; + eigenpy::enableEigenPySpecific<Matrix6>(); + Eigen::MatrixXd (*naturalsXX)(int,int,bool) = naturals; Eigen::VectorXd (*naturalsX)(int,bool) = naturals; Eigen::Matrix3d (*naturals33)(bool) = naturals; @@ -108,4 +118,6 @@ BOOST_PYTHON_MODULE(matrix) bp::def("base", base<VectorXd>); bp::def("base", base<MatrixXd>); + + bp::def("matrix6", matrix6<double>); } diff --git a/unittest/python/test_matrix.py b/unittest/python/test_matrix.py index 18fce68e..5734eb92 100644 --- a/unittest/python/test_matrix.py +++ b/unittest/python/test_matrix.py @@ -126,3 +126,7 @@ assert(mat1x1[0,0] == value) vec1x1 = eigenpy.vector1x1(value) assert(vec1x1.size == 1) assert(vec1x1[0] == value) + +# test registration of matrix6 +mat6 = eigenpy.matrix6(0.) +assert(mat6.size == 36) -- GitLab