diff --git a/include/eigenpy/map.hpp b/include/eigenpy/map.hpp index 24af8cfae4da3d901ad2966a7e79466d34f452cd..f82524c7213283b7ad9ab41c765b1afcce8eb2c4 100644 --- a/include/eigenpy/map.hpp +++ b/include/eigenpy/map.hpp @@ -61,8 +61,16 @@ namespace eigenpy rows = (int)PyArray_DIMS(pyArray)[0]; cols = (int)PyArray_DIMS(pyArray)[1]; - inner_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize; - outer_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize; + if(EquivalentInputMatrixType::IsRowMajor) + { + inner_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize; + outer_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize; + } + else + { + inner_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize; + outer_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize; + } } else if(PyArray_NDIM(pyArray) == 1) {