diff --git a/unittest/python/test_user_type.py b/unittest/python/test_user_type.py index 87f314c7..2d71b835 100644 --- a/unittest/python/test_user_type.py +++ b/unittest/python/test_user_type.py @@ -68,8 +68,17 @@ def test_cast(from_dtype, to_dtype): test_cast(user_type.CustomDouble, np.int32) test_cast(np.int32, user_type.CustomDouble) -test(user_type.CustomFloat) - v = user_type.CustomDouble(1) a = np.array(v) assert type(v) is a.dtype.type + +test(user_type.CustomFloat) + +test_cast(user_type.CustomFloat, np.float32) +test_cast(np.double, user_type.CustomFloat) + +test_cast(user_type.CustomFloat, np.int64) +test_cast(np.int64, user_type.CustomFloat) + +test_cast(user_type.CustomFloat, np.int32) +test_cast(np.int32, user_type.CustomFloat) diff --git a/unittest/user_type.cpp b/unittest/user_type.cpp index dcafea1a..dddf8fe6 100644 --- a/unittest/user_type.cpp +++ b/unittest/user_type.cpp @@ -201,14 +201,19 @@ BOOST_PYTHON_MODULE(user_type) { eigenpy::registerCast(true); eigenpy::registerCast(true); + eigenpy::registerCast(false); + eigenpy::registerCast(true); eigenpy::registerCast(false); eigenpy::registerCast(true); eigenpy::registerCast(false); eigenpy::registerCast(true); eigenpy::registerCast(false); eigenpy::registerCast(true); + eigenpy::registerCast(true); eigenpy::registerCast(false); + eigenpy::registerCast(true); + eigenpy::registerCast(true); eigenpy::registerCast(false); eigenpy::registerCast(true); eigenpy::registerCast(false);