26 #ifndef CASADI_JIT_FUNCTION_HPP
27 #define CASADI_JIT_FUNCTION_HPP
29 #include "function_internal.hpp"
34 class CASADI_EXPORT JitFunction :
public FunctionInternal {
39 JitFunction(
const std::string& name,
const std::string& body,
40 const std::vector<std::string>& name_in,
41 const std::vector<std::string>& name_out,
42 const std::vector<Sparsity>& sparsity_in,
43 const std::vector<Sparsity>& sparsity_out);
48 std::string class_name()
const override {
return "JitFunction";}
53 ~JitFunction()
override;
59 static const Options options_;
60 const Options& get_options()
const override {
return options_;}
66 void init(
const Dict& opts)
override;
72 size_t get_n_in()
override {
return name_in_.size();}
73 size_t get_n_out()
override {
return name_out_.size();}
79 bool has_codegen()
const override {
return true;}
84 void codegen_body(CodeGenerator& g)
const override;
90 bool has_jacobian()
const override;
91 Function get_jacobian(
const std::string& name,
92 const std::vector<std::string>& inames,
93 const std::vector<std::string>& onames,
94 const Dict& opts)
const override;
104 std::string jac_body_;
107 std::string hess_body_;
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.