@@ -105,11 +105,11 @@ namespace eigenpy
105105 } // namespace details
106106
107107#define EIGENPY_CAST_FROM_PYARRAY_TO_EIGEN_MATRIX (MatType,Scalar,NewScalar,pyArray,mat ) \
108- details::cast_matrix_or_array<Scalar,NewScalar>::run(NumpyMap<MatType,Scalar>::map(pyArray),mat)
108+ details::cast_matrix_or_array<Scalar,NewScalar>::run(NumpyMap<MatType,Scalar>::map(pyArray,details::check_swap(pyArray,mat) ),mat)
109109
110110#define EIGENPY_CAST_FROM_EIGEN_MATRIX_TO_PYARRAY (MatType,Scalar,NewScalar,mat,pyArray ) \
111- details::cast_matrix_or_array<Scalar,NewScalar>::run(mat,NumpyMap<MatType,NewScalar>::map(pyArray))
112-
111+ details::cast_matrix_or_array<Scalar,NewScalar>::run(mat,NumpyMap<MatType,NewScalar>::map(pyArray,details::check_swap(pyArray,mat) ))
112+
113113 template <typename MatType>
114114 struct EigenAllocator
115115 {
@@ -127,7 +127,7 @@ namespace eigenpy
127127 const int Scalar_type_code = Register::getTypeCode<Scalar>();
128128 if (pyArray_type_code == Scalar_type_code)
129129 {
130- mat = NumpyMap<MatType,Scalar>::map (pyArray); // avoid useless cast
130+ mat = NumpyMap<MatType,Scalar>::map (pyArray, details::check_swap (pyArray,mat) ); // avoid useless cast
131131 return ;
132132 }
133133
@@ -175,7 +175,7 @@ namespace eigenpy
175175
176176 if (pyArray_type_code == Scalar_type_code) // no cast needed
177177 {
178- MapType map_pyArray = NumpyMap<MatType,Scalar>::map (pyArray);
178+ MapType map_pyArray = NumpyMap<MatType,Scalar>::map (pyArray, details::check_swap (pyArray,mat) );
179179 map_pyArray = mat;
180180 return ;
181181 }
@@ -257,7 +257,7 @@ namespace eigenpy
257257 RefType & mat = *reinterpret_cast <RefType*>(raw_ptr);
258258 if (pyArray_type_code == Scalar_type_code)
259259 {
260- mat = NumpyMap<MatType,Scalar>::map (pyArray); // avoid useless cast
260+ mat = NumpyMap<MatType,Scalar>::map (pyArray, details::check_swap (pyArray,mat) ); // avoid useless cast
261261 return ;
262262 }
263263
@@ -351,7 +351,7 @@ namespace eigenpy
351351 MatType & mat = *mat_ptr;
352352 if (pyArray_type_code == Scalar_type_code)
353353 {
354- mat = NumpyMap<MatType,Scalar>::map (pyArray); // avoid useless cast
354+ mat = NumpyMap<MatType,Scalar>::map (pyArray, details::check_swap (pyArray,mat) ); // avoid useless cast
355355 return ;
356356 }
357357
0 commit comments