Callback function functionality. More...
#include <callback.hpp>
This class provides a public API to the FunctionInternal class that can be subclassed by the user, who is then able to implement the different virtual method. Note that the Function class also provides a public API to FunctionInternal, but only allows calling, not being called.
The user is responsible for not deleting this class for the lifetime of the internal function object.
Extra doc: https://github.com/casadi/casadi/wiki/L_o0
Definition at line 49 of file casadi/core/callback.hpp.
Public Types | |
typedef std::map< std::string, std::vector< std::string > > | AuxOut |
using | internal_base_type = SharedObjectInternal |
using | base_type = SharedObject |
Public Member Functions | |
Callback () | |
Default constructor. More... | |
Callback (const Callback &obj) | |
Copy constructor (throws an error) More... | |
virtual | ~Callback () |
Destructor. More... | |
void | construct (const std::string &name, const Dict &opts=Dict()) |
Construct internal object. More... | |
virtual void | init () |
Initialize the object. More... | |
virtual void | finalize () |
Finalize the object. More... | |
virtual std::vector< DM > | eval (const std::vector< DM > &arg) const |
Evaluate numerically, using temporary matrices and work vectors. More... | |
virtual int | eval_buffer (const double **arg, const std::vector< casadi_int > &sizes_arg, double **res, const std::vector< casadi_int > &sizes_res) const |
A copy-free low level interface. More... | |
virtual bool | has_eval_buffer () const |
Does the Callback class support a copy-free low level interface ? More... | |
virtual casadi_int | get_n_in () |
Get the number of inputs. More... | |
virtual casadi_int | get_n_out () |
Get the number of outputs. More... | |
virtual Sparsity | get_sparsity_in (casadi_int i) |
Get the sparsity of an input. More... | |
virtual Sparsity | get_sparsity_out (casadi_int i) |
Get the sparsity of an output. More... | |
virtual std::string | get_name_in (casadi_int i) |
Get the name of an input. More... | |
virtual std::string | get_name_out (casadi_int i) |
Get the name of an output. More... | |
virtual bool | uses_output () const |
Do the derivative functions need nondifferentiated outputs? More... | |
casadi_int | n_in () const |
Get the number of function inputs. More... | |
casadi_int | n_out () const |
Get the number of function outputs. More... | |
const std::vector< std::string > & | name_in () const |
Get input scheme. More... | |
const std::string & | name_in (casadi_int ind) const |
Get input scheme name by index. More... | |
const std::vector< std::string > & | name_out () const |
Get output scheme. More... | |
const std::string & | name_out (casadi_int ind) const |
Get output scheme name by index. More... | |
casadi_int | index_in (const std::string &name) const |
Find the index for a string describing a particular entry of an input scheme. More... | |
casadi_int | index_out (const std::string &name) const |
Find the index for a string describing a particular entry of an output scheme. More... | |
bool | has_in (const std::string &name) const |
Does the function have a particularly named input? More... | |
bool | has_out (const std::string &name) const |
Does the function have a particularly named output? More... | |
double | default_in (casadi_int ind) const |
Get default input value. More... | |
double | max_in (casadi_int ind) const |
Get largest input value. More... | |
double | min_in (casadi_int ind) const |
Get smallest input value. More... | |
std::vector< double > | nominal_in (casadi_int ind) const |
Get nominal input value. More... | |
std::vector< double > | nominal_out (casadi_int ind) const |
Get nominal output value. More... | |
Function | factory (const std::string &name, const std::vector< std::string > &s_in, const std::vector< std::string > &s_out, const AuxOut &aux=AuxOut(), const Dict &opts=Dict()) const |
Function | oracle () const |
Get oracle. More... | |
Function | wrap () const |
Wrap in an Function instance consisting of only one MX call. More... | |
Function | wrap_as_needed (const Dict &opts) const |
Wrap in a Function with options. More... | |
std::vector< bool > | which_depends (const std::string &s_in, const std::vector< std::string > &s_out, casadi_int order=1, bool tr=false) const |
Which variables enter with some order. More... | |
void | print_dimensions (std::ostream &stream=casadi::uout()) const |
Print dimensions of inputs and outputs. More... | |
void | print_options (std::ostream &stream=casadi::uout()) const |
Print options to a stream. More... | |
void | print_option (const std::string &name, std::ostream &stream=casadi::uout()) const |
Print all information there is to know about a certain option. More... | |
bool | has_option (const std::string &option_name) const |
Does a particular option exist. More... | |
void | change_option (const std::string &option_name, const GenericType &option_value) |
Change option after object creation for debugging. More... | |
Function | jacobian_old (casadi_int iind, casadi_int oind) const |
[DEPRECATED] Replaced by Function::factory. More... | |
Function | hessian_old (casadi_int iind, casadi_int oind) const |
[DEPRECATED] Replaced by Function::factory. More... | |
Function | jacobian () const |
Calculate all Jacobian blocks. More... | |
bool | operator== (const Function &f) const |
Check if same as another function. More... | |
int | operator() (const double **arg, double **res, casadi_int *iw, double *w, int mem) const |
Evaluate memory-less, numerically. More... | |
int | operator() (const double **arg, double **res, casadi_int *iw, double *w) const |
Evaluate numerically with checkout/release. More... | |
int | operator() (const SXElem **arg, SXElem **res, casadi_int *iw, SXElem *w, int mem=0) const |
Evaluate memory-less SXElem. More... | |
int | operator() (const bvec_t **arg, bvec_t **res, casadi_int *iw, bvec_t *w, int mem=0) const |
Propagate sparsity forward. More... | |
template<typename M > | |
void | call_gen (const std::map< std::string, M > &arg, std::map< std::string, M > &res, bool always_inline, bool never_inline) const |
Call using a map. More... | |
int | rev (bvec_t **arg, bvec_t **res, casadi_int *iw, bvec_t *w, int mem=0) const |
Propagate sparsity backward. More... | |
int | rev (std::vector< bvec_t * > arg, std::vector< bvec_t * > res) const |
Propagate sparsity backward with temporary memory allocation. More... | |
std::vector< MX > | mapsum (const std::vector< MX > &x, const std::string ¶llelization="serial") const |
Evaluate symbolically in parallel and sum (matrix graph) More... | |
Function | map (casadi_int n, const std::string ¶llelization="serial") const |
Create a mapped version of this function. More... | |
Function | map (casadi_int n, const std::string ¶llelization, casadi_int max_num_threads) const |
Function | slice (const std::string &name, const std::vector< casadi_int > &order_in, const std::vector< casadi_int > &order_out, const Dict &opts=Dict()) const |
returns a new function with a selection of inputs/outputs of the original More... | |
Function | forward (casadi_int nfwd) const |
Get a function that calculates nfwd forward derivatives. More... | |
Function | reverse (casadi_int nadj) const |
Get a function that calculates nadj adjoint derivatives. More... | |
const std::vector< Sparsity > & | jac_sparsity (bool compact=false) const |
Get, if necessary generate, the sparsity of all Jacobian blocks. More... | |
Sparsity | jac_sparsity (casadi_int oind, casadi_int iind, bool compact=false) const |
Get, if necessary generate, the sparsity of a single Jacobian block. More... | |
std::string | generate (const std::string &fname, const Dict &opts=Dict()) const |
Export / Generate C code for the function. More... | |
std::string | generate (const Dict &opts=Dict()) const |
Export / Generate C code for the function. More... | |
std::string | generate_dependencies (const std::string &fname, const Dict &opts=Dict()) const |
Export / Generate C code for the dependency function. More... | |
FunctionInternal * | get () const |
template<typename T > | |
T * | get () const |
Get a pointer and typecast. More... | |
FunctionInternal * | operator-> () const |
Const access functions of the node. More... | |
Dict | stats (int mem=0) const |
Get all statistics obtained at the end of the last evaluate call. More... | |
bool | has_free () const |
Does the function have free variables. More... | |
std::vector< std::string > | get_free () const |
Get free variables as a string. More... | |
std::vector< SX > | free_sx () const |
Get all the free variables of the function. More... | |
std::vector< MX > | free_mx () const |
Get all the free variables of the function. More... | |
void | generate_lifted (Function &vdef_fcn, Function &vinit_fcn) const |
Extract the functions needed for the Lifted Newton method. More... | |
casadi_int | n_nodes () const |
Number of nodes in the algorithm. More... | |
casadi_int | n_instructions () const |
Number of instruction in the algorithm (SXFunction/MXFunction) More... | |
casadi_int | instruction_id (casadi_int k) const |
Identifier index of the instruction (SXFunction/MXFunction) More... | |
std::vector< casadi_int > | instruction_input (casadi_int k) const |
Locations in the work vector for the inputs of the instruction. More... | |
double | instruction_constant (casadi_int k) const |
Get the floating point output argument of an instruction (SXFunction) More... | |
std::vector< casadi_int > | instruction_output (casadi_int k) const |
Location in the work vector for the output of the instruction. More... | |
MX | instruction_MX (casadi_int k) const |
Get the MX node corresponding to an instruction (MXFunction) More... | |
SX | instructions_sx () const |
Get the SX node corresponding to all instructions (SXFunction) More... | |
size_t | sz_arg () const |
Get required length of arg field. More... | |
size_t | sz_res () const |
Get required length of res field. More... | |
size_t | sz_iw () const |
Get required length of iw field. More... | |
size_t | sz_w () const |
Get required length of w field. More... | |
void | sz_work (size_t &sz_arg, size_t &sz_res, size_t &sz_iw, size_t &sz_w) const |
Get number of temporary variables needed. More... | |
void | set_work (const double **&arg, double **&res, casadi_int *&iw, double *&w, int mem=0) const |
Set the (persistent) work vectors. More... | |
void | set_temp (const double **arg, double **res, casadi_int *iw, double *w, int mem=0) const |
Set the (temporary) work vectors. More... | |
void | setup (const double **arg, double **res, casadi_int *iw, double *w, int mem=0) const |
Set the (persistent and temporary) work vectors. More... | |
void | merge (const std::vector< MX > &arg, std::vector< MX > &subs_from, std::vector< MX > &subs_to) const |
List merge opportunitities. More... | |
const std::string & | name () const |
Name of the function. More... | |
bool | is_a (const std::string &type, bool recursive=true) const |
Check if the function is of a particular type. More... | |
void | assert_size_in (casadi_int i, casadi_int nrow, casadi_int ncol) const |
Assert that an input dimension is equal so some given value. More... | |
void | assert_size_out (casadi_int i, casadi_int nrow, casadi_int ncol) const |
Assert that an output dimension is equal so some given value. More... | |
void | assert_sparsity_out (casadi_int i, const Sparsity &sp, casadi_int n=1, bool allow_all_zero_sparse=true) const |
Assert that an output sparsity is a multiple of some given sparsity. More... | |
casadi_int | checkout () const |
Checkout a memory object. More... | |
void | release (int mem) const |
Release a memory object. More... | |
void * | memory (int ind) const |
Get memory object. More... | |
Dict | cache () const |
Get all functions in the cache. More... | |
std::vector< std::string > | get_function () const |
Get a list of all functions. More... | |
Function | get_function (const std::string &name) const |
Get a dependency function. More... | |
bool | has_function (const std::string &fname) const |
Check if a particular dependency exists. More... | |
std::vector< Function > | find_functions (casadi_int max_depth=-1) const |
Get all functions embedded in the expression graphs. More... | |
Function | find_function (const std::string &name, casadi_int max_depth=-1) const |
Get a specific function embedded in the expression graphs. More... | |
Dict | info () const |
std::string | class_name () const |
Get class name. More... | |
void | disp (std::ostream &stream, bool more=false) const |
Print a description of the object. More... | |
std::string | get_str (bool more=false) const |
Get string representation. More... | |
void | print_ptr (std::ostream &stream=casadi::uout()) const |
void | own (SharedObjectInternal *node) |
void | assign (SharedObjectInternal *node) |
Assign the node to a node class pointer without reference counting. More... | |
casadi_int | getCount () const |
Get the reference count. More... | |
void | swap (GenericShared &other) |
Swap content with another instance. More... | |
std::string | debug_repr () const |
bool | is_null () const |
Is a null pointer? More... | |
casadi_int | __hash__ () const |
Returns a number that is unique for a given Node. More... | |
GenericWeakRef< SharedObject, SharedObjectInternal > * | weak () |
Get a weak reference to the object. More... | |
virtual bool | has_jacobian () const |
Return Jacobian of all input elements with respect to all output elements. More... | |
virtual Function | get_jacobian (const std::string &name, const std::vector< std::string > &inames, const std::vector< std::string > &onames, const Dict &opts) const |
Return Jacobian of all input elements with respect to all output elements. More... | |
virtual bool | has_forward (casadi_int nfwd) const |
Return function that calculates forward derivatives. More... | |
virtual Function | get_forward (casadi_int nfwd, const std::string &name, const std::vector< std::string > &inames, const std::vector< std::string > &onames, const Dict &opts) const |
Return function that calculates forward derivatives. More... | |
virtual bool | has_reverse (casadi_int nadj) const |
Return function that calculates adjoint derivatives. More... | |
virtual Function | get_reverse (casadi_int nadj, const std::string &name, const std::vector< std::string > &inames, const std::vector< std::string > &onames, const Dict &opts) const |
Return function that calculates adjoint derivatives. More... | |
virtual bool | has_jac_sparsity (casadi_int oind, casadi_int iind) const |
Return sparsity of Jacobian of all input elements. More... | |
virtual Sparsity | get_jac_sparsity (casadi_int oind, casadi_int iind, bool symmetric) const |
Return sparsity of Jacobian of all input elements. More... | |
Function | expand () const |
Expand a function to SX. More... | |
Function | expand (const std::string &name, const Dict &opts=Dict()) const |
Expand a function to SX. More... | |
casadi_int | size1_in (casadi_int ind) const |
Get input dimension. More... | |
casadi_int | size1_in (const std::string &iname) const |
Get input dimension. More... | |
casadi_int | size2_in (casadi_int ind) const |
Get input dimension. More... | |
casadi_int | size2_in (const std::string &iname) const |
Get input dimension. More... | |
std::pair< casadi_int, casadi_int > | size_in (casadi_int ind) const |
Get input dimension. More... | |
std::pair< casadi_int, casadi_int > | size_in (const std::string &iname) const |
Get input dimension. More... | |
casadi_int | size1_out (casadi_int ind) const |
Get output dimension. More... | |
casadi_int | size1_out (const std::string &oname) const |
Get output dimension. More... | |
casadi_int | size2_out (casadi_int ind) const |
Get output dimension. More... | |
casadi_int | size2_out (const std::string &oname) const |
Get output dimension. More... | |
std::pair< casadi_int, casadi_int > | size_out (casadi_int ind) const |
Get output dimension. More... | |
std::pair< casadi_int, casadi_int > | size_out (const std::string &oname) const |
Get output dimension. More... | |
casadi_int | nnz_in () const |
Get number of input nonzeros. More... | |
casadi_int | nnz_in (casadi_int ind) const |
Get number of input nonzeros. More... | |
casadi_int | nnz_in (const std::string &iname) const |
Get number of input nonzeros. More... | |
casadi_int | nnz_out () const |
Get number of output nonzeros. More... | |
casadi_int | nnz_out (casadi_int ind) const |
Get number of output nonzeros. More... | |
casadi_int | nnz_out (const std::string &oname) const |
Get number of output nonzeros. More... | |
casadi_int | numel_in () const |
Get number of input elements. More... | |
casadi_int | numel_in (casadi_int ind) const |
Get number of input elements. More... | |
casadi_int | numel_in (const std::string &iname) const |
Get number of input elements. More... | |
casadi_int | numel_out () const |
Get number of output elements. More... | |
casadi_int | numel_out (casadi_int ind) const |
Get number of output elements. More... | |
casadi_int | numel_out (const std::string &oname) const |
Get number of output elements. More... | |
const Sparsity & | sparsity_in (casadi_int ind) const |
Get sparsity of a given input. More... | |
const Sparsity & | sparsity_in (const std::string &iname) const |
Get sparsity of a given input. More... | |
const Sparsity & | sparsity_out (casadi_int ind) const |
Get sparsity of a given output. More... | |
const Sparsity & | sparsity_out (const std::string &iname) const |
Get sparsity of a given output. More... | |
bool | is_diff_in (casadi_int ind) const |
Get differentiability of inputs/output. More... | |
std::vector< bool > | is_diff_in () const |
Get differentiability of inputs/output. More... | |
bool | is_diff_out (casadi_int ind) const |
Get differentiability of inputs/output. More... | |
std::vector< bool > | is_diff_out () const |
Get differentiability of inputs/output. More... | |
const Sparsity | sparsity_jac (casadi_int iind, casadi_int oind, bool compact=false, bool symmetric=false) const |
const Sparsity | sparsity_jac (const std::string &iind, casadi_int oind=0, bool compact=false, bool symmetric=false) const |
const Sparsity | sparsity_jac (casadi_int iind, const std::string &oind, bool compact=false, bool symmetric=false) const |
const Sparsity | sparsity_jac (const std::string &iind, const std::string &oind, bool compact=false, bool symmetric=false) const |
void | call (const std::vector< DM > &arg, std::vector< DM > &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
void | call (const std::vector< SX > &arg, std::vector< SX > &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
void | call (const std::vector< MX > &arg, std::vector< MX > &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
void | call (const DMDict &arg, DMDict &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
void | call (const SXDict &arg, SXDict &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
void | call (const MXDict &arg, MXDict &res, bool always_inline=false, bool never_inline=false) const |
Evaluate the function symbolically or numerically. More... | |
std::vector< DM > | operator() (const std::vector< DM > &arg) const |
std::vector< SX > | operator() (const std::vector< SX > &arg) const |
std::vector< MX > | operator() (const std::vector< MX > &arg) const |
const DMDict | operator() (const DMDict &arg) const |
const SXDict | operator() (const SXDict &arg) const |
const MXDict | operator() (const MXDict &arg) const |
void | operator() (std::vector< const double * > arg, std::vector< double * > res) const |
Evaluate with temporary memory allocation. More... | |
void | operator() (std::vector< const bvec_t * > arg, std::vector< bvec_t * > res) const |
Evaluate with temporary memory allocation. More... | |
void | operator() (std::vector< const SXElem * > arg, std::vector< SXElem * > res) const |
Evaluate with temporary memory allocation. More... | |
template<typename D > | |
void | call_gen (std::vector< const D * > arg, std::vector< D * > res) const |
Evaluate with temporary memory allocation. More... | |
void | operator() (VecArg arg, VecRes res) const |
Numerical evaluation. More... | |
void | operator() (VecArg arg, MapRes res) const |
Numerical evaluation. More... | |
void | operator() (VecArg arg, VPrRes res) const |
Numerical evaluation. More... | |
void | operator() (VecArg arg, MPrRes res) const |
Numerical evaluation. More... | |
void | operator() (MapArg arg, VecRes res) const |
Numerical evaluation. More... | |
void | operator() (MapArg arg, MapRes res) const |
Numerical evaluation. More... | |
void | operator() (MapArg arg, VPrRes res) const |
Numerical evaluation. More... | |
void | operator() (MapArg arg, MPrRes res) const |
Numerical evaluation. More... | |
std::vector< DM > | operator() (const DM &arg0) const |
std::vector< SX > | operator() (const SX &arg0) const |
std::vector< MX > | operator() (const MX &arg0) const |
Function | mapaccum (const std::string &name, casadi_int N, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | mapaccum (const std::string &name, casadi_int N, casadi_int n_accum, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | mapaccum (const std::string &name, casadi_int n, const std::vector< casadi_int > &accum_in, const std::vector< casadi_int > &accum_out, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | mapaccum (const std::string &name, casadi_int n, const std::vector< std::string > &accum_in, const std::vector< std::string > &accum_out, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | mapaccum (casadi_int N, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | fold (casadi_int N, const Dict &opts=Dict()) const |
Create a mapaccumulated version of this function. More... | |
Function | map (const std::string &name, const std::string ¶llelization, casadi_int n, const std::vector< casadi_int > &reduce_in, const std::vector< casadi_int > &reduce_out, const Dict &opts=Dict()) const |
Map with reduction. More... | |
Function | map (const std::string &name, const std::string ¶llelization, casadi_int n, const std::vector< std::string > &reduce_in, const std::vector< std::string > &reduce_out, const Dict &opts=Dict()) const |
Map with reduction. More... | |
Function | map (casadi_int n, const std::vector< bool > &reduce_in, const std::vector< bool > &reduce_out=std::vector< bool >(), const Dict &opts=Dict()) const |
Map with reduction. More... | |
void | generate_in (const std::string &fname, const std::vector< DM > &arg) |
Export an input file that can be passed to generate C code with a main. More... | |
std::vector< DM > | generate_in (const std::string &fname) |
Export an input file that can be passed to generate C code with a main. More... | |
void | generate_out (const std::string &fname, const std::vector< DM > &arg) |
Export an output file that can be checked with generated C code output. More... | |
std::vector< DM > | generate_out (const std::string &fname) |
Export an output file that can be checked with generated C code output. More... | |
void | export_code (const std::string &lang, const std::string &fname, const Dict &options=Dict()) const |
Export function in specific language. More... | |
std::string | export_code (const std::string &lang, const Dict &options=Dict()) const |
Export function in specific language. More... | |
void | export_code (const std::string &lang, std::ostream &stream, const Dict &options=Dict()) const |
Export function in specific language. More... | |
void | serialize (std::ostream &stream, const Dict &opts=Dict()) const |
Serialize. More... | |
void | serialize (SerializingStream &s) const |
Serialize an object. More... | |
std::string | serialize (const Dict &opts=Dict()) const |
Serialize. More... | |
void | save (const std::string &fname, const Dict &opts=Dict()) const |
Save Function to a file. More... | |
const SX | sx_in (casadi_int iind) const |
Get symbolic primitives equivalent to the input expressions. More... | |
const SX | sx_in (const std::string &iname) const |
Get symbolic primitives equivalent to the input expressions. More... | |
const std::vector< SX > | sx_in () const |
Get symbolic primitives equivalent to the input expressions. More... | |
const MX | mx_in (casadi_int ind) const |
Get symbolic primitives equivalent to the input expressions. More... | |
const MX | mx_in (const std::string &iname) const |
Get symbolic primitives equivalent to the input expressions. More... | |
const std::vector< MX > | mx_in () const |
Get symbolic primitives equivalent to the input expressions. More... | |
const SX | sx_out (casadi_int oind) const |
Get symbolic primitives equivalent to the output expressions. More... | |
const SX | sx_out (const std::string &oname) const |
Get symbolic primitives equivalent to the output expressions. More... | |
const std::vector< SX > | sx_out () const |
Get symbolic primitives equivalent to the output expressions. More... | |
const MX | mx_out (casadi_int ind) const |
Get symbolic primitives equivalent to the output expressions. More... | |
const MX | mx_out (const std::string &oname) const |
Get symbolic primitives equivalent to the output expressions. More... | |
const std::vector< MX > | mx_out () const |
Get symbolic primitives equivalent to the output expressions. More... | |
std::vector< double > | nz_from_in (const std::vector< DM > &arg) const |
Convert from/to flat vector of input/output nonzeros. More... | |
std::vector< double > | nz_from_out (const std::vector< DM > &arg) const |
Convert from/to flat vector of input/output nonzeros. More... | |
std::vector< DM > | nz_to_in (const std::vector< double > &arg) const |
Convert from/to flat vector of input/output nonzeros. More... | |
std::vector< DM > | nz_to_out (const std::vector< double > &arg) const |
Convert from/to flat vector of input/output nonzeros. More... | |
DMDict | convert_in (const std::vector< DM > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< DM > | convert_in (const DMDict &arg) const |
Convert from/to input/output lists/map. More... | |
SXDict | convert_in (const std::vector< SX > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< SX > | convert_in (const SXDict &arg) const |
Convert from/to input/output lists/map. More... | |
MXDict | convert_in (const std::vector< MX > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< MX > | convert_in (const MXDict &arg) const |
Convert from/to input/output lists/map. More... | |
DMDict | convert_out (const std::vector< DM > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< DM > | convert_out (const DMDict &arg) const |
Convert from/to input/output lists/map. More... | |
SXDict | convert_out (const std::vector< SX > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< SX > | convert_out (const SXDict &arg) const |
Convert from/to input/output lists/map. More... | |
MXDict | convert_out (const std::vector< MX > &arg) const |
Convert from/to input/output lists/map. More... | |
std::vector< MX > | convert_out (const MXDict &arg) const |
Convert from/to input/output lists/map. More... | |
bool | has_spfwd () const |
Is the class able to propagate seeds through the algorithm? More... | |
bool | has_sprev () const |
Is the class able to propagate seeds through the algorithm? More... | |
Static Public Member Functions | |
static std::string | type_name () |
Get type name. More... | |
static Function | create (FunctionInternal *node) |
Create from node. More... | |
static Function | create (FunctionInternal *node, const Dict &opts) |
Create from node and initialize. More... | |
static Function | conditional (const std::string &name, const std::vector< Function > &f, const Function &f_def, const Dict &opts=Dict()) |
Constuct a switch function. More... | |
static Function | conditional (const std::string &name, const Function &f, const Dict &opts=Dict()) |
Conditional call to a function. More... | |
static Function | bspline (const std::string &name, const std::vector< std::vector< double > > &knots, const std::vector< double > &coeffs, const std::vector< casadi_int > °ree, casadi_int m=1, const Dict &opts=Dict()) |
BSpline evaluator function. More... | |
static Function | if_else (const std::string &name, const Function &f_true, const Function &f_false, const Dict &opts=Dict()) |
Constructor (if-else) More... | |
static bool | test_cast (const SharedObjectInternal *ptr) |
Check if a particular cast is allowed. More... | |
static bool | check_name (const std::string &name) |
Check if a string is a valid function name. More... | |
static std::string | fix_name (const std::string &name) |
Turn a string into a valid function name as defined by "check_name". More... | |
static Function | deserialize (std::istream &stream) |
Build function from serialization. More... | |
static Function | deserialize (const std::string &s) |
Build function from serialization. More... | |
static Function | deserialize (DeserializingStream &s) |
Build function from serialization. More... | |
static Function | load (const std::string &filename) |
Build function from serialization. More... | |
static std::vector< SX > | order (const std::vector< SX > &expr) |
static std::vector< MX > | order (const std::vector< MX > &expr) |
static Function | jit (const std::string &name, const std::string &body, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts=Dict()) |
Create a just-in-time compiled function from a C language string. More... | |
static Function | jit (const std::string &name, const std::string &body, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const std::vector< Sparsity > &sparsity_in, const std::vector< Sparsity > &sparsity_out, const Dict &opts=Dict()) |
Create a just-in-time compiled function from a C language string. More... | |
Protected Member Functions | |
Function | mapaccum (const std::string &name, const std::vector< Function > &chain, casadi_int n_accum=1, const Dict &opts=Dict()) const |
Helper function for mapaccum. More... | |
void | count_up () |
void | count_down () |
void | construct (const std::string &name, const std::vector< SX > &ex_in, const std::vector< SX > &ex_out, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts) |
Called by constructors. More... | |
void | construct (const std::string &name, const std::vector< MX > &ex_in, const std::vector< MX > &ex_out, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts) |
Called by constructors. More... | |
template<typename M > | |
void | construct (const std::string &name, const std::map< std::string, M > &dict, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts) |
Called by constructors. More... | |
Static Protected Member Functions | |
static bool | proceed_to (std::istream &file, const std::string &str) |
Helper function for parsing .casadi files. More... | |
std::vector< const double * > | buf_in (VecArg arg) const |
Supported arguments for numerical evaluation and converters. More... | |
std::vector< const double * > | buf_in (MapArg arg) const |
Supported arguments for numerical evaluation and converters. More... | |
std::vector< double * > | buf_out (VecRes res) const |
Supported arguments for numerical evaluation and converters. More... | |
std::vector< double * > | buf_out (VPrRes res) const |
Supported arguments for numerical evaluation and converters. More... | |
std::vector< double * > | buf_out (MapRes res) const |
Supported arguments for numerical evaluation and converters. More... | |
std::vector< double * > | buf_out (MPrRes res) const |
Supported arguments for numerical evaluation and converters. More... | |
typedef const std::vector< std::vector< double > > & | VecArg |
Supported arguments for numerical evaluation and converters. More... | |
typedef std::vector< std::vector< double > > & | VecRes |
Supported arguments for numerical evaluation and converters. More... | |
typedef std::vector< std::vector< double > * > | VPrRes |
Supported arguments for numerical evaluation and converters. More... | |
typedef const std::map< std::string, std::vector< double > > & | MapArg |
Supported arguments for numerical evaluation and converters. More... | |
typedef std::map< std::string, std::vector< double > > & | MapRes |
Supported arguments for numerical evaluation and converters. More... | |
typedef std::map< std::string, std::vector< double > * > | MPrRes |
Supported arguments for numerical evaluation and converters. More... | |
|
inherited |
Definition at line 404 of file function.hpp.
|
inherited |
Definition at line 103 of file shared_object.hpp.
|
inherited |
Definition at line 102 of file shared_object.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 572 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 574 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 576 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 565 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 567 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 569 of file function.hpp.
casadi::Callback::Callback | ( | ) |
Extra doc: https://github.com/casadi/casadi/wiki/L_o2
Definition at line 29 of file callback.cpp.
casadi::Callback::Callback | ( | const Callback & | obj | ) |
|
virtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_o4
Definition at line 44 of file callback.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
|
inherited |
If the Object does not point to any node, "0" is returned.
Extra doc: https://github.com/casadi/casadi/wiki/L_av
Definition at line 124 of file generic_shared_impl.hpp.
|
inherited |
Definition at line 1785 of file function.cpp.
References casadi::Function::name_in(), casadi::Function::size1_in(), casadi::Function::size2_in(), and casadi::str().
Referenced by casadi::FunctionInternal::forward(), and casadi::FunctionInternal::reverse().
|
inherited |
Definition at line 1793 of file function.cpp.
References casadi::Function::name_out(), casadi::Function::size1_out(), casadi::Function::size2_out(), and casadi::str().
Referenced by casadi::Function::assert_sparsity_out().
|
inherited |
Definition at line 1800 of file function.cpp.
References casadi::Function::assert_size_out(), casadi::Function::name_out(), casadi::Sparsity::size1(), casadi::Sparsity::size2(), casadi::Function::sparsity_out(), and casadi::str().
Referenced by casadi::FunctionInternal::forward(), and casadi::FunctionInternal::reverse().
|
inherited |
improper use will cause memory leaks!
Extra doc: https://github.com/casadi/casadi/wiki/L_at
Definition at line 97 of file generic_shared_impl.hpp.
|
staticinherited |
Requires a known coefficient tensor
Extra doc: https://github.com/casadi/casadi/wiki/L_1wo
Definition at line 791 of file function.cpp.
References casadi::MX::bspline(), casadi::extract_from_dict(), casadi::Function::Function(), casadi::Function::name(), casadi::str(), and casadi::GenericMatrix< MX >::sym().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 418 of file function.cpp.
References casadi::get_ptr(), casadi::Function::index_in(), casadi::Function::nnz_in(), and casadi::Function::sz_arg().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 384 of file function.cpp.
References casadi::get_ptr(), casadi::Function::n_in(), casadi::Function::nnz_in(), and casadi::Function::sz_arg().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 432 of file function.cpp.
References casadi::get_ptr(), casadi::Function::index_out(), casadi::Function::nnz_out(), and casadi::Function::sz_res().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 446 of file function.cpp.
References casadi::get_ptr(), casadi::Function::index_out(), casadi::Function::nnz_out(), and casadi::Function::sz_res().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 395 of file function.cpp.
References casadi::get_ptr(), casadi::Function::n_out(), casadi::Function::nnz_out(), and casadi::Function::sz_res().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 406 of file function.cpp.
References casadi::get_ptr(), casadi::Function::n_out(), casadi::Function::nnz_out(), and casadi::Function::sz_res().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_26i
Definition at line 1835 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1453 of file function.cpp.
References casadi::Function::call_gen().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1471 of file function.cpp.
References casadi::Function::call_gen().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 357 of file function.cpp.
Referenced by casadi::Function::call_gen(), casadi::detect_simple_bounds_gen(), casadi::FunctionInternal::eval_mx(), casadi::Function::map(), casadi::MX::matrix_expand(), casadi::Function::operator()(), and casadi::MX::substitute().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 375 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 366 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1462 of file function.cpp.
References casadi::Function::call_gen().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xu
Definition at line 1419 of file function.cpp.
References casadi::Function::call(), and casadi::Function::name_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 462 of file function.cpp.
References casadi::get_ptr(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::sz_arg(), casadi::Function::sz_iw(), casadi::Function::sz_res(), and casadi::Function::sz_w().
Referenced by casadi::Function::call(), and casadi::Function::operator()().
|
inherited |
This is only possible for a selected number of options that do not change the numerical results of the computation, e.g. to enable a more verbose output or saving to file.
Extra doc: https://github.com/casadi/casadi/wiki/L_1w2
Definition at line 1172 of file function.cpp.
References casadi::Function::has_option().
|
staticinherited |
Valid function names consist of
May not be one of the following keywords: "null", "jac", "hess"
Extra doc: https://github.com/casadi/casadi/wiki/L_1xx
Definition at line 1316 of file function.cpp.
References casadi::Function::name().
Referenced by casadi::CodeGenerator::CodeGenerator(), casadi::Function::fix_name(), and casadi::FunctionInternal::FunctionInternal().
|
inherited |
Definition at line 1773 of file function.cpp.
Referenced by casadi::QpToNlp::alloc_mem(), and casadi::FunctionBuffer::operator=().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_au
Definition at line 31 of file shared_object.cpp.
Referenced by casadi::FmuFunction::check_mem_count(), casadi::MXFunction::export_code_body(), and casadi::BlazingSplineFunction::merge().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wn
Definition at line 774 of file function.cpp.
References casadi::Function::if_else(), casadi::Function::mx_in(), casadi::Function::n_out(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::sparsity_out(), and casadi::GenericMatrix< MX >::zeros().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wm
Definition at line 765 of file function.cpp.
References casadi::Function::create(), and casadi::Function::name().
Referenced by casadi::MX::conditional(), casadi::Switch::get_forward(), casadi::Switch::get_reverse(), and casadi::DaeBuilderInternal::transition().
This is the step that actually construct the internal object, as the class constructor only creates a null pointer. It should be called from the user constructor.
Extra doc: https://github.com/casadi/casadi/wiki/L_o5
Definition at line 36 of file callback.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null(), casadi::Function::name(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::own().
|
protectedinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 196 of file function.cpp.
References casadi::Function::construct(), casadi::Function::name(), casadi::Function::name_in(), and casadi::Function::name_out().
|
protectedinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 245 of file function.cpp.
References casadi::external_transform(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::GenericShared< SharedObject, SharedObjectInternal >::operator=(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::own().
|
protectedinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 217 of file function.cpp.
References casadi::external_transform(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::GenericShared< SharedObject, SharedObjectInternal >::operator=(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::own().
Referenced by casadi::Function::construct(), and casadi::Function::Function().
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1620 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1652 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1616 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1648 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1632 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1636 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1628 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1660 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1624 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1656 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1640 of file function.cpp.
Will raise an error when an unknown key is used or a list has incorrect size. Does not perform sparsity checking.
Extra doc: https://github.com/casadi/casadi/wiki/L_1x7
Definition at line 1644 of file function.cpp.
|
protectedinherited |
Definition at line 134 of file generic_shared_impl.hpp.
|
protectedinherited |
Definition at line 133 of file generic_shared_impl.hpp.
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v6
Definition at line 336 of file function.cpp.
References casadi::GenericShared< Shared, Internal >::own().
Referenced by casadi::blazing_spline(), casadi::Function::conditional(), casadi::conic(), casadi::Interpolant::construct(), casadi::MapSum::create(), casadi::Map::create(), casadi::Function::create(), casadi::Integrator::create_advanced(), casadi::FixedStepIntegrator::create_advanced(), casadi::dplesol(), casadi::expmsol(), casadi::DaeBuilderInternal::export_fmu(), casadi::external(), casadi::DaeBuilderInternal::fmu_fun(), casadi::FunctionInternal::forward(), casadi::ForwardDiff::get_forward(), casadi::CentralDiff::get_forward(), casadi::Smoothing::get_forward(), casadi::BlazingSplineFunction::get_jacobian(), casadi::Function::if_else(), casadi::Function::jit(), casadi::nlpsol(), casadi::rootfinder(), and casadi::OptiNode::solver_construct().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v7
Definition at line 342 of file function.cpp.
References casadi::ProtoFunction::construct(), and casadi::Function::create().
|
inherited |
Definition at line 113 of file generic_shared_impl.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vm
Definition at line 1480 of file function.cpp.
Referenced by casadi::Blocksqp::feasibilityRestorationPhase(), and casadi::FiniteDiff::get_default_in().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y0
Definition at line 1359 of file function.cpp.
References casadi::Function::deserialize().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y2
Definition at line 1294 of file function.cpp.
References casadi::FunctionInternal::deserialize(), casadi::Function::Function(), casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null(), and casadi::DeserializingStream::unpack().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xz
Definition at line 1344 of file function.cpp.
Referenced by casadi::Function::deserialize().
|
inherited |
Definition at line 35 of file shared_object.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
Referenced by casadi::Nlpsol::disp_more(), and casadi::CsparseInterface::nfact().
This signature is not thread-safe. For guaranteed thread-safety, use eval_buffer
Extra doc: https://github.com/casadi/casadi/wiki/L_o8
Definition at line 60 of file callback.cpp.
|
virtual |
In Python, you will be passed two tuples of memoryview objects Note that only the structural nonzeros are present in the memoryview objects/buffers.
Make sure to override has_eval_buffer() to indicate support for this method.
Extra doc: https://github.com/casadi/casadi/wiki/L_o9
Definition at line 53 of file callback.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v5
Definition at line 308 of file function.cpp.
References casadi::FunctionInternal::ad_weight(), and casadi::Function::name().
Referenced by casadi::OracleFunction::expand(), casadi::OracleFunction::finalize(), casadi::OracleFunction::init(), casadi::MX::matrix_expand(), casadi::DaeBuilderInternal::oracle(), and casadi::qpsol_nlp().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v5
Definition at line 318 of file function.cpp.
References casadi::Function::Function(), casadi::Function::get_free(), casadi::Function::has_free(), casadi::join(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::sx_in(), and casadi::update_dict().
|
inherited |
Only allowed for (a subset of) SX/MX Functions
Extra doc: https://github.com/casadi/casadi/wiki/L_1wz
Definition at line 1301 of file function.cpp.
|
inherited |
Only allowed for (a subset of) SX/MX Functions
Extra doc: https://github.com/casadi/casadi/wiki/L_1wz
Definition at line 1261 of file function.cpp.
References casadi::Filesystem::open().
|
inherited |
Only allowed for (a subset of) SX/MX Functions
Extra doc: https://github.com/casadi/casadi/wiki/L_1wz
Definition at line 1256 of file function.cpp.
|
inherited |
Definition at line 1811 of file function.cpp.
References casadi::FunctionInternal::factory(), casadi::Function::name(), and casadi::str().
Referenced by casadi::DaeBuilderInternal::create(), casadi::OracleFunction::create_function(), casadi::FunctionInternal::factory(), casadi::KinsolInterface::get_jtimes(), casadi::Function::hessian_old(), casadi::Rootfinder::init(), casadi::Blocksqp::init(), casadi::Function::jacobian_old(), and casadi::Nlpsol::kkt().
|
inlinevirtual |
This function is called after the construction and init steps are completed, but before user functions are called. It is called recursively for the whole class hierarchy, starting with the highest level.
Extra doc: https://github.com/casadi/casadi/wiki/L_o7
Definition at line 98 of file casadi/core/callback.hpp.
|
inherited |
[in] | name | Name of function needed |
[in] | max_depth | Maximum depth - a negative number indicates no maximum |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y7
Definition at line 1888 of file function.cpp.
References casadi::Function::Function(), and casadi::Function::name().
|
inherited |
[in] | max_depth | Maximum depth - a negative number indicates no maximum |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y6
Definition at line 1870 of file function.cpp.
Referenced by casadi::DaeBuilder::gather_fun().
|
staticinherited |
Non-alphanumeric characters are converted into underscores and multiple consecutive undercores are dropped
Extra doc: https://github.com/casadi/casadi/wiki/L_1xy
Definition at line 1365 of file function.cpp.
References casadi::Function::check_name(), and casadi::Function::name().
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 509 of file function.cpp.
References casadi::Function::Function(), casadi::Function::mapaccum(), casadi::Function::mx_in(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::range(), and casadi::Function::size2_out().
|
inherited |
Returns a function with <tt>n_in + n_out + n_in</tt> inputs and <tt>nfwd</tt> outputs. The first <tt>n_in</tt> inputs correspond to nondifferentiated inputs. The next <tt>n_out</tt> inputs correspond to nondifferentiated outputs. and the last <tt>n_in</tt> inputs correspond to forward seeds, stacked horizontally The <tt>n_out</tt> outputs correspond to forward sensitivities, stacked horizontally. * <tt>(n_in = n_in(), n_out = n_out())</tt> The functions returned are cached, meaning that if called multiple timed with the same value, then multiple references to the same function will be returned.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wq
Definition at line 1135 of file function.cpp.
References casadi::FunctionInternal::forward().
Referenced by casadi::SXFunction::ad_forward(), casadi::DaeBuilderInternal::export_fmu(), casadi::FunctionInternal::forward(), casadi::Map::get_forward(), casadi::MapSum::get_forward(), casadi::Nlpsol::get_forward(), casadi::Switch::get_forward(), and casadi::ImplicitFixedStepIntegrator::init().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xb
Definition at line 1681 of file function.cpp.
Referenced by casadi::MX::get_free(), and casadi::MX::symvar().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xa
Definition at line 1673 of file function.cpp.
Referenced by casadi::Matrix< Scalar >::get_free().
Extra doc: https://github.com/casadi/casadi/wiki/L_1wv
Definition at line 1188 of file function.cpp.
References casadi::Function::generate(), and casadi::Function::name().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wu
Definition at line 1192 of file function.cpp.
References casadi::CodeGenerator::add(), and casadi::CodeGenerator::generate().
Referenced by casadi::Function::generate().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ww
Definition at line 1198 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wx
Definition at line 1232 of file function.cpp.
References casadi::Matrix< double >::from_file(), casadi::GenericMatrix< MatType >::is_dense(), casadi::GenericMatrix< MatType >::is_empty(), casadi::GenericMatrix< MatType >::is_vector(), casadi::Function::nnz_in(), casadi::Matrix< Scalar >::nonzeros(), casadi::GenericMatrix< MatType >::numel(), casadi::Function::nz_to_in(), and casadi::str().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wx
Definition at line 1202 of file function.cpp.
References casadi::normalized_out(), casadi::normalized_setup(), casadi::Function::nz_from_in(), and casadi::Filesystem::open().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xc
Definition at line 1701 of file function.cpp.
Referenced by casadi::Scpgen::init().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wy
Definition at line 1244 of file function.cpp.
References casadi::Matrix< double >::from_file(), casadi::GenericMatrix< MatType >::is_dense(), casadi::GenericMatrix< MatType >::is_empty(), casadi::GenericMatrix< MatType >::is_vector(), casadi::Function::nnz_out(), casadi::Matrix< Scalar >::nonzeros(), casadi::GenericMatrix< MatType >::numel(), casadi::Function::nz_to_out(), and casadi::str().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wy
Definition at line 1217 of file function.cpp.
References casadi::normalized_out(), casadi::normalized_setup(), casadi::Function::nz_from_out(), and casadi::Filesystem::open().
|
inherited |
Get a const pointer to the node
Definition at line 353 of file function.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::get().
Referenced by casadi::FunctionInternal::add_embedded(), casadi::XFunction< DerivedType, MatType, NodeType >::call_forward(), casadi::XFunction< DerivedType, MatType, NodeType >::call_reverse(), casadi::LinearInterpolantJac::codegen_body(), casadi::Call::codegen_decref(), casadi::Call::codegen_incref(), casadi::conic_debug(), casadi::MX::cse(), casadi::LinearInterpolantJac::eval(), casadi::MX::extract(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::XFunction< DerivedType, MatType, NodeType >::get_jacobian(), casadi::LinearInterpolantJac::has_parametric_grid(), casadi::LinearInterpolantJac::has_parametric_values(), casadi::SundialsInterface::init(), casadi::LinearInterpolantJac::init(), casadi::MX::jacobian(), casadi::Function::operator->(), casadi::Function::operator==(), casadi::LinearInterpolantJac::serialize_type(), casadi::OptiNode::solve_prepare(), casadi::MX::substitute_inplace(), and casadi::CodeGenerator::wrapper().
|
inlineinherited |
|
virtual |
forward(nfwd) returns a cached instance if available, and calls Function get_forward(casadi_int nfwd)
if no cached version is available.
Extra doc: https://github.com/casadi/casadi/wiki/L_oi
Definition at line 104 of file callback.cpp.
References casadi::Function::name().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x9
Definition at line 1184 of file function.cpp.
Referenced by casadi::OracleFunction::create_function(), casadi::Function::expand(), casadi::integrator(), casadi::nlpsol(), casadi::DaeBuilderInternal::prune(), casadi::rootfinder(), and casadi::DaeBuilderInternal::tearing_variables().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y3
Definition at line 1844 of file function.cpp.
Referenced by casadi::IdasInterface::psetupF().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y4
Definition at line 1853 of file function.cpp.
References casadi::Function::name().
|
inlinevirtual |
with respect to all output elements
Extra doc: https://github.com/casadi/casadi/wiki/L_ok
Definition at line 219 of file casadi/core/callback.hpp.
|
virtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_oh
Definition at line 96 of file callback.cpp.
References casadi::Function::name().
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_oa
Definition at line 64 of file callback.cpp.
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_ob
Definition at line 68 of file callback.cpp.
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_oe
Definition at line 80 of file callback.cpp.
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_of
Definition at line 84 of file callback.cpp.
|
virtual |
reverse(nadj) returns a cached instance if available, and calls Function get_reverse(casadi_int nadj)
if no cached version is available.
Extra doc: https://github.com/casadi/casadi/wiki/L_oj
Definition at line 116 of file callback.cpp.
References casadi::Function::name().
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_oc
Definition at line 72 of file callback.cpp.
|
virtual |
This function is called during construction.
Extra doc: https://github.com/casadi/casadi/wiki/L_od
Definition at line 76 of file callback.cpp.
|
inlineinherited |
Definition at line 91 of file shared_object.hpp.
|
inherited |
Definition at line 103 of file generic_shared_impl.hpp.
|
virtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_265
Definition at line 57 of file callback.cpp.
|
virtual |
forward(nfwd) returns a cached instance if available, and calls Function get_forward(casadi_int nfwd)
if no cached version is available.
Extra doc: https://github.com/casadi/casadi/wiki/L_oi
Definition at line 112 of file callback.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x8
Definition at line 1697 of file function.cpp.
Referenced by casadi::construct_nlpsol(), casadi::OracleFunction::create_function(), casadi::detect_simple_bounds_gen(), casadi::Function::expand(), casadi::XFunction< DerivedType, MatType, NodeType >::factory(), casadi::integrator(), casadi::nlpsol(), casadi::rootfinder(), casadi::DaeBuilderInternal::tearing_variables(), and casadi::OptiNode::value().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y5
Definition at line 1861 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_2c9
Definition at line 985 of file function.cpp.
References casadi::Function::name().
|
inlinevirtual |
with respect to all output elements
Extra doc: https://github.com/casadi/casadi/wiki/L_ok
Definition at line 218 of file casadi/core/callback.hpp.
|
virtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_oh
Definition at line 92 of file callback.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w1
Definition at line 1163 of file function.cpp.
Referenced by casadi::Function::change_option().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_2ca
Definition at line 992 of file function.cpp.
References casadi::Function::name().
|
virtual |
reverse(nadj) returns a cached instance if available, and calls Function get_reverse(casadi_int nadj)
if no cached version is available.
Extra doc: https://github.com/casadi/casadi/wiki/L_oj
Definition at line 124 of file callback.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xl
Definition at line 1689 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xl
Definition at line 1693 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w5
Definition at line 896 of file function.cpp.
References casadi::Function::factory(), casadi::Function::name(), casadi::Function::name_in(), and casadi::Function::name_out().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wp
Definition at line 810 of file function.cpp.
References casadi::Function::create(), and casadi::Function::name().
Referenced by casadi::Function::conditional(), and casadi::MX::if_else().
|
inherited |
example: schemeEntry("x_opt") -> returns NLPSOL_X if FunctionInternal adheres to SCHEME_NLPINput
Extra doc: https://github.com/casadi/casadi/wiki/L_1vk
Definition at line 969 of file function.cpp.
References casadi::Function::name().
Referenced by casadi::Function::buf_in(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::Function::sparsity_in(), and casadi::DaeBuilderInternal::update_dependencies().
|
inherited |
example: schemeEntry("x_opt") -> returns NLPSOL_X if FunctionInternal adheres to SCHEME_NLPINput
Extra doc: https://github.com/casadi/casadi/wiki/L_1vl
Definition at line 977 of file function.cpp.
References casadi::Function::name().
Referenced by casadi::Function::buf_out(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::Function::sparsity_out(), and casadi::DaeBuilderInternal::update_dependencies().
|
inherited |
Obtain information about function
Definition at line 1934 of file function.cpp.
|
inlinevirtual |
This function is called after the object construction (for the whole class hierarchy) is complete, but before the finalization step. It is called recursively for the whole class hierarchy, starting with the lowest level.
Extra doc: https://github.com/casadi/casadi/wiki/L_o6
Definition at line 88 of file casadi/core/callback.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xh
Definition at line 1749 of file function.cpp.
Referenced by casadi::SXFunction::export_code_body().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xf
Definition at line 1733 of file function.cpp.
Referenced by casadi::MXFunction::export_code_body(), and casadi::SXFunction::export_code_body().
|
inherited |
(SXFunction/MXFunction)
Extra doc: https://github.com/casadi/casadi/wiki/L_1xg
Definition at line 1741 of file function.cpp.
Referenced by casadi::MXFunction::export_code_body(), and casadi::SXFunction::export_code_body().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xj
Definition at line 1717 of file function.cpp.
Referenced by casadi::MXFunction::export_code_body().
|
inherited |
(SXFunction/MXFunction)
Extra doc: https://github.com/casadi/casadi/wiki/L_1xi
Definition at line 1757 of file function.cpp.
Referenced by casadi::MXFunction::export_code_body(), and casadi::SXFunction::export_code_body().
|
inherited |
Note: input and output instructions have no SX representation. This method returns nan for those instructions.
Extra doc: https://github.com/casadi/casadi/wiki/L_1xk
Definition at line 1725 of file function.cpp.
|
inherited |
Optionally check if name matches one of the base classes (default true)
Extra doc: https://github.com/casadi/casadi/wiki/L_1xw
Definition at line 1664 of file function.cpp.
Referenced by casadi::Integrator::augmented_dae(), casadi::Integrator::get_forward_dae(), casadi::MXFunction::get_stats(), and casadi::Function::map().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1063 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1047 of file function.cpp.
Referenced by casadi::FunctionInternal::get_sparsity_out(), casadi::Map::init(), and casadi::MapSum::init().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1071 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1055 of file function.cpp.
Referenced by casadi::FunctionInternal::get_sparsity_out(), casadi::Map::init(), and casadi::MapSum::init().
|
inherited |
Definition at line 117 of file generic_shared_impl.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ws
Definition at line 940 of file function.cpp.
References casadi::Function::n_in(), and casadi::Function::n_out().
Referenced by casadi::_jacobian_sparsity(), casadi::CodeGenerator::add(), casadi::FunctionInternal::get_sparsity_out(), casadi::Integrator::sp_jac_dae(), casadi::Integrator::sp_jac_rdae(), and casadi::DaeBuilderInternal::update_dependencies().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wt
Definition at line 951 of file function.cpp.
References casadi::Sparsity::is_dense(), and casadi::Function::sparsity_out().
|
inherited |
Generates a function that takes all non-differentiated inputs and outputs and calculates all Jacobian blocks. Inputs that are not needed by the routine are all-zero sparse matrices with the correct dimensions. Output blocks that are not calculated, e.g. if the corresponding input or output is marked non-differentiated are also all-zero sparse. The Jacobian blocks are sorted starting by all the blocks for the first output, then all the blocks for the second output and so on. E.g. f : (x, y) -> (r, s) results in the function jac_f : (x, y, out_r, out_s) -> (jac_r_x, jac_r_y, jac_s_x, jac_s_y)
This function is cached.
Extra doc: https://github.com/casadi/casadi/wiki/L_1w6
Definition at line 916 of file function.cpp.
References casadi::FunctionInternal::jacobian().
Referenced by casadi::DaeBuilderInternal::CallIO::calc_jac(), and casadi::FunctionInternal::jacobian().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w4
Definition at line 888 of file function.cpp.
References casadi::Function::factory(), casadi::Function::name(), casadi::Function::name_in(), and casadi::Function::name_out().
|
staticinherited |
The names and sparsity patterns of all the inputs and outputs must be provided. If sparsities are not provided, all inputs and outputs are assumed to be scalar. Only specify the function body, assuming that input and output nonzeros are stored in arrays with the specified naming convension. The data type used is 'casadi_real', which is typically equal to 'double‘ or another data type with the same API as 'double’.
Inputs may be null pointers. This means that the all entries are zero. Outputs may be null points. This means that the corresponding result can be ignored.
If an error occurs in the evaluation, issue "return 1;";
The final generated function will have a structure similar to:
casadi_int fname(const casadi_real** arg, casadi_real** res, casadi_int* iw, casadi_real* w, void* mem) { const casadi_real *x1, *x2; casadi_real *r1, *r2; x1 = *arg++; x2 = *arg++; r1 = *res++; r2 = *res++; <FUNCTION_BODY> return 0; }
Extra doc: https://github.com/casadi/casadi/wiki/L_1v3
Definition at line 285 of file function.cpp.
References casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::sparsity_in(), and casadi::Function::sparsity_out().
Referenced by casadi::JitFunction::get_jacobian().
|
staticinherited |
The names and sparsity patterns of all the inputs and outputs must be provided. If sparsities are not provided, all inputs and outputs are assumed to be scalar. Only specify the function body, assuming that input and output nonzeros are stored in arrays with the specified naming convension. The data type used is 'casadi_real', which is typically equal to 'double‘ or another data type with the same API as 'double’.
Inputs may be null pointers. This means that the all entries are zero. Outputs may be null points. This means that the corresponding result can be ignored.
If an error occurs in the evaluation, issue "return 1;";
The final generated function will have a structure similar to:
casadi_int fname(const casadi_real** arg, casadi_real** res, casadi_int* iw, casadi_real* w, void* mem) { const casadi_real *x1, *x2; casadi_real *r1, *r2; x1 = *arg++; x2 = *arg++; r1 = *res++; r2 = *res++; <FUNCTION_BODY> return 0; }
Extra doc: https://github.com/casadi/casadi/wiki/L_1v3
Definition at line 294 of file function.cpp.
References casadi::Function::create(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::sparsity_in(), and casadi::Function::sparsity_out().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y1
Definition at line 1349 of file function.cpp.
References casadi::DeserializerBase::blind_unpack_function(), casadi::filename(), and casadi::DeserializerBase::pop_type().
|
inherited |
Definition at line 678 of file function.cpp.
References casadi::Function::Function(), casadi::Function::map(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::range(), casadi::Function::size2_in(), casadi::Function::size2_out(), casadi::Function::sparsity_in(), and casadi::GenericMatrix< MX >::sym().
|
inherited |
Suppose the function has a signature of:
f: (a, p) -> ( s )
The the mapped version has the signature:
F: (A, P) -> (S ) with A: horzcat([a0, a1, ..., a_(N-1)]) P: horzcat([p0, p1, ..., p_(N-1)]) S: horzcat([s0, s1, ..., s_(N-1)]) and s0 <- f(a0, p0) s1 <- f(a1, p1) ... s_(N-1) <- f(a_(N-1), p_(N-1))
parallelization | Type of parallelization used: unroll|serial|openmp |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wj
Definition at line 709 of file function.cpp.
References casadi::Function::call(), casadi::Function::Function(), casadi::Function::is_a(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::sparsity_in(), casadi::str(), and casadi::GenericMatrix< MX >::sym().
Referenced by casadi::Dple::get_forward(), casadi::Expm::get_forward(), casadi::External::get_forward(), casadi::Map::get_forward(), casadi::Dple::get_reverse(), casadi::Expm::get_reverse(), casadi::External::get_reverse(), casadi::Map::get_reverse(), and casadi::Function::map().
|
inherited |
A subset of the inputs are non-repeated and a subset of the outputs summed up.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wk
Definition at line 637 of file function.cpp.
References casadi::MapSum::create(), casadi::Function::name(), and casadi::str().
|
inherited |
A subset of the inputs are non-repeated and a subset of the outputs summed up.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wk
Definition at line 645 of file function.cpp.
References casadi::Function::Function(), casadi::Function::map(), casadi::Function::mx_in(), casadi::Function::name(), casadi::Function::name_in(), and casadi::Function::name_out().
|
inherited |
A subset of the inputs are non-repeated and a subset of the outputs summed up.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wk
Definition at line 668 of file function.cpp.
References casadi::Function::index_in(), casadi::Function::index_out(), casadi::Function::map(), and casadi::Function::name().
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 516 of file function.cpp.
References casadi::Function::mapaccum(), and casadi::Function::name().
|
inherited |
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 522 of file function.cpp.
References casadi::Function::mapaccum(), casadi::Function::name(), and casadi::str().
|
inherited |
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 519 of file function.cpp.
References casadi::Function::name().
Referenced by casadi::MX::cumsum(), casadi::Function::fold(), and casadi::Function::mapaccum().
|
inherited |
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 597 of file function.cpp.
References casadi::complement(), casadi::in_range(), casadi::isUnique(), casadi::lookupvector(), casadi::Function::mapaccum(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::name(), casadi::range(), and casadi::Function::slice().
|
inherited |
Suppose the function has a signature of:
f: (x, u) -> (x_next , y )
The the mapaccumulated version has the signature:
F: (x0, U) -> (X , Y ) with U: horzcat([u0, u1, ..., u_(N-1)]) X: horzcat([x1, x2, ..., x_N]) Y: horzcat([y0, y1, ..., y_(N-1)]) and x1, y0 <- f(x0, u0) x2, y1 <- f(x1, u1) ... x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
Mapaccum has the following benefits over writing an equivalent for-loop:
The base (settable through the options dictionary, default 10), is used to create a tower of function calls, containing unrolled for-loops of length maximum base.
This technique is much more scalable in terms of memory-usage, but slightly slower at evaluation, than a plain for-loop. The effect is similar to that of a for-loop with a check-pointing instruction after each chunk of iterations with size base.
Set base to -1 to unroll all the way; no gains in memory efficiency here.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wi
Definition at line 627 of file function.cpp.
References casadi::Function::index_in(), casadi::Function::index_out(), casadi::Function::mapaccum(), and casadi::Function::name().
|
protectedinherited |
Definition at line 552 of file function.cpp.
References casadi::Function::Function(), casadi::Function::mx_in(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::name(), casadi::Function::name_in(), casadi::Function::name_out(), casadi::Function::size2_in(), casadi::str(), and casadi::GenericMatrix< MX >::sym().
|
inherited |
parallelization | Type of parallelization used: unroll|serial|openmp |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wh
Definition at line 756 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vn
Definition at line 1484 of file function.cpp.
|
inherited |
Definition at line 1781 of file function.cpp.
Referenced by casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::QpToNlp::get_stats(), casadi::Function::operator()(), casadi::FunctionBuffer::operator=(), casadi::Function::rev(), casadi::Function::set_temp(), casadi::Function::set_work(), casadi::Function::setup(), casadi::QpToNlp::solve(), casadi::ImplicitToNlp::solve(), and casadi::Function::stats().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_2b6
Definition at line 1668 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vo
Definition at line 1488 of file function.cpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 1592 of file function.cpp.
Referenced by casadi::Function::map(), and casadi::Function::mapaccum().
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 1584 of file function.cpp.
Referenced by casadi::Function::conditional(), casadi::DaeBuilderInternal::create(), casadi::FixedStepIntegrator::create_advanced(), casadi::Function::fold(), casadi::Map::get_forward(), casadi::MapSum::get_forward(), casadi::Switch::get_forward(), casadi::MX::get_input(), casadi::Map::get_reverse(), casadi::MapSum::get_reverse(), casadi::Switch::get_reverse(), casadi::Blocksqp::init(), casadi::Scpgen::init(), casadi::Function::map(), and casadi::DaeBuilderInternal::transition().
|
inlineinherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 955 of file function.hpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 1596 of file function.cpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 1588 of file function.cpp.
|
inlineinherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 973 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v8
Definition at line 819 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), casadi::Function::buf_in(), casadi::OracleFunction::calc_function(), casadi::DaeBuilderInternal::CallIO::calc_jac(), casadi::Call::Call(), casadi::Function::call_gen(), casadi::Nlpsol::callback(), casadi::FiniteDiff::codegen_body(), casadi::Sqpmethod::codegen_qp_ela_solve(), casadi::Feasiblesqpmethod::codegen_qp_solve(), casadi::Sqpmethod::codegen_qp_solve(), casadi::MapSum::create(), casadi::OracleFunction::create_function(), casadi::SXFunction::disp_more(), casadi::FiniteDiff::eval(), casadi::Scpgen::eval_exp(), casadi::Scpgen::eval_mat(), casadi::Scpgen::eval_res(), casadi::CallSX::eval_sx(), casadi::Scpgen::eval_vec(), casadi::SXFunction::ExtendedAlgEl::ExtendedAlgEl(), casadi::External::factory(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionInternal::forward(), casadi::FiniteDiff::get_default_in(), casadi::FunctionInternal::get_n_in(), casadi::FiniteDiff::get_n_in(), casadi::Switch::get_n_in(), casadi::FunctionInternal::get_n_out(), casadi::FunctionInternal::get_name_in(), casadi::FiniteDiff::get_name_in(), casadi::FunctionInternal::get_name_out(), casadi::FunctionInternal::get_sparsity_in(), casadi::FiniteDiff::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), casadi::Integrator::init(), casadi::Nlpsol::init(), casadi::Rootfinder::init(), casadi::BonminInterface::init(), casadi::IpoptInterface::init(), casadi::FastNewton::init(), casadi::Feasiblesqpmethod::init(), casadi::Newton::init(), casadi::Sqpmethod::init(), casadi::BonminInterface::intermediate_callback(), casadi::IpoptInterface::intermediate_callback(), casadi::Function::jac_sparsity(), casadi::FunctionInternal::jacobian(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::MapSum::MapSum(), casadi::SymbolicQr::nfact(), casadi::SXNode::print_compact(), casadi::qpsol_nlp(), casadi::Function::rev(), casadi::FunctionInternal::reverse(), casadi::simpleIntegrator(), casadi::simpleIRK(), casadi::simpleRK(), casadi::WorhpInterface::solve(), casadi::Scpgen::solve(), casadi::SymbolicQr::solve(), casadi::Sqpmethod::solve_ela_QP(), casadi::Feasiblesqpmethod::solve_LP(), casadi::Feasiblesqpmethod::solve_QP(), casadi::Qrsqp::solve_QP(), casadi::Scpgen::solve_qp(), casadi::Sqpmethod::solve_QP(), and casadi::ThreadsWork().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xe
Definition at line 1709 of file function.cpp.
Referenced by casadi::MXFunction::export_code_body(), and casadi::SXFunction::export_code_body().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xd
Definition at line 1765 of file function.cpp.
Referenced by casadi::Scpgen::init(), and casadi::MX::n_nodes().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v9
Definition at line 823 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), casadi::Function::buf_out(), casadi::OracleFunction::calc_function(), casadi::DaeBuilderInternal::CallIO::calc_jac(), casadi::Function::call_gen(), casadi::Nlpsol::callback(), casadi::FiniteDiff::codegen_body(), casadi::Sqpmethod::codegen_qp_ela_solve(), casadi::Feasiblesqpmethod::codegen_qp_solve(), casadi::Sqpmethod::codegen_qp_solve(), casadi::Function::conditional(), casadi::MapSum::create(), casadi::OracleFunction::create_function(), casadi::SXFunction::disp_more(), casadi::FiniteDiff::eval(), casadi::Scpgen::eval_exp(), casadi::Scpgen::eval_mat(), casadi::Scpgen::eval_res(), casadi::CallSX::eval_sx(), casadi::Scpgen::eval_vec(), casadi::MXFunction::export_code_body(), casadi::SXFunction::ExtendedAlgEl::ExtendedAlgEl(), casadi::External::factory(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionInternal::forward(), casadi::FunctionInternal::get_n_in(), casadi::FiniteDiff::get_n_in(), casadi::FunctionInternal::get_n_out(), casadi::FiniteDiff::get_n_out(), casadi::Switch::get_n_out(), casadi::FunctionInternal::get_name_in(), casadi::FiniteDiff::get_name_in(), casadi::FunctionInternal::get_sparsity_in(), casadi::FiniteDiff::get_sparsity_in(), casadi::Integrator::init(), casadi::Nlpsol::init(), casadi::Rootfinder::init(), casadi::BonminInterface::init(), casadi::IpoptInterface::init(), casadi::Feasiblesqpmethod::init(), casadi::Sqpmethod::init(), casadi::BonminInterface::intermediate_callback(), casadi::IpoptInterface::intermediate_callback(), casadi::Function::jac_sparsity(), casadi::FunctionInternal::jacobian(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::MapSum::MapSum(), casadi::SymbolicQr::nfact(), casadi::Call::nout(), casadi::qpsol_nlp(), casadi::Function::rev(), casadi::FunctionInternal::reverse(), casadi::simpleIntegrator(), casadi::simpleIRK(), casadi::simpleRK(), casadi::WorhpInterface::solve(), casadi::Scpgen::solve(), casadi::SymbolicQr::solve(), casadi::Sqpmethod::solve_ela_QP(), casadi::Feasiblesqpmethod::solve_LP(), casadi::Feasiblesqpmethod::solve_QP(), casadi::Qrsqp::solve_QP(), casadi::Scpgen::solve_qp(), casadi::Sqpmethod::solve_QP(), and casadi::ThreadsWork().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xv
Definition at line 1307 of file function.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
Referenced by casadi::CodeGenerator::add(), casadi::DaeBuilderInternal::add_fun(), casadi::Integrator::augmented_dae(), casadi::Function::bspline(), casadi::Call::Call(), casadi::Function::check_name(), casadi::Function::conditional(), construct(), casadi::Function::construct(), casadi::MapSum::create(), casadi::Map::create(), casadi::FixedStepIntegrator::create_advanced(), casadi::Call::disp(), casadi::Switch::disp_more(), casadi::SXFunction::disp_more(), casadi::Function::expand(), casadi::Function::factory(), casadi::Function::find_function(), casadi::Function::fix_name(), casadi::Function::fold(), casadi::Function::Function(), casadi::FunctionInternal::FunctionInternal(), casadi::Function::generate(), get_forward(), casadi::MapSum::get_forward(), casadi::Function::get_function(), get_jacobian(), casadi::FunctionInternal::get_n_in(), casadi::FunctionInternal::get_n_out(), casadi::FunctionInternal::get_name_in(), casadi::FunctionInternal::get_name_out(), get_reverse(), casadi::MapSum::get_reverse(), casadi::FunctionInternal::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), casadi::Function::has_in(), casadi::Function::has_out(), casadi::Function::hessian_old(), casadi::Function::if_else(), casadi::Function::index_in(), casadi::Function::index_out(), casadi::FunctionInternal::init(), casadi::ImplicitFixedStepIntegrator::init(), casadi::Rootfinder::init(), casadi::SundialsInterface::init(), casadi::FunctionInternal::jac_is_symm(), casadi::Function::jacobian_old(), casadi::Function::jit(), casadi::FunctionInternal::map(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::SXNode::print_compact(), casadi::Function::print_option(), casadi::OptiNode::scale_helper(), casadi::OracleFunction::set_function(), casadi::RungeKutta::setup_step(), casadi::Function::slice(), casadi::FunctionInternal::tocache(), and casadi::FunctionInternal::tocache_if_missing().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vg
Definition at line 961 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), casadi::Function::assert_size_in(), casadi::OracleFunction::calc_function(), casadi::Function::conditional(), casadi::Function::construct(), casadi::DaeBuilderInternal::create(), casadi::Function::expand(), casadi::External::factory(), casadi::Function::fold(), casadi::Function::Function(), casadi::KinsolInterface::get_jtimes(), casadi::FunctionInternal::get_name_in(), casadi::FiniteDiff::get_name_in(), casadi::Rootfinder::get_name_in(), casadi::FunctionInternal::get_name_out(), casadi::Rootfinder::get_name_out(), casadi::Function::hessian_old(), casadi::Rootfinder::init(), casadi::Function::jacobian_old(), casadi::Function::jit(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::qpsol_nlp(), and casadi::OptiNode::scale_helper().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vi
Definition at line 999 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vh
Definition at line 965 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), casadi::Function::assert_size_out(), casadi::Function::assert_sparsity_out(), casadi::OracleFunction::calc_function(), casadi::Function::call_gen(), casadi::Function::conditional(), casadi::Function::construct(), casadi::DaeBuilderInternal::create(), casadi::Function::expand(), casadi::External::factory(), casadi::Function::fold(), casadi::Function::Function(), casadi::KinsolInterface::get_jtimes(), casadi::FunctionInternal::get_name_in(), casadi::FiniteDiff::get_name_in(), casadi::FunctionInternal::get_name_out(), casadi::FiniteDiff::get_name_out(), casadi::Rootfinder::get_name_out(), casadi::Function::hessian_old(), casadi::Rootfinder::init(), casadi::Function::jacobian_old(), casadi::Function::jit(), casadi::Function::map(), casadi::Function::mapaccum(), casadi::qpsol_nlp(), and casadi::OptiNode::scale_helper().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vj
Definition at line 1007 of file function.cpp.
|
inherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vc
Definition at line 851 of file function.cpp.
Referenced by casadi::_which_depends(), casadi::SXFunction::ad_forward(), casadi::SXFunction::ad_reverse(), casadi::Function::buf_in(), casadi::OracleFunction::calc_function(), casadi::FiniteDiff::codegen_body(), casadi::Map::codegen_body(), casadi::OmpMap::codegen_body(), casadi::MapSum::codegen_body(), casadi::CallSX::create(), casadi::SXFunction::disp_more(), casadi::FiniteDiff::eval(), casadi::OmpMap::eval(), casadi::Map::eval_gen(), casadi::MapSum::eval_gen(), casadi::CallSX::eval_sx(), casadi::SXFunction::ExtendedAlgEl::ExtendedAlgEl(), casadi::Call::generate(), casadi::Function::generate_in(), casadi::MapSum::get_forward(), casadi::MapSum::get_reverse(), casadi::FiniteDiff::init(), casadi::Rootfinder::init(), casadi::SXFunction::init(), casadi::ImplicitToNlp::init(), casadi::QpToNlp::init(), casadi::SXNode::print_compact(), casadi::FunctionBuffer::set_arg(), casadi::ImplicitToNlp::set_work(), casadi::ImplicitToNlp::solve(), casadi::Map::sp_reverse(), casadi::MapSum::sp_reverse(), and casadi::ThreadsWork().
|
inherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vc
Definition at line 867 of file function.cpp.
|
inlineinherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vc
Definition at line 271 of file function.hpp.
References casadi::Function::nnz_in().
Referenced by casadi::Function::nnz_in().
|
inherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vd
Definition at line 855 of file function.cpp.
Referenced by casadi::_which_depends(), casadi::SXFunction::ad_forward(), casadi::SXFunction::ad_reverse(), casadi::Function::buf_out(), casadi::OracleFunction::calc_function(), casadi::SXElem::call(), casadi::FiniteDiff::codegen_body(), casadi::Map::codegen_body(), casadi::OmpMap::codegen_body(), casadi::MapSum::codegen_body(), casadi::SXFunction::disp_more(), casadi::FiniteDiff::eval(), casadi::OmpMap::eval(), casadi::Map::eval_gen(), casadi::MapSum::eval_gen(), casadi::CallSX::eval_sx(), casadi::SXFunction::ExtendedAlgEl::ExtendedAlgEl(), casadi::Call::generate(), casadi::Function::generate_out(), casadi::FiniteDiff::init(), casadi::FixedStepIntegrator::init(), casadi::MapSum::init(), casadi::Rootfinder::init(), casadi::SXFunction::init(), casadi::SundialsInterface::init(), casadi::SuperscsInterface::init(), casadi::SymbolicQr::init_mem(), casadi::FunctionBuffer::set_res(), casadi::SundialsInterface::set_work(), casadi::SuperscsInterface::solve(), casadi::Map::sp_reverse(), casadi::MapSum::sp_reverse(), and casadi::ThreadsWork().
|
inherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vd
Definition at line 871 of file function.cpp.
|
inlineinherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vd
Definition at line 282 of file function.hpp.
References casadi::Function::nnz_out().
Referenced by casadi::Function::nnz_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vp
Definition at line 1492 of file function.cpp.
Referenced by casadi::Integrator::init().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vq
Definition at line 1496 of file function.cpp.
|
inherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1ve
Definition at line 859 of file function.cpp.
Referenced by casadi::Integrator::init().
|
inherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1ve
Definition at line 875 of file function.cpp.
|
inlineinherited |
For a particular input or for all of the inputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1ve
Definition at line 293 of file function.hpp.
References casadi::Function::numel_in().
Referenced by casadi::Function::numel_in().
|
inherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vf
Definition at line 863 of file function.cpp.
Referenced by casadi::Integrator::init(), and casadi::Nlpsol::init().
|
inherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vf
Definition at line 879 of file function.cpp.
|
inlineinherited |
For a particular output or for all of the outputs
Extra doc: https://github.com/casadi/casadi/wiki/L_1vf
Definition at line 304 of file function.hpp.
References casadi::Function::numel_out().
Referenced by casadi::Function::numel_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1600 of file function.cpp.
Referenced by casadi::Function::generate_in().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1604 of file function.cpp.
Referenced by casadi::Function::generate_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1608 of file function.cpp.
Referenced by casadi::Function::generate_in().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1612 of file function.cpp.
Referenced by casadi::Function::generate_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1we
Definition at line 1091 of file function.cpp.
References casadi::Function::memory().
Functor shorthand for evaluation, single argument (only C++)
Definition at line 597 of file function.hpp.
Functor shorthand for evaluation
Definition at line 1435 of file function.cpp.
References casadi::Function::call().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wc
Definition at line 1505 of file function.cpp.
References casadi::Function::operator()().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wb
Definition at line 1511 of file function.cpp.
References casadi::Function::memory(), casadi::uerr(), and casadi::CasadiException::what().
Functor shorthand for evaluation, single argument (only C++)
Definition at line 603 of file function.hpp.
Functor shorthand for evaluation
Definition at line 1447 of file function.cpp.
References casadi::Function::call().
Functor shorthand for evaluation
Definition at line 1400 of file function.cpp.
References casadi::Function::call().
Referenced by casadi::Function::operator()().
Functor shorthand for evaluation
Definition at line 1412 of file function.cpp.
References casadi::Function::call().
Functor shorthand for evaluation
Definition at line 1406 of file function.cpp.
References casadi::Function::call().
Functor shorthand for evaluation, single argument (only C++)
Definition at line 600 of file function.hpp.
Functor shorthand for evaluation
Definition at line 1441 of file function.cpp.
References casadi::Function::call().
|
inherited |
Same syntax as the double version, allowing use in templated code
Extra doc: https://github.com/casadi/casadi/wiki/L_1wd
Definition at line 1543 of file function.cpp.
References casadi::Function::memory().
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 590 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 592 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 589 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 591 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 484 of file function.cpp.
References casadi::Function::call_gen().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 480 of file function.cpp.
References casadi::Function::call_gen().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 488 of file function.cpp.
References casadi::Function::call_gen().
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 585 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 587 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 584 of file function.hpp.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wa
Definition at line 586 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x3
Definition at line 348 of file function.cpp.
References casadi::Function::get(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
|
inherited |
Definition at line 1924 of file function.cpp.
References casadi::Function::get(), casadi::GenericShared< Shared, Internal >::is_null(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vu
Definition at line 1908 of file function.cpp.
References casadi::FunctionInternal::oracle().
Definition at line 1942 of file function.cpp.
References casadi::MXFunction::order().
Definition at line 1938 of file function.cpp.
References casadi::SXFunction::order().
Referenced by casadi::SerializerBase::pack(), and casadi::Function::which_depends().
|
inherited |
Assign the node to a node class pointer (or null)
Definition at line 90 of file generic_shared_impl.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vy
Definition at line 1151 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w0
Definition at line 1159 of file function.cpp.
References casadi::Function::name().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vz
Definition at line 1155 of file function.cpp.
|
inherited |
Print the pointer to the internal class
Definition at line 43 of file shared_object.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::get().
|
staticprotectedinherited |
|
inherited |
Definition at line 1777 of file function.cpp.
Referenced by casadi::QpToNlp::free_mem(), casadi::Sqpmethod::free_mem(), and casadi::FunctionBuffer::~FunctionBuffer().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wf
Definition at line 1100 of file function.cpp.
References casadi::Function::memory().
Referenced by casadi::_which_depends(), casadi::Function::rev(), casadi::Call::sp_reverse(), casadi::Map::sp_reverse(), casadi::MapSum::sp_reverse(), and casadi::Rootfinder::sp_reverse().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wg
Definition at line 492 of file function.cpp.
References casadi::get_ptr(), casadi::Function::n_in(), casadi::Function::n_out(), casadi::Function::rev(), casadi::Function::sz_arg(), casadi::Function::sz_iw(), casadi::Function::sz_res(), and casadi::Function::sz_w().
|
inherited |
Returns a function with <tt>n_in + n_out + n_out</tt> inputs and <tt>n_in</tt> outputs. The first <tt>n_in</tt> inputs correspond to nondifferentiated inputs. The next <tt>n_out</tt> inputs correspond to nondifferentiated outputs. and the last <tt>n_out</tt> inputs correspond to adjoint seeds, stacked horizontally The <tt>n_in</tt> outputs correspond to adjoint sensitivities, stacked horizontally. * <tt>(n_in = n_in(), n_out = n_out())</tt> <tt>(n_in = n_in(), n_out = n_out())</tt> The functions returned are cached, meaning that if called multiple timed with the same value, then multiple references to the same function will be returned.
Extra doc: https://github.com/casadi/casadi/wiki/L_1wr
Definition at line 1143 of file function.cpp.
References casadi::FunctionInternal::reverse().
Referenced by casadi::SXFunction::ad_reverse(), casadi::DaeBuilderInternal::export_fmu(), casadi::Map::get_reverse(), casadi::MapSum::get_reverse(), casadi::Nlpsol::get_reverse(), casadi::Switch::get_reverse(), casadi::Integrator::init(), casadi::ImplicitFixedStepIntegrator::init(), casadi::FunctionInternal::reverse(), and casadi::RungeKutta::setup_step().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_240
Definition at line 1269 of file function.cpp.
References casadi::SerializerBase::pack().
Extra doc: https://github.com/casadi/casadi/wiki/L_1x2
Definition at line 1274 of file function.cpp.
References casadi::Function::serialize().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x1
Definition at line 1285 of file function.cpp.
References casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null(), and casadi::SerializingStream::pack().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x0
Definition at line 1280 of file function.cpp.
Referenced by casadi::Function::serialize().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xs
Definition at line 1117 of file function.cpp.
References casadi::Function::memory().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xr
Definition at line 1108 of file function.cpp.
References casadi::Function::memory().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xt
Definition at line 1126 of file function.cpp.
References casadi::Function::memory().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 827 of file function.cpp.
Referenced by casadi::Function::assert_size_in(), casadi::Blocksqp::feasibilityRestorationPhase(), and casadi::Blocksqp::init().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 240 of file function.hpp.
References casadi::Function::size1_in().
Referenced by casadi::Function::size1_in().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 835 of file function.cpp.
Referenced by casadi::Function::assert_size_out(), and casadi::Blocksqp::init().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 254 of file function.hpp.
References casadi::Function::size1_out().
Referenced by casadi::Function::size1_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 831 of file function.cpp.
Referenced by casadi::Function::assert_size_in(), casadi::Function::map(), and casadi::Function::mapaccum().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 242 of file function.hpp.
References casadi::Function::size2_in().
Referenced by casadi::Function::size2_in().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 839 of file function.cpp.
Referenced by casadi::Function::assert_size_out(), casadi::Function::fold(), and casadi::Function::map().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 256 of file function.hpp.
References casadi::Function::size2_out().
Referenced by casadi::Function::size2_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 843 of file function.cpp.
Referenced by casadi::DaeBuilderInternal::CallIO::calc_jac(), casadi::Integrator::get_reverse(), and casadi::Nlpsol::init().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 244 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 847 of file function.cpp.
Referenced by casadi::DaeBuilderInternal::CallIO::calc_jac(), casadi::SqicInterface::generateNativeCode(), casadi::FunctionInternal::get_sparsity_in(), and casadi::SqicInterface::init().
|
inlineinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 258 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wl
Definition at line 746 of file function.cpp.
References casadi::Function::name(), and casadi::FunctionInternal::slice().
Referenced by casadi::Function::mapaccum(), and casadi::FunctionInternal::slice().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vr
Definition at line 1015 of file function.cpp.
Referenced by casadi::Call::Call(), casadi::Switch::codegen_body(), casadi::SXFunction::eval_mx(), casadi::Switch::eval_sx(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::Integrator::get_forward_dae(), casadi::FunctionInternal::get_sparsity_in(), casadi::FiniteDiff::get_sparsity_in(), casadi::Nlpsol::get_sparsity_in(), casadi::Switch::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), casadi::Nlpsol::get_sparsity_out(), casadi::Rootfinder::get_sparsity_out(), casadi::Integrator::init(), casadi::Nlpsol::init(), casadi::Rootfinder::init(), casadi::Switch::init(), casadi::Function::jit(), casadi::Function::map(), casadi::Collocation::setup_step(), casadi::RungeKutta::setup_step(), casadi::simpleIntegrator(), casadi::simpleIRK(), casadi::simpleRK(), and casadi::Function::sparsity_in().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vr
Definition at line 1023 of file function.cpp.
References casadi::Function::index_in(), and casadi::Function::sparsity_in().
|
inherited |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 906 of file function.cpp.
Referenced by casadi::Blocksqp::init().
|
inlineinherited |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 490 of file function.hpp.
|
inlineinherited |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 486 of file function.hpp.
|
inlineinherited |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 494 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vs
Definition at line 1031 of file function.cpp.
Referenced by casadi::Function::assert_sparsity_out(), casadi::OracleFunction::calc_function(), casadi::Switch::codegen_body(), casadi::Function::conditional(), casadi::Switch::eval_sx(), casadi::MXFunction::export_code_body(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::Integrator::get_forward_dae(), casadi::FunctionInternal::get_sparsity_in(), casadi::FiniteDiff::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), casadi::FiniteDiff::get_sparsity_out(), casadi::Nlpsol::get_sparsity_out(), casadi::Rootfinder::get_sparsity_out(), casadi::Switch::get_sparsity_out(), casadi::Integrator::init(), casadi::Nlpsol::init(), casadi::Rootfinder::init(), casadi::Switch::init(), casadi::KnitroInterface::init(), casadi::SnoptInterface::init(), casadi::SundialsInterface::init(), casadi::SuperscsInterface::init(), casadi::Qrsqp::init(), casadi::Scpgen::init(), casadi::SuperscsInterface::init_mem(), casadi::Function::jac_sparsity(), casadi::Function::jit(), casadi::IdasInterface::psetupF(), casadi::Call::sparsity(), and casadi::Function::sparsity_out().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vs
Definition at line 1039 of file function.cpp.
References casadi::Function::index_out(), and casadi::Function::sparsity_out().
|
inherited |
Definition at line 928 of file function.cpp.
References casadi::Function::memory().
Referenced by casadi::DaeBuilder::get(), casadi::MXFunction::get_stats(), casadi::ImplicitToNlp::get_stats(), casadi::FunctionBuffer::stats(), and casadi::OptiNode::stats().
|
inherited |
Definition at line 106 of file generic_shared_impl.hpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 1568 of file function.cpp.
Referenced by casadi::Function::expand().
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 1552 of file function.cpp.
Referenced by casadi::Matrix< Scalar >::get_input(), casadi::AmplInterface::init(), and casadi::qpsol_nlp().
|
inlineinherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x4
Definition at line 950 of file function.hpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 1576 of file function.cpp.
|
inherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 1560 of file function.cpp.
|
inlineinherited |
There is no guarantee that subsequent calls return unique answers
Extra doc: https://github.com/casadi/casadi/wiki/L_1x5
Definition at line 968 of file function.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xm
Definition at line 1083 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), casadi::Function::buf_in(), casadi::Function::call_gen(), casadi::Nlpsol::codegen_body_enter(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::Map::init(), casadi::OmpMap::init(), casadi::ThreadMap::init(), casadi::MapSum::init(), casadi::SXFunction::init(), casadi::BSplineInterpolant::init(), casadi::Function::rev(), casadi::Call::sz_arg(), and casadi::Function::sz_work().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xo
Definition at line 1087 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), casadi::Function::call_gen(), casadi::Nlpsol::codegen_body_enter(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::Map::init(), casadi::OmpMap::init(), casadi::ThreadMap::init(), casadi::MapSum::init(), casadi::SXFunction::init(), casadi::BSplineInterpolant::init(), casadi::Function::rev(), casadi::Call::sz_iw(), and casadi::Function::sz_work().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xn
Definition at line 1085 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), casadi::Function::buf_out(), casadi::Function::call_gen(), casadi::Nlpsol::codegen_body_enter(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::Map::init(), casadi::OmpMap::init(), casadi::ThreadMap::init(), casadi::MapSum::init(), casadi::SXFunction::init(), casadi::BSplineInterpolant::init(), casadi::Function::rev(), casadi::Call::sz_res(), and casadi::Function::sz_work().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xp
Definition at line 1089 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), casadi::Function::call_gen(), casadi::MapSum::codegen_body(), casadi::Nlpsol::codegen_body_enter(), casadi::MapSum::eval_gen(), casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::Map::init(), casadi::OmpMap::init(), casadi::ThreadMap::init(), casadi::MapSum::init(), casadi::Rootfinder::init(), casadi::SXFunction::init(), casadi::BSplineInterpolant::init(), casadi::Function::rev(), casadi::MapSum::sp_reverse(), casadi::Call::sz_w(), and casadi::Function::sz_work().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xq
Definition at line 1079 of file function.cpp.
References casadi::Function::sz_arg(), casadi::Function::sz_iw(), casadi::Function::sz_res(), and casadi::Function::sz_w().
Referenced by casadi::FunctionInternal::alloc(), casadi::OmpMap::codegen_body(), casadi::OmpMap::eval(), casadi::OracleFunction::finalize(), and casadi::ThreadsWork().
|
staticinherited |
Definition at line 924 of file function.cpp.
|
inlinestatic |
Extra doc: https://github.com/casadi/casadi/wiki/L_o1
Definition at line 54 of file casadi/core/callback.hpp.
|
virtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_og
Definition at line 88 of file callback.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_aw
Definition at line 131 of file generic_shared_impl.hpp.
|
inherited |
[in] | order | Only 1 (linear) and 2 (nonlinear) allowed |
[in] | tr | Flip the relationship. Return which expressions contain the variables |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vx
Definition at line 1825 of file function.cpp.
References casadi::Function::order().
Referenced by casadi::BonminInterface::init(), casadi::IpoptInterface::init(), casadi::KnitroInterface::init(), and casadi::FunctionInternal::which_depends().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vv
Definition at line 1916 of file function.cpp.
References casadi::FunctionInternal::wrap().
Referenced by casadi::FunctionInternal::which_depends().
Extra doc: https://github.com/casadi/casadi/wiki/L_1vw
Definition at line 1920 of file function.cpp.
References casadi::FunctionInternal::wrap_as_needed().
Referenced by casadi::MapSum::create().