From e6e910d0f855a9466e84bec1aa0fab9aa4f4648b Mon Sep 17 00:00:00 2001
From: Justin Carpentier <justin.carpentier@inria.fr>
Date: Fri, 15 Nov 2019 21:06:04 +0100
Subject: [PATCH] core: add isScalarConvertible

---
 include/eigenpy/details.hpp | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp
index 222b361..d727910 100644
--- a/include/eigenpy/details.hpp
+++ b/include/eigenpy/details.hpp
@@ -346,6 +346,27 @@ namespace eigenpy
   template<typename MatType>
   struct EigenFromPy
   {
+    
+    static bool isScalarConvertible(const int np_type)
+    {
+      if(NumpyEquivalentType<typename MatType::Scalar>::type_code == np_type)
+        return true;
+      
+      switch(np_type)
+      {
+        case NPY_INT:
+          return FromTypeToType<int,typename MatType::Scalar>::value;
+        case NPY_LONG:
+          return FromTypeToType<long,typename MatType::Scalar>::value;
+        case NPY_FLOAT:
+          return FromTypeToType<float,typename MatType::Scalar>::value;
+        case NPY_DOUBLE:
+          return FromTypeToType<double,typename MatType::Scalar>::value;
+        default:
+          return false;
+      }
+    }
+    
     /// \brief Determine if pyObj can be converted into a MatType object
     static void* convertible(PyArrayObject* pyArray)
     {
-- 
GitLab