diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp index 65b2103cf4f602ee158ef701388c5f609af6f697..1cbe269f45c8deca4f0618abcb8fa5a0c4a04d91 100644 --- a/include/eigenpy/details.hpp +++ b/include/eigenpy/details.hpp @@ -119,6 +119,28 @@ namespace eigenpy { return getInstance().CurrentNumpyType; } + + static const PyTypeObject * getNumpyMatrixType() + { + return getInstance().NumpyMatrixType; + } + + static const PyTypeObject * getNumpyArrayType() + { + return getInstance().NumpyArrayType; + } + + static bool isMatrix() + { + return PyType_IsSubtype(reinterpret_cast<PyTypeObject*>(getInstance().CurrentNumpyType.ptr()), + getInstance().NumpyMatrixType); + } + + static bool isArray() + { + return PyType_IsSubtype(reinterpret_cast<PyTypeObject*>(getInstance().CurrentNumpyType.ptr()), + getInstance().NumpyArrayType); + } protected: NumpyType()