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