Skip to content

Commit c5e81d5

Browse files
committed
core: swap dimensions if needed
1 parent c8dc935 commit c5e81d5

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

include/eigenpy/eigen-allocator.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)