mpctool
|
00001 #ifndef MPC_INC_H 00002 #define MPC_INC_H 00003 00004 #include "mpc_base.h" 00005 #include "mtx_ops.h" 00006 00007 /* Quadratic Programming online solver using Fast gradients. 00008 * Most of these functions are intended for internal use. 00009 */ 00010 00011 extern void inc_ctl_solve_problem(struct mpc_ctl *ctl, const real_t x[]); 00012 00013 extern void inc_ctl_form_qp(struct mpc_ctl *ctl, const real_t x[]); 00014 00015 extern void inc_ctl_warmstart(struct mpc_ctl *ctl); 00016 00017 extern void inc_fgm_minimize_qp_iteration(const struct mpc_fgm *fgm, 00018 real_t u[], real_t u_old[], real_t w[], const real_t gradoL[]); 00019 00020 extern void inc_fgm_minimize_qp(const struct mpc_fgm *fgm, real_t u[]); 00021 00022 extern void inc_fgm_compute_grad_over_L(const struct mpc_fgm *fgm, 00023 real_t gradoL[], const real_t w[]); 00024 00025 extern void inc_compute_gxoL(struct mpc_fgm *fgm, const real_t x[]); 00026 00027 extern void mpc_warmstart_vector(struct mpc_fgm *fgm, real_t outvec[], 00028 const real_t vec[], const uint32_t unit_size); 00029 00030 #endif /* MPC_INC_H */