diff --git a/include/eigenpy/numpy.hpp b/include/eigenpy/numpy.hpp index 84c7575d7db74559b0807246e47279d1cf01b20e..8269136fccdc952696dc3139a772d05418ac1ff7 100644 --- a/include/eigenpy/numpy.hpp +++ b/include/eigenpy/numpy.hpp @@ -44,12 +44,13 @@ namespace eigenpy template <> struct NumpyEquivalentType<bool> { enum { type_code = NPY_BOOL };}; template <> struct NumpyEquivalentType<int> { enum { type_code = NPY_INT };}; template <> struct NumpyEquivalentType<unsigned int> { enum { type_code = NPY_UINT };}; -#if __APPLE__ - template <> struct NumpyEquivalentType<long> { enum { type_code = NPY_INT64 };}; -#endif + template <> struct NumpyEquivalentType<long> { enum { type_code = NPY_LONG };}; +//#if defined _WIN32 || defined __CYGWIN__ + template <> struct NumpyEquivalentType<long long> { enum { type_code = NPY_LONGLONG };}; +//#else +// template <> struct NumpyEquivalentType<long long> { enum { type_code = NPY_LONGLONG };}; +//#endif template <> struct NumpyEquivalentType<unsigned long> { enum { type_code = NPY_ULONG };}; - template <> struct NumpyEquivalentType<int64_t> { enum { type_code = NPY_INT64 };}; -// template <> struct NumpyEquivalentType<long long> { enum { type_code = NPY_LONGLONG };}; template<typename Scalar> bool isNumpyNativeType() diff --git a/unittest/user_type.cpp b/unittest/user_type.cpp index 46a34480dadf37e88d7ce2e7bacd95af68992de0..bad7bc042ae879d10c461a0906d6a8ff3b0f55da 100644 --- a/unittest/user_type.cpp +++ b/unittest/user_type.cpp @@ -196,16 +196,20 @@ BOOST_PYTHON_MODULE(user_type) eigenpy::registerCast<DoubleType,double>(true); eigenpy::registerCast<double,DoubleType>(true); - eigenpy::registerCast<DoubleType,int32_t>(false); - eigenpy::registerCast<int32_t,DoubleType>(true); + eigenpy::registerCast<DoubleType,int>(false); + eigenpy::registerCast<int,DoubleType>(true); eigenpy::registerCast<DoubleType,long long>(false); eigenpy::registerCast<long long,DoubleType>(true); + eigenpy::registerCast<DoubleType,long>(false); + eigenpy::registerCast<long,DoubleType>(true); eigenpy::registerCast<FloatType,double>(true); eigenpy::registerCast<double,FloatType>(false); eigenpy::registerCast<FloatType,long long>(false); eigenpy::registerCast<long long,FloatType>(true); - eigenpy::registerCast<FloatType,int32_t>(false); - eigenpy::registerCast<int32_t,FloatType>(true); + eigenpy::registerCast<FloatType,int>(false); + eigenpy::registerCast<int,FloatType>(true); + eigenpy::registerCast<FloatType,long>(false); + eigenpy::registerCast<long,FloatType>(true); bp::implicitly_convertible<double,DoubleType>(); bp::implicitly_convertible<DoubleType,double>();