diff --git a/include/eigenpy/eigen-allocator.hpp b/include/eigenpy/eigen-allocator.hpp index 9bbd27797feeef5f03239580b05853b8b1145bcb..b23fa2fba9d38fb0d91e22edc55aca5c17402ec0 100644 --- a/include/eigenpy/eigen-allocator.hpp +++ b/include/eigenpy/eigen-allocator.hpp @@ -66,6 +66,17 @@ namespace eigenpy } } }; + + template<typename MatType> + bool check_swap(PyArrayObject * pyArray, + const Eigen::MatrixBase<MatType> & mat) + { + if(PyArray_NDIM(pyArray) == 0) return false; + if(mat.rows() == PyArray_DIMS(pyArray)[0]) + return false; + else + return true; + } template<typename Scalar, typename NewScalar, bool cast_is_valid = FromTypeToType<Scalar,NewScalar>::value > struct cast_matrix_or_array