| 18 | ("self"_a, "solver", "store_pd_vars"_a = true, "store_values"_a = true)) |
| 19 | |
| 20 | void exposeHistoryCallback() { |
| 21 | |
| 22 | bp::scope in_history = |
| 23 | bp::class_<HistoryCallback, bp::bases<CallbackBase>>( |
| 24 | "HistoryCallback", "Store the history of solver's variables.", |
| 25 | bp::no_init) |
| 26 | .def(ctor(SolverProxDDP)) |
| 27 | .def(ctor(SolverFDDP)) |
| 28 | #define _c(name) def_readonly(#name, &HistoryCallback::name) |
| 29 | ._c(xs) |
| 30 | ._c(us) |
| 31 | ._c(lams) |
| 32 | ._c(values) |
| 33 | ._c(merit_values) |
| 34 | ._c(merit_values) |
| 35 | ._c(prim_infeas) |
| 36 | ._c(dual_infeas) |
| 37 | ._c(inner_crits) |
| 38 | ._c(al_index) |
| 39 | ._c(prim_tols) |
| 40 | ._c(dual_tols); |
| 41 | #undef _c |
| 42 | } |
| 43 | |
| 44 | void exposeCallbacks() { |
| 45 | bp::register_ptr_to_python<shared_ptr<CallbackBase>>(); |