From e1075eda583fcb884ffbd4e85919d672b851edcb Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Wed, 21 Nov 2018 12:01:16 +0100 Subject: [PATCH] core: fix checking of dimensions --- include/eigenpy/details.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp index d725159f..b76357de 100644 --- a/include/eigenpy/details.hpp +++ b/include/eigenpy/details.hpp @@ -265,6 +265,19 @@ namespace eigenpy } } + if (PyArray_NDIM(obj_ptr) == 2) + { + const int R = (int)PyArray_DIMS(obj_ptr)[0]; + const int C = (int)PyArray_DIMS(obj_ptr)[1]; + + if( (MatType::RowsAtCompileTime!=R) + && (MatType::RowsAtCompileTime!=Eigen::Dynamic) ) + return 0; + if( (MatType::ColsAtCompileTime!=C) + && (MatType::ColsAtCompileTime!=Eigen::Dynamic) ) + return 0; + } + // Check if the Scalar type of the obj_ptr is compatible with the Scalar type of MatType if ((PyArray_ObjectType(reinterpret_cast<PyObject *>(obj_ptr), 0)) == NPY_INT) { -- GitLab