26 #ifndef CASADI_IMPLICIT_TO_NLP_HPP
27 #define CASADI_IMPLICIT_TO_NLP_HPP
29 #include "casadi/core/rootfinder_impl.hpp"
30 #include <casadi/solvers/casadi_rootfinder_nlpsol_export.h>
43 struct ImplicitToNlpMemory
44 :
public RootfinderMemory {
62 class ImplicitToNlp :
public Rootfinder {
65 explicit ImplicitToNlp(
const std::string& name,
const Function& f);
68 ~ImplicitToNlp()
override;
71 static Rootfinder* creator(
const std::string& name,
const Function& f) {
72 return new ImplicitToNlp(name, f);
76 const char* plugin_name()
const override {
return "nlpsol";}
79 std::string class_name()
const override {
return "ImplicitToNlp";}
83 static const Options options_;
84 const Options& get_options()
const override {
return options_;}
88 void init(
const Dict& opts)
override;
91 void* alloc_mem()
const override {
return new ImplicitToNlpMemory();}
94 void free_mem(
void *mem)
const override {
delete static_cast<ImplicitToNlpMemory*
>(mem);}
97 void set_work(
void* mem,
const double**& arg,
double**& res,
98 casadi_int*& iw,
double*& w)
const override;
101 int solve(
void* mem)
const override;
104 static const std::string meta_doc;
107 Dict get_stats(
void* mem)
const override;
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.