diff --git a/unittest/python/test_user_type.py b/unittest/python/test_user_type.py index 316c03147e34ef8f8e5899fda0fc32ac30364f5e..956108d395ad6c61a5bd9d5723d3bdf52ce8e811 100644 --- a/unittest/python/test_user_type.py +++ b/unittest/python/test_user_type.py @@ -6,13 +6,13 @@ rows = 10 cols = 20 def test(dtype): - mat = np.ones((rows,cols),dtype=dtype) + mat = np.array(np.ones((rows,cols)).astype(np.intc),dtype=dtype) mat = np.random.rand(rows,cols).astype(dtype) mat_copy = mat.copy() assert (mat == mat_copy).all() assert not (mat != mat_copy).all() -# if version.parse(np.__version__) >= version.parse("1.21.0"): # check if it fixes for new versio of NumPy +# if version.parse(np.__version__) >= version.parse("1.21.0"): # check if it fixes for new versio of NumPy # mat.fill(mat.dtype.type(20.)) # mat_copy = mat.copy() # assert((mat == mat_copy).all()) @@ -20,7 +20,7 @@ def test(dtype): mat_op = mat + mat mat_op = mat.copy(order='F') + mat.copy(order='C') - + mat_op = mat - mat mat_op = mat * mat mat_op = mat.dot(mat.T) @@ -45,7 +45,7 @@ def test_cast(from_dtype,to_dtype): from_mat = np.zeros((rows,cols),dtype=from_dtype) to_mat = from_mat.astype(dtype=to_dtype) - + test(user_type.CustomDouble) test_cast(user_type.CustomDouble,np.double) diff --git a/unittest/user_type.cpp b/unittest/user_type.cpp index 22bc566061a473ccedeae064b9dc10ffded9bbc4..46a34480dadf37e88d7ce2e7bacd95af68992de0 100644 --- a/unittest/user_type.cpp +++ b/unittest/user_type.cpp @@ -198,12 +198,14 @@ BOOST_PYTHON_MODULE(user_type) eigenpy::registerCast<double,DoubleType>(true); eigenpy::registerCast<DoubleType,int32_t>(false); eigenpy::registerCast<int32_t,DoubleType>(true); - eigenpy::registerCast<DoubleType,int64_t>(false); - eigenpy::registerCast<int64_t,DoubleType>(true); + eigenpy::registerCast<DoubleType,long long>(false); + eigenpy::registerCast<long long,DoubleType>(true); eigenpy::registerCast<FloatType,double>(true); eigenpy::registerCast<double,FloatType>(false); - eigenpy::registerCast<FloatType,int64_t>(false); - eigenpy::registerCast<int64_t,FloatType>(true); + eigenpy::registerCast<FloatType,long long>(false); + eigenpy::registerCast<long long,FloatType>(true); + eigenpy::registerCast<FloatType,int32_t>(false); + eigenpy::registerCast<int32_t,FloatType>(true); bp::implicitly_convertible<double,DoubleType>(); bp::implicitly_convertible<DoubleType,double>();