5 #ifndef __pinocchio_autodiff_casadi_math_matrix_hpp__
6 #define __pinocchio_autodiff_casadi_math_matrix_hpp__
8 #include "pinocchio/math/matrix.hpp"
14 template<
typename Scalar>
15 struct CallCorrectMatrixInverseAccordingToScalar< ::casadi::Matrix<Scalar> >
17 typedef ::casadi::Matrix<Scalar> SX;
18 template<
typename MatrixIn,
typename MatrixOut>
19 static void run(
const Eigen::MatrixBase<MatrixIn> & mat,
20 const Eigen::MatrixBase<MatrixOut> & dest)
22 SX cs_mat(mat.rows(),mat.cols());
23 casadi::copy(mat.derived(),cs_mat);
25 SX cs_mat_inv = SX::inv(cs_mat);
27 MatrixOut & dest_ = PINOCCHIO_EIGEN_CONST_CAST(MatrixOut,dest);
28 casadi::copy(cs_mat_inv,dest_);
35 #endif // ifndef __pinocchio_autodiff_casadi_math_matrix_hpp__