forked from RobotLocomotion/drake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfastQP.h
24 lines (15 loc) · 1.64 KB
/
fastQP.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef __FAST_QP__
#define __FAST_QP__
#include <Eigen/Dense>
#include <vector>
#include <set>
int fastQPThatTakesQinv(std::vector< Eigen::MatrixXd* > QinvblkDiag, const Eigen::VectorXd& f, const Eigen::MatrixXd& Aeq, const Eigen::VectorXd& beq, const Eigen::MatrixXd& Ain, const Eigen::VectorXd& bin, std::set<int>& active, Eigen::VectorXd& x);
int fastQP(std::vector< Eigen::MatrixXd* > QblkDiag, const Eigen::VectorXd& f, const Eigen::MatrixXd& Aeq, const Eigen::VectorXd& beq, const Eigen::MatrixXd& Ain, const Eigen::VectorXd& bin, std::set<int>& active, Eigen::VectorXd& x);
//int fastQP(std::vector< Eigen::MatrixXd* > QblkDiag, const Eigen::VectorXd& f, const Eigen::MatrixXd& Aeq, const Eigen::VectorXd& beq, const Eigen::MatrixXd& Ain, const Eigen::VectorXd& bin, std::set<int>& active, Eigen::VectorXd& x, const Eigen::VectorXd& lb, const Eigen::VectorXd& ub);
/* TODO: restore templated versions
template <typename tA, typename tB, typename tC, typename tD, typename tE, typename tF, typename tG>
int fastQP(std::vector< Eigen::Map<tA> > QblkDiag, const Eigen::MatrixBase<tB>& f, const Eigen::MatrixBase<tC>& Aeq, const Eigen::MatrixBase<tD>& beq, const Eigen::MatrixBase<tE>& Ain, const Eigen::MatrixBase<tF>& bin, std::set<int>& active, Eigen::MatrixBase<tG>& x);
template <typename tA, typename tB, typename tC, typename tD, typename tE, typename tF, typename tG>
int fastQPThatTakesQinv(std::vector< Eigen::Map<tA> > QinvblkDiag, const Eigen::MatrixBase<tB>& f, const Eigen::MatrixBase<tC>& Aeq, const Eigen::MatrixBase<tD>& beq, const Eigen::MatrixBase<tE>& Ain, const Eigen::MatrixBase<tF>& bin, std::set<int>& active, Eigen::MatrixBase<tG>& x);
*/
#endif