From 2f67236be11a9991cad2d42a55a0c2e5a90e4488 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Mon, 6 Sep 2021 21:19:07 +0200 Subject: [PATCH] test: fix user_type for Windows --- unittest/python/test_user_type.py | 8 ++++---- unittest/user_type.cpp | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/unittest/python/test_user_type.py b/unittest/python/test_user_type.py index 316c0314..956108d3 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 22bc5660..46a34480 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>(); -- GitLab