8template <
typename Scalar>
struct IntegratorMidpointDataTpl;
27template <
typename _Scalar>
40 const xyz::polymorphic<ContinuousDynamics> &cont_dynamics,
43 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
44 const ConstVectorRef &y,
BaseData &data)
const;
47 const ConstVectorRef &y,
BaseData &data)
const;
52template <
typename _Scalar>
67 :
Base(integrator),
x1_(integrator.space().neutral()),
dx1_(this->
ndx1),
79#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
80extern template struct IntegratorMidpointTpl<context::Scalar>;
81extern template struct IntegratorMidpointDataTpl<context::Scalar>;
Base definitions for numerical integrators.
Continuous dynamics described by differential-algebraic equations (DAEs) .
Base class for (implicit) numerical integrators.
Data class for numerical integrators (IntegratorAbstractTpl).
typename math_types< Scalar >::VectorXs VectorXs
IntegratorMidpointDataTpl(const IntegratorMidpointTpl< Scalar > &integrator)
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
Midpoint integration rule.
ManifoldAbstractTpl< Scalar > Manifold
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
IntegratorMidpointTpl(const xyz::polymorphic< ContinuousDynamics > &cont_dynamics, const Scalar timestep)
shared_ptr< BaseData > createData() const
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const