5 #ifndef __pinocchio_autodiff_casadi_utils_static_if_hpp__
6 #define __pinocchio_autodiff_casadi_utils_static_if_hpp__
15 template<
typename Scalar,
typename ThenType,
typename ElseType>
16 struct if_then_else_impl<::casadi::Matrix<Scalar>, ::casadi::Matrix<Scalar>, ThenType, ElseType>
26 const ThenType & then_value,
27 const ElseType & else_value)
32 return ::casadi::Matrix<Scalar>::if_else(lhs_value < rhs_value, then_value, else_value);
35 return ::casadi::Matrix<Scalar>::if_else(lhs_value <= rhs_value, then_value, else_value);
38 return ::casadi::Matrix<Scalar>::if_else(lhs_value == rhs_value, then_value, else_value);
41 return ::casadi::Matrix<Scalar>::if_else(lhs_value >= rhs_value, then_value, else_value);
44 return ::casadi::Matrix<Scalar>::if_else(lhs_value > rhs_value, then_value, else_value);
50 template<
typename Scalar>
57 return (lhs_value == rhs_value).is_zero();
67 template<
typename Scalar>
68 struct equal_to<::casadi::Matrix<Scalar>>
71 const ::casadi::Matrix<Scalar> & lhs_value, const ::casadi::Matrix<Scalar> & rhs_value)
const
73 return (lhs_value == rhs_value).is_zero();
78 #endif // ifndef __pinocchio_autodiff_casadi_utils_static_if_hpp__