25 #ifndef CASADI_EXPM_IMPL_HPP
26 #define CASADI_EXPM_IMPL_HPP
29 #include "function_internal.hpp"
30 #include "plugin_interface.hpp"
55 Sparsity get_sparsity_in(casadi_int i)
override;
56 Sparsity get_sparsity_out(casadi_int i)
override;
68 void init(
const Dict& opts)
override;
74 Function get_forward(casadi_int nfwd,
const std::string& name,
75 const std::vector<std::string>& inames,
76 const std::vector<std::string>& onames,
77 const Dict& opts)
const override;
78 bool has_forward(casadi_int nfwd)
const override {
return true;}
85 Function get_reverse(casadi_int nadj,
const std::string& name,
86 const std::vector<std::string>& inames,
87 const std::vector<std::string>& onames,
88 const Dict& opts)
const override;
89 bool has_reverse(casadi_int nadj)
const override {
return true;}
95 bool get_diff_in(casadi_int i)
override {
return i != 0 || !const_A_;}
98 Sparsity get_jac_sparsity(casadi_int oind, casadi_int iind,
bool symmetric)
const override;
110 #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
111 static std::mutex mutex_solvers_;
bool has_reverse(casadi_int nadj) const override
Generate a function that calculates nadj adjoint derivatives.
bool has_jac_sparsity(casadi_int oind, casadi_int iind) const override
Get Jacobian sparsity.
const Options & get_options() const override
Options.
size_t get_n_out() override
Number of function inputs and outputs.
bool has_forward(casadi_int nfwd) const override
Generate a function that calculates nfwd forward derivatives.
static const std::string infix_
Infix.
size_t get_n_in() override
Number of function inputs and outputs.
static std::string shortname()
Short name.
bool get_diff_in(casadi_int i) override
Which inputs are differentiable.
static const Options options_
Options.
static std::map< std::string, Plugin > solvers_
Collection of solvers.
Internal class for Function.
Interface for accessing input and output data structures.
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
Options metadata for a class.