5 #ifndef __pinocchio_multibody_joint_joint_common_operations_hpp__
6 #define __pinocchio_multibody_joint_joint_common_operations_hpp__
11 #include <boost/type_traits.hpp>
20 template<typename Scalar, bool is_floating_point = pinocchio::is_floating_point<Scalar>::value>
23 template<
typename M1,
typename M2>
24 static EIGEN_STRONG_INLINE
void
25 run(
const Eigen::MatrixBase<M1> & StYS,
const Eigen::MatrixBase<M2> & Dinv)
29 StYS.llt().solveInPlace(Dinv_);
33 template<
typename Scalar>
36 template<
typename M1,
typename M2>
37 static EIGEN_STRONG_INLINE
void
38 run(
const Eigen::MatrixBase<M1> & StYS,
const Eigen::MatrixBase<M2> & Dinv)
52 template<
typename ConfigVectorIn,
typename Scalar,
typename ConfigVectorOut>
54 const Eigen::MatrixBase<ConfigVectorIn> &
q,
57 const Eigen::MatrixBase<ConfigVectorOut> & dest)
59 assert(
q.size() == dest.size());
61 scaling *
q + ConfigVectorOut::Constant(dest.size(), offset);
69 template<
typename Jo
int>
77 #endif // ifndef __pinocchio_multibody_joint_joint_common_operations_hpp__