26 #ifndef CASADI_IPQP_HPP
27 #define CASADI_IPQP_HPP
29 #include "casadi/core/conic_impl.hpp"
30 #include <casadi/solvers/casadi_conic_ipqp_export.h>
31 #include "casadi/core/linsol.hpp"
44 struct IpqpMemory :
public ConicMemory {
45 const char* return_status;
56 class Ipqp :
public Conic {
59 explicit Ipqp(
const std::string& name,
60 const std::map<std::string, Sparsity> &st);
63 static Conic* creator(
const std::string& name,
64 const std::map<std::string, Sparsity>& st) {
65 return new Ipqp(name, st);
72 const char* plugin_name()
const override {
return "ipqp";}
75 std::string class_name()
const override {
return "Ipqp";}
78 void* alloc_mem()
const override {
return new IpqpMemory();}
81 int init_mem(
void* mem)
const override;
84 void free_mem(
void *mem)
const override {
delete static_cast<IpqpMemory*
>(mem);}
88 static const Options options_;
89 const Options& get_options()
const override {
return options_;}
93 void init(
const Dict& opts)
override;
96 int solve(
const double** arg,
double** res,
97 casadi_int* iw,
double* w,
void* mem)
const override;
100 Dict get_stats(
void* mem)
const override;
103 static const std::string meta_doc;
112 bool print_iter_, print_header_, print_info_;
113 std::string linear_solver_;
114 Dict linear_solver_options_;
117 void serialize_body(SerializingStream &s)
const override;
120 static ProtoFunction* deserialize(DeserializingStream& s) {
return new Ipqp(s); }
124 explicit Ipqp(DeserializingStream& s);
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.