10 using namespace autodiff;
20 using FiniteDiffType = FiniteDifferenceHelper<Scalar>;
21 bp::scope _ = bp::class_<FiniteDiffType, bp::bases<StageFunction>>(
22 "FiniteDifferenceHelper",
23 "Make a function into a differentiable function/dynamics using"
24 " finite differences.",
25 bp::init<shared_ptr<Manifold>, shared_ptr<StageFunction>,
const Scalar>(
26 bp::args(
"self",
"space",
"func",
"eps")));
27 bp::class_<FiniteDiffType::Data, bp::bases<StageFunctionData>>(
"Data",
32 using DynFiniteDiffType = DynamicsFiniteDifferenceHelper<Scalar>;
33 bp::scope _ = bp::class_<DynFiniteDiffType, bp::bases<DynamicsModel>>(
34 "DynamicsFiniteDifferenceHelper",
35 bp::init<shared_ptr<Manifold>, shared_ptr<DynamicsModel>,
const Scalar>(
36 bp::args(
"self",
"space",
"dyn",
"eps")));
37 bp::class_<DynFiniteDiffType::Data>(
"Data", bp::no_init);
41 using CostFiniteDiffType = CostFiniteDifferenceHelper<Scalar>;
43 bp::class_<CostFiniteDiffType, bp::bases<CostAbstract>>(
44 "CostFiniteDifference",
45 "Define a cost function's derivatives using finite differences.",
47 .def(bp::init<shared_ptr<CostAbstract>, Scalar>(
48 bp::args(
"self",
"cost",
"fd_eps")));
49 bp::class_<CostFiniteDiffType::Data, bp::bases<CostData>>(
"Data",
51 .def_readonly(
"c1", &CostFiniteDiffType::Data::c1)
52 .def_readonly(
"c2", &CostFiniteDiffType::Data::c2);
DynamicsModelTpl< Scalar > DynamicsModel
ManifoldAbstractTpl< Scalar > Manifold