#include <function.hpp>
A Function instance is a general multiple-input, multiple-output function where each input and output can be a sparse matrix.
For an introduction to this class, see the CasADi user guide.
Function is a reference counted and immutable class; copying a class instance is very cheap and its behavior (with some exceptions) is not affected by calling its member functions.
Extra doc: https://github.com/casadi/casadi/wiki/L_1uw
Id | Type | Description | Used in |
---|---|---|---|
ad_weight | OT_DOUBLE | Weighting factor for derivative calculation.When there is an option of either using forward or reverse mode directional derivatives, the condition ad_weight*nf<=(1-ad_weight)*na is used where nf and na are estimates of the number of forward/reverse mode directional derivatives needed. By default, ad_weight is calculated automatically, but this can be overridden by setting this option. In particular, 0 means forcing forward mode and 1 forcing reverse mode. Leave unset for (class specific) heuristics. | casadi::FunctionInternal |
ad_weight_sp | OT_DOUBLE | Weighting factor for sparsity pattern calculation calculation.Overrides default behavior. Set to 0 and 1 to force forward and reverse mode respectively. Cf. option "ad_weight". When set to -1, sparsity is completely ignored and dense matrices are used. | casadi::FunctionInternal |
always_inline | OT_BOOL | Force inlining. | casadi::FunctionInternal |
cache | OT_DICT | Prepopulate the function cache. Default: empty | casadi::FunctionInternal |
compiler | OT_STRING | Just-in-time compiler plugin to be used. | casadi::FunctionInternal |
custom_jacobian | OT_FUNCTION | Override CasADi's AD. Use together with 'jac_penalty': 0. Note: Highly experimental. Syntax may break often. | casadi::FunctionInternal |
der_options | OT_DICT | Default options to be used to populate forward_options, reverse_options, and jacobian_options before those options are merged in. | casadi::FunctionInternal |
derivative_of | OT_FUNCTION | The function is a derivative of another function. The type of derivative (directional derivative, Jacobian) is inferred from the function name. | casadi::FunctionInternal |
dump | OT_BOOL | Dump function to file upon first evaluation. [false] | casadi::FunctionInternal |
dump_dir | OT_STRING | Directory to dump inputs/outputs to. Make sure the directory exists [.] | casadi::FunctionInternal |
dump_format | OT_STRING | Choose file format to dump matrices. See DM.from_file [mtx] | casadi::FunctionInternal |
dump_in | OT_BOOL | Dump numerical values of inputs to file (readable with DM.from_file) [default: false] | casadi::FunctionInternal |
dump_out | OT_BOOL | Dump numerical values of outputs to file (readable with DM.from_file) [default: false] | casadi::FunctionInternal |
enable_fd | OT_BOOL | Enable derivative calculation by finite differencing. [default: false]] | casadi::FunctionInternal |
enable_forward | OT_BOOL | Enable derivative calculation using generated functions for Jacobian-times-vector products - typically using forward mode AD - if available. [default: true] | casadi::FunctionInternal |
enable_jacobian | OT_BOOL | Enable derivative calculation using generated functions for Jacobians of all differentiable outputs with respect to all differentiable inputs - if available. [default: true] | casadi::FunctionInternal |
enable_reverse | OT_BOOL | Enable derivative calculation using generated functions for transposed Jacobian-times-vector products - typically using reverse mode AD - if available. [default: true] | casadi::FunctionInternal |
error_on_fail | OT_BOOL | Throw exceptions when function evaluation fails (default true). | casadi::ProtoFunction |
external_transform | OT_VECTORVECTOR | List of external_transform instruction arguments. Default: empty | casadi::FunctionInternal |
fd_method | OT_STRING | Method for finite differencing [default 'central'] | casadi::FunctionInternal |
fd_options | OT_DICT | Options to be passed to the finite difference instance | casadi::FunctionInternal |
forward_options | OT_DICT | Options to be passed to a forward mode constructor | casadi::FunctionInternal |
gather_stats | OT_BOOL | Deprecated option (ignored): Statistics are now always collected. | casadi::FunctionInternal |
input_scheme | OT_STRINGVECTOR | Deprecated option (ignored) | casadi::FunctionInternal |
inputs_check | OT_BOOL | Throw exceptions when the numerical values of the inputs don't make sense | casadi::FunctionInternal |
is_diff_in | OT_BOOLVECTOR | Indicate for each input if it should be differentiable. | casadi::FunctionInternal |
is_diff_out | OT_BOOLVECTOR | Indicate for each output if it should be differentiable. | casadi::FunctionInternal |
jac_penalty | OT_DOUBLE | When requested for a number of forward/reverse directions, it may be cheaper to compute first the full jacobian and then multiply with seeds, rather than obtain the requested directions in a straightforward manner. Casadi uses a heuristic to decide which is cheaper. A high value of 'jac_penalty' makes it less likely for the heurstic to chose the full Jacobian strategy. The special value -1 indicates never to use the full Jacobian strategy | casadi::FunctionInternal |
jacobian_options | OT_DICT | Options to be passed to a Jacobian constructor | casadi::FunctionInternal |
jit | OT_BOOL | Use just-in-time compiler to speed up the evaluation | casadi::FunctionInternal |
jit_cleanup | OT_BOOL | Cleanup up the temporary source file that jit creates. Default: true | casadi::FunctionInternal |
jit_name | OT_STRING | The file name used to write out code. The actual file names used depend on 'jit_temp_suffix' and include extensions. Default: 'jit_tmp' | casadi::FunctionInternal |
jit_options | OT_DICT | Options to be passed to the jit compiler. | casadi::FunctionInternal |
jit_serialize | OT_STRING | Specify behaviour when serializing a jitted function: SOURCE|link|embed. | casadi::FunctionInternal |
jit_temp_suffix | OT_BOOL | Use a temporary (seemingly random) filename suffix for generated code and libraries. This is desired for thread-safety. This behaviour may defeat caching compiler wrappers. Default: true | casadi::FunctionInternal |
max_io | OT_INT | Acceptable number of inputs and outputs. Warn if exceeded. | casadi::FunctionInternal |
max_num_dir | OT_INT | Specify the maximum number of directions for derivative functions. Overrules the builtin optimized_num_dir. | casadi::FunctionInternal |
never_inline | OT_BOOL | Forbid inlining. | casadi::FunctionInternal |
output_scheme | OT_STRINGVECTOR | Deprecated option (ignored) | casadi::FunctionInternal |
post_expand | OT_BOOL | After construction, expand this Function. Default: False | casadi::FunctionInternal |
post_expand_options | OT_DICT | Options to be passed to post-construction expansion. Default: empty | casadi::FunctionInternal |
print_in | OT_BOOL | Print numerical values of inputs [default: false] | casadi::FunctionInternal |
print_out | OT_BOOL | Print numerical values of outputs [default: false] | casadi::FunctionInternal |
print_time | OT_BOOL | print information about execution time. Implies record_time. | casadi::ProtoFunction |
record_time | OT_BOOL | record information about execution time, for retrieval with stats(). | casadi::ProtoFunction |
regularity_check | OT_BOOL | Throw exceptions when NaN or Inf appears during evaluation | casadi::ProtoFunction |
reverse_options | OT_DICT | Options to be passed to a reverse mode constructor | casadi::FunctionInternal |
user_data | OT_VOIDPTR | A user-defined field that can be used to identify the function or pass additional information | casadi::FunctionInternal |
verbose | OT_BOOL | Verbose evaluation – for debugging | casadi::ProtoFunction |
Definition at line 58 of file function.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 | |
Function () | |
Default constructor, null pointer. More... | |
Function (const std::string &fname) | |
Construct from a file. More... | |
~Function () | |
Destructor. 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::vector< std::string > & | name_out () const |
Get output scheme. More... | |
const std::string & | name_in (casadi_int ind) const |
Get input scheme name by index. 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... | |
bool | uses_output () const |
Do the derivative functions need nondifferentiated outputs? 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... | |
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... | |
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... | |
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... | |
Function (const std::string &name, const std::vector< SX > &ex_in, const std::vector< SX > &ex_out, const Dict &opts=Dict()) | |
Construct an SX function. More... | |
Function (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=Dict()) | |
Construct an SX function. More... | |
Function (const std::string &name, const std::map< std::string, SX > &dict, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts=Dict()) | |
Construct an SX function. More... | |
Function (const std::string &name, const std::vector< MX > &ex_in, const std::vector< MX > &ex_out, const Dict &opts=Dict()) | |
Construct an MX function. More... | |
Function (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=Dict()) | |
Construct an MX function. More... | |
Function (const std::string &name, const std::map< std::string, MX > &dict, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts=Dict()) | |
Construct an MX function. More... | |
Function (const std::string &name, SXIList ex_in, const SXVector &ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, const SXVector &ex_in, SXIList ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, SXIList ex_in, SXIList ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, SXIList ex_in, const SXVector &ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, const SXVector &ex_in, SXIList ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, SXIList ex_in, SXIList ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, MXIList ex_in, const MXVector &ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, const MXVector &ex_in, MXIList ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, MXIList ex_in, MXIList ex_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, MXIList ex_in, const MXVector &ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, const MXVector &ex_in, MXIList ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. More... | |
Function (const std::string &name, MXIList ex_in, MXIList ex_out, const StringVector &name_in, const StringVector &name_out, const Dict &opts=Dict()) | |
To resolve ambiguity on some compilers. 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... | |
bool | is_diff_out (casadi_int ind) const |
Get differentiability of inputs/output. More... | |
std::vector< bool > | is_diff_in () 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... | |
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... | |
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... | |
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... | |
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_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... | |
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_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... | |
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 | load (const std::string &filename) |
Build function from serialization. More... | |
static Function | deserialize (DeserializingStream &s) |
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... | |
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... | |
std::vector< const double * > | buf_in (VecArg 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< const double * > | buf_in (MapArg arg) 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 std::map<std::string, std::vector<std::string> > casadi::Function::AuxOut |
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.
typedef const std::map<std::string, std::vector<double> >& casadi::Function::MapArg |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 572 of file function.hpp.
typedef std::map<std::string, std::vector<double> >& casadi::Function::MapRes |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 574 of file function.hpp.
typedef std::map<std::string, std::vector<double>*> casadi::Function::MPrRes |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 576 of file function.hpp.
typedef const std::vector<std::vector<double> >& casadi::Function::VecArg |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 565 of file function.hpp.
typedef std::vector<std::vector<double> >& casadi::Function::VecRes |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 567 of file function.hpp.
typedef std::vector<std::vector<double>*> casadi::Function::VPrRes |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 569 of file function.hpp.
casadi::Function::Function | ( | ) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1uy
Definition at line 58 of file function.cpp.
Referenced by bspline(), deserialize(), expand(), find_function(), fold(), map(), and mapaccum().
casadi::Function::Function | ( | const std::string & | fname | ) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1uz
Definition at line 92 of file function.cpp.
casadi::Function::Function | ( | const std::string & | name, |
const std::vector< SX > & | ex_in, | ||
const std::vector< SX > & | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v0
Definition at line 96 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | 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 = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v0
Definition at line 102 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
const std::map< std::string, SX > & | dict, | ||
const std::vector< std::string > & | name_in, | ||
const std::vector< std::string > & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v0
Definition at line 183 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
const std::vector< MX > & | ex_in, | ||
const std::vector< MX > & | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v1
Definition at line 110 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | 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 = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v1
Definition at line 116 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
const std::map< std::string, MX > & | dict, | ||
const std::vector< std::string > & | name_in, | ||
const std::vector< std::string > & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v1
Definition at line 189 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
SXIList | ex_in, | ||
const SXVector & | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 124 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
const SXVector & | ex_in, | ||
SXIList | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 129 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
SXIList | ex_in, | ||
SXIList | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 134 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
SXIList | ex_in, | ||
const SXVector & | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 138 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
const SXVector & | ex_in, | ||
SXIList | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 144 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
SXIList | ex_in, | ||
SXIList | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 149 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
MXIList | ex_in, | ||
const MXVector & | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 154 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
const MXVector & | ex_in, | ||
MXIList | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 159 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
MXIList | ex_in, | ||
MXIList | ex_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 164 of file function.cpp.
References construct(), and name().
casadi::Function::Function | ( | const std::string & | name, |
MXIList | ex_in, | ||
const MXVector & | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 168 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
const MXVector & | ex_in, | ||
MXIList | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 173 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::Function | ( | const std::string & | name, |
MXIList | ex_in, | ||
MXIList | ex_out, | ||
const StringVector & | name_in, | ||
const StringVector & | name_out, | ||
const Dict & | opts = Dict() |
||
) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v2
Definition at line 178 of file function.cpp.
References construct(), name(), name_in(), and name_out().
casadi::Function::~Function | ( | ) |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v4
Definition at line 61 of file function.cpp.
|
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.
void casadi::Function::assert_size_in | ( | casadi_int | i, |
casadi_int | nrow, | ||
casadi_int | ncol | ||
) | const |
Definition at line 1785 of file function.cpp.
References name_in(), size1_in(), size2_in(), and casadi::str().
Referenced by casadi::FunctionInternal::forward(), and casadi::FunctionInternal::reverse().
void casadi::Function::assert_size_out | ( | casadi_int | i, |
casadi_int | nrow, | ||
casadi_int | ncol | ||
) | const |
Definition at line 1793 of file function.cpp.
References name_out(), size1_out(), size2_out(), and casadi::str().
Referenced by assert_sparsity_out().
void casadi::Function::assert_sparsity_out | ( | casadi_int | i, |
const Sparsity & | sp, | ||
casadi_int | n = 1 , |
||
bool | allow_all_zero_sparse = true |
||
) | const |
Definition at line 1800 of file function.cpp.
References assert_size_out(), name_out(), casadi::Sparsity::size1(), casadi::Sparsity::size2(), 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.
|
static |
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(), Function(), name(), casadi::str(), and casadi::GenericMatrix< MX >::sym().
std::vector< const double * > casadi::Function::buf_in | ( | Function::MapArg | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 418 of file function.cpp.
References casadi::get_ptr(), index_in(), nnz_in(), and sz_arg().
std::vector< const double * > casadi::Function::buf_in | ( | Function::VecArg | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 384 of file function.cpp.
References casadi::get_ptr(), n_in(), nnz_in(), and sz_arg().
std::vector< double * > casadi::Function::buf_out | ( | Function::MapRes | res | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 432 of file function.cpp.
References casadi::get_ptr(), index_out(), nnz_out(), and sz_res().
std::vector< double * > casadi::Function::buf_out | ( | Function::MPrRes | res | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 446 of file function.cpp.
References casadi::get_ptr(), index_out(), nnz_out(), and sz_res().
std::vector< double * > casadi::Function::buf_out | ( | Function::VecRes | res | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 395 of file function.cpp.
References casadi::get_ptr(), n_out(), nnz_out(), and sz_res().
std::vector< double * > casadi::Function::buf_out | ( | Function::VPrRes | res | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w9
Definition at line 406 of file function.cpp.
References casadi::get_ptr(), n_out(), nnz_out(), and sz_res().
Dict casadi::Function::cache | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_26i
Definition at line 1835 of file function.cpp.
void casadi::Function::call | ( | const DMDict & | arg, |
DMDict & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1453 of file function.cpp.
References call_gen().
void casadi::Function::call | ( | const MXDict & | arg, |
MXDict & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1471 of file function.cpp.
References call_gen().
void casadi::Function::call | ( | const std::vector< DM > & | arg, |
std::vector< DM > & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 357 of file function.cpp.
Referenced by call_gen(), casadi::detect_simple_bounds_gen(), casadi::FunctionInternal::eval_mx(), map(), casadi::MX::matrix_expand(), operator()(), and casadi::MX::substitute().
void casadi::Function::call | ( | const std::vector< MX > & | arg, |
std::vector< MX > & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 375 of file function.cpp.
void casadi::Function::call | ( | const std::vector< SX > & | arg, |
std::vector< SX > & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 366 of file function.cpp.
void casadi::Function::call | ( | const SXDict & | arg, |
SXDict & | res, | ||
bool | always_inline = false , |
||
bool | never_inline = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w7
Definition at line 1462 of file function.cpp.
References call_gen().
void casadi::Function::call_gen | ( | const std::map< std::string, M > & | arg, |
std::map< std::string, M > & | res, | ||
bool | always_inline, | ||
bool | never_inline | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xu
Definition at line 1419 of file function.cpp.
References call(), and name_out().
void casadi::Function::call_gen | ( | std::vector< const D * > | arg, |
std::vector< D * > | res | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 462 of file function.cpp.
References casadi::get_ptr(), n_in(), n_out(), sz_arg(), sz_iw(), sz_res(), and sz_w().
Referenced by call(), and operator()().
void casadi::Function::change_option | ( | const std::string & | option_name, |
const GenericType & | option_value | ||
) |
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 has_option().
|
static |
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 name().
Referenced by casadi::CodeGenerator::CodeGenerator(), fix_name(), and casadi::FunctionInternal::FunctionInternal().
casadi_int casadi::Function::checkout | ( | ) | const |
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().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wn
Definition at line 774 of file function.cpp.
References if_else(), mx_in(), n_out(), name(), name_in(), name_out(), sparsity_out(), and casadi::GenericMatrix< MX >::zeros().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wm
Definition at line 765 of file function.cpp.
References create(), and name().
Referenced by casadi::MX::conditional(), casadi::Switch::get_forward(), casadi::Switch::get_reverse(), and casadi::DaeBuilderInternal::transition().
|
protected |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 196 of file function.cpp.
References construct(), name(), name_in(), and name_out().
|
protected |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 245 of file function.cpp.
References casadi::external_transform(), name(), name_in(), name_out(), casadi::GenericShared< SharedObject, SharedObjectInternal >::operator=(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::own().
|
protected |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y8
Definition at line 217 of file function.cpp.
References casadi::external_transform(), name(), name_in(), name_out(), casadi::GenericShared< SharedObject, SharedObjectInternal >::operator=(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::own().
Referenced by construct(), and 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.
|
static |
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(), conditional(), casadi::conic(), casadi::Interpolant::construct(), casadi::MapSum::create(), casadi::Map::create(), 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(), if_else(), jit(), casadi::nlpsol(), casadi::rootfinder(), and casadi::OptiNode::solver_construct().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v7
Definition at line 342 of file function.cpp.
References casadi::ProtoFunction::construct(), and create().
|
inherited |
Definition at line 113 of file generic_shared_impl.hpp.
double casadi::Function::default_in | ( | casadi_int | ind | ) | const |
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().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y0
Definition at line 1359 of file function.cpp.
References deserialize().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y2
Definition at line 1294 of file function.cpp.
References casadi::FunctionInternal::deserialize(), Function(), casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null(), and casadi::DeserializingStream::unpack().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xz
Definition at line 1344 of file function.cpp.
Referenced by 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().
Function casadi::Function::expand | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v5
Definition at line 308 of file function.cpp.
References casadi::FunctionInternal::ad_weight(), and name().
Referenced by casadi::OracleFunction::expand(), casadi::OracleFunction::finalize(), casadi::OracleFunction::init(), casadi::MX::matrix_expand(), casadi::DaeBuilderInternal::oracle(), and casadi::qpsol_nlp().
Extra doc: https://github.com/casadi/casadi/wiki/L_1v5
Definition at line 318 of file function.cpp.
References Function(), get_free(), has_free(), casadi::join(), name(), name_in(), name_out(), sx_in(), and casadi::update_dict().
std::string casadi::Function::export_code | ( | const std::string & | lang, |
const Dict & | options = Dict() |
||
) | const |
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.
void casadi::Function::export_code | ( | const std::string & | lang, |
const std::string & | fname, | ||
const Dict & | options = Dict() |
||
) | const |
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().
void casadi::Function::export_code | ( | const std::string & | lang, |
std::ostream & | stream, | ||
const Dict & | options = Dict() |
||
) | const |
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.
Function casadi::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 |
Definition at line 1811 of file function.cpp.
References casadi::FunctionInternal::factory(), name(), and casadi::str().
Referenced by casadi::DaeBuilderInternal::create(), casadi::OracleFunction::create_function(), casadi::FunctionInternal::factory(), casadi::KinsolInterface::get_jtimes(), hessian_old(), casadi::Rootfinder::init(), casadi::Blocksqp::init(), jacobian_old(), and casadi::Nlpsol::kkt().
Function casadi::Function::find_function | ( | const std::string & | name, |
casadi_int | max_depth = -1 |
||
) | const |
[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 Function(), and name().
std::vector< Function > casadi::Function::find_functions | ( | casadi_int | max_depth = -1 | ) | const |
[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().
|
static |
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 check_name(), and 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 Function(), mapaccum(), mx_in(), name(), name_in(), name_out(), casadi::range(), and size2_out().
Function casadi::Function::forward | ( | casadi_int | nfwd | ) | const |
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().
std::vector< MX > casadi::Function::free_mx | ( | ) | const |
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().
std::vector< SX > casadi::Function::free_sx | ( | ) | const |
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 generate(), and name().
std::string casadi::Function::generate | ( | const std::string & | fname, |
const Dict & | opts = Dict() |
||
) | const |
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 generate().
std::string casadi::Function::generate_dependencies | ( | const std::string & | fname, |
const Dict & | opts = Dict() |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ww
Definition at line 1198 of file function.cpp.
std::vector< DM > casadi::Function::generate_in | ( | const std::string & | fname | ) |
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(), nnz_in(), casadi::Matrix< Scalar >::nonzeros(), casadi::GenericMatrix< MatType >::numel(), nz_to_in(), and casadi::str().
void casadi::Function::generate_in | ( | const std::string & | fname, |
const std::vector< DM > & | arg | ||
) |
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(), nz_from_in(), and casadi::Filesystem::open().
Extra doc: https://github.com/casadi/casadi/wiki/L_1xc
Definition at line 1701 of file function.cpp.
Referenced by casadi::Scpgen::init().
std::vector< DM > casadi::Function::generate_out | ( | const std::string & | fname | ) |
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(), nnz_out(), casadi::Matrix< Scalar >::nonzeros(), casadi::GenericMatrix< MatType >::numel(), nz_to_out(), and casadi::str().
void casadi::Function::generate_out | ( | const std::string & | fname, |
const std::vector< DM > & | arg | ||
) |
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(), nz_from_out(), and casadi::Filesystem::open().
FunctionInternal * casadi::Function::get | ( | ) | const |
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(), operator->(), operator==(), casadi::LinearInterpolantJac::serialize_type(), casadi::OptiNode::solve_prepare(), casadi::MX::substitute_inplace(), and casadi::CodeGenerator::wrapper().
|
inline |
std::vector< std::string > casadi::Function::get_free | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x9
Definition at line 1184 of file function.cpp.
Referenced by casadi::OracleFunction::create_function(), expand(), casadi::integrator(), casadi::nlpsol(), casadi::DaeBuilderInternal::prune(), casadi::rootfinder(), and casadi::DaeBuilderInternal::tearing_variables().
std::vector< std::string > casadi::Function::get_function | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y3
Definition at line 1844 of file function.cpp.
Referenced by casadi::IdasInterface::psetupF().
Function casadi::Function::get_function | ( | const std::string & | name | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y4
Definition at line 1853 of file function.cpp.
References name().
|
inlineinherited |
Definition at line 91 of file shared_object.hpp.
|
inherited |
Definition at line 103 of file generic_shared_impl.hpp.
bool casadi::Function::has_free | ( | ) | const |
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(), expand(), casadi::XFunction< DerivedType, MatType, NodeType >::factory(), casadi::integrator(), casadi::nlpsol(), casadi::rootfinder(), casadi::DaeBuilderInternal::tearing_variables(), and casadi::OptiNode::value().
bool casadi::Function::has_function | ( | const std::string & | fname | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1y5
Definition at line 1861 of file function.cpp.
bool casadi::Function::has_in | ( | const std::string & | name | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_2c9
Definition at line 985 of file function.cpp.
References name().
bool casadi::Function::has_option | ( | const std::string & | option_name | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w1
Definition at line 1163 of file function.cpp.
Referenced by change_option().
bool casadi::Function::has_out | ( | const std::string & | name | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_2ca
Definition at line 992 of file function.cpp.
References name().
bool casadi::Function::has_spfwd | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xl
Definition at line 1689 of file function.cpp.
bool casadi::Function::has_sprev | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xl
Definition at line 1693 of file function.cpp.
Function casadi::Function::hessian_old | ( | casadi_int | iind, |
casadi_int | oind | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w5
Definition at line 896 of file function.cpp.
References factory(), name(), name_in(), and name_out().
|
static |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wp
Definition at line 810 of file function.cpp.
References create(), and name().
Referenced by conditional(), and casadi::MX::if_else().
casadi_int casadi::Function::index_in | ( | const std::string & | name | ) | const |
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 name().
Referenced by buf_in(), casadi::Blocksqp::feasibilityRestorationPhase(), map(), mapaccum(), sparsity_in(), and casadi::DaeBuilderInternal::update_dependencies().
casadi_int casadi::Function::index_out | ( | const std::string & | name | ) | const |
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 name().
Referenced by buf_out(), map(), mapaccum(), sparsity_out(), and casadi::DaeBuilderInternal::update_dependencies().
Dict casadi::Function::info | ( | ) | const |
Obtain information about function
Definition at line 1934 of file function.cpp.
double casadi::Function::instruction_constant | ( | casadi_int | k | ) | const |
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().
casadi_int casadi::Function::instruction_id | ( | casadi_int | k | ) | const |
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().
std::vector< casadi_int > casadi::Function::instruction_input | ( | casadi_int | k | ) | const |
(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().
MX casadi::Function::instruction_MX | ( | casadi_int | k | ) | const |
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().
std::vector< casadi_int > casadi::Function::instruction_output | ( | casadi_int | k | ) | const |
(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().
SX casadi::Function::instructions_sx | ( | ) | const |
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.
bool casadi::Function::is_a | ( | const std::string & | type, |
bool | recursive = true |
||
) | const |
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 map().
std::vector< bool > casadi::Function::is_diff_in | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1063 of file function.cpp.
bool casadi::Function::is_diff_in | ( | casadi_int | ind | ) | const |
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().
std::vector< bool > casadi::Function::is_diff_out | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vt
Definition at line 1071 of file function.cpp.
bool casadi::Function::is_diff_out | ( | casadi_int | ind | ) | const |
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.
const std::vector< Sparsity > & casadi::Function::jac_sparsity | ( | bool | compact = false | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ws
Definition at line 940 of file function.cpp.
References n_in(), and 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().
Sparsity casadi::Function::jac_sparsity | ( | casadi_int | oind, |
casadi_int | iind, | ||
bool | compact = false |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wt
Definition at line 951 of file function.cpp.
References casadi::Sparsity::is_dense(), and sparsity_out().
Function casadi::Function::jacobian | ( | ) | const |
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().
Function casadi::Function::jacobian_old | ( | casadi_int | iind, |
casadi_int | oind | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w4
Definition at line 888 of file function.cpp.
References factory(), name(), name_in(), and name_out().
|
static |
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 name(), name_in(), name_out(), sparsity_in(), and sparsity_out().
Referenced by casadi::JitFunction::get_jacobian().
|
static |
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 create(), name(), name_in(), name_out(), sparsity_in(), and sparsity_out().
|
static |
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().
Function casadi::Function::map | ( | casadi_int | n, |
const std::string & | parallelization, | ||
casadi_int | max_num_threads | ||
) | const |
Definition at line 678 of file function.cpp.
References Function(), map(), n_in(), n_out(), name_in(), name_out(), casadi::range(), size2_in(), size2_out(), sparsity_in(), and casadi::GenericMatrix< MX >::sym().
Function casadi::Function::map | ( | casadi_int | n, |
const std::string & | parallelization = "serial" |
||
) | const |
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 call(), Function(), is_a(), n_in(), n_out(), name(), name_in(), name_out(), 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 map().
Function casadi::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 |
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(), name(), and casadi::str().
Function casadi::Function::map | ( | const std::string & | name, |
const std::string & | parallelization, | ||
casadi_int | n, | ||
const std::vector< casadi_int > & | reduce_in, | ||
const std::vector< casadi_int > & | reduce_out, | ||
const Dict & | opts = Dict() |
||
) | const |
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 Function(), map(), mx_in(), name(), name_in(), and name_out().
Function casadi::Function::map | ( | const std::string & | name, |
const std::string & | parallelization, | ||
casadi_int | n, | ||
const std::vector< std::string > & | reduce_in, | ||
const std::vector< std::string > & | reduce_out, | ||
const Dict & | opts = Dict() |
||
) | const |
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 index_in(), index_out(), map(), and 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 mapaccum(), and name().
Function casadi::Function::mapaccum | ( | const std::string & | name, |
casadi_int | N, | ||
casadi_int | n_accum, | ||
const Dict & | opts = Dict() |
||
) | const |
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 mapaccum(), name(), and casadi::str().
Function casadi::Function::mapaccum | ( | const std::string & | name, |
casadi_int | N, | ||
const Dict & | opts = Dict() |
||
) | const |
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 name().
Referenced by casadi::MX::cumsum(), fold(), and mapaccum().
Function casadi::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 |
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(), mapaccum(), n_in(), n_out(), name(), casadi::range(), and slice().
Function casadi::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 |
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 index_in(), index_out(), mapaccum(), and name().
|
protected |
Definition at line 552 of file function.cpp.
References Function(), mx_in(), n_in(), n_out(), name(), name_in(), name_out(), size2_in(), casadi::str(), and casadi::GenericMatrix< MX >::sym().
std::vector< MX > casadi::Function::mapsum | ( | const std::vector< MX > & | x, |
const std::string & | parallelization = "serial" |
||
) | const |
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.
double casadi::Function::max_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vn
Definition at line 1484 of file function.cpp.
void * casadi::Function::memory | ( | int | ind | ) | const |
Definition at line 1781 of file function.cpp.
Referenced by casadi::Blocksqp::feasibilityRestorationPhase(), casadi::FunctionBuffer::FunctionBuffer(), casadi::QpToNlp::get_stats(), operator()(), casadi::FunctionBuffer::operator=(), rev(), set_temp(), set_work(), setup(), casadi::QpToNlp::solve(), casadi::ImplicitToNlp::solve(), and stats().
void casadi::Function::merge | ( | const std::vector< MX > & | arg, |
std::vector< MX > & | subs_from, | ||
std::vector< MX > & | subs_to | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_2b6
Definition at line 1668 of file function.cpp.
double casadi::Function::min_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vo
Definition at line 1488 of file function.cpp.
const std::vector< MX > casadi::Function::mx_in | ( | ) | const |
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 map(), and mapaccum().
const MX casadi::Function::mx_in | ( | casadi_int | ind | ) | const |
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 conditional(), casadi::DaeBuilderInternal::create(), casadi::FixedStepIntegrator::create_advanced(), 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(), map(), and casadi::DaeBuilderInternal::transition().
|
inline |
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.
const std::vector< MX > casadi::Function::mx_out | ( | ) | const |
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.
const MX casadi::Function::mx_out | ( | casadi_int | ind | ) | const |
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.
|
inline |
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.
casadi_int casadi::Function::n_in | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v8
Definition at line 819 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), buf_in(), casadi::OracleFunction::calc_function(), casadi::DaeBuilderInternal::CallIO::calc_jac(), casadi::Call::Call(), 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(), jac_sparsity(), casadi::FunctionInternal::jacobian(), map(), mapaccum(), casadi::MapSum::MapSum(), casadi::SymbolicQr::nfact(), casadi::SXNode::print_compact(), casadi::qpsol_nlp(), 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().
casadi_int casadi::Function::n_instructions | ( | ) | const |
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().
casadi_int casadi::Function::n_nodes | ( | ) | const |
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().
casadi_int casadi::Function::n_out | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1v9
Definition at line 823 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), buf_out(), casadi::OracleFunction::calc_function(), casadi::DaeBuilderInternal::CallIO::calc_jac(), 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(), 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(), jac_sparsity(), casadi::FunctionInternal::jacobian(), map(), mapaccum(), casadi::MapSum::MapSum(), casadi::SymbolicQr::nfact(), casadi::Call::nout(), casadi::qpsol_nlp(), 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().
const std::string & casadi::Function::name | ( | ) | const |
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(), bspline(), casadi::Call::Call(), check_name(), conditional(), casadi::Callback::construct(), construct(), casadi::MapSum::create(), casadi::Map::create(), casadi::FixedStepIntegrator::create_advanced(), casadi::Call::disp(), casadi::Switch::disp_more(), casadi::SXFunction::disp_more(), expand(), factory(), find_function(), fix_name(), fold(), Function(), casadi::FunctionInternal::FunctionInternal(), generate(), casadi::Callback::get_forward(), casadi::MapSum::get_forward(), get_function(), casadi::Callback::get_jacobian(), casadi::FunctionInternal::get_n_in(), casadi::FunctionInternal::get_n_out(), casadi::FunctionInternal::get_name_in(), casadi::FunctionInternal::get_name_out(), casadi::Callback::get_reverse(), casadi::MapSum::get_reverse(), casadi::FunctionInternal::get_sparsity_in(), casadi::FunctionInternal::get_sparsity_out(), has_in(), has_out(), hessian_old(), if_else(), index_in(), index_out(), casadi::FunctionInternal::init(), casadi::ImplicitFixedStepIntegrator::init(), casadi::Rootfinder::init(), casadi::SundialsInterface::init(), casadi::FunctionInternal::jac_is_symm(), jacobian_old(), jit(), casadi::FunctionInternal::map(), map(), mapaccum(), casadi::SXNode::print_compact(), print_option(), casadi::OptiNode::scale_helper(), casadi::OracleFunction::set_function(), casadi::RungeKutta::setup_step(), slice(), casadi::FunctionInternal::tocache(), and casadi::FunctionInternal::tocache_if_missing().
const std::vector< std::string > & casadi::Function::name_in | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vg
Definition at line 961 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), assert_size_in(), casadi::OracleFunction::calc_function(), conditional(), construct(), casadi::DaeBuilderInternal::create(), expand(), casadi::External::factory(), fold(), 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(), hessian_old(), casadi::Rootfinder::init(), jacobian_old(), jit(), map(), mapaccum(), casadi::qpsol_nlp(), and casadi::OptiNode::scale_helper().
const std::string & casadi::Function::name_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vi
Definition at line 999 of file function.cpp.
const std::vector< std::string > & casadi::Function::name_out | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vh
Definition at line 965 of file function.cpp.
Referenced by casadi::CodeGenerator::add(), assert_size_out(), assert_sparsity_out(), casadi::OracleFunction::calc_function(), call_gen(), conditional(), construct(), casadi::DaeBuilderInternal::create(), expand(), casadi::External::factory(), fold(), 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(), hessian_old(), casadi::Rootfinder::init(), jacobian_old(), jit(), map(), mapaccum(), casadi::qpsol_nlp(), and casadi::OptiNode::scale_helper().
const std::string & casadi::Function::name_out | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vj
Definition at line 1007 of file function.cpp.
casadi_int casadi::Function::nnz_in | ( | ) | const |
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(), 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(), 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().
casadi_int casadi::Function::nnz_in | ( | casadi_int | ind | ) | const |
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.
|
inline |
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 nnz_in().
Referenced by nnz_in().
casadi_int casadi::Function::nnz_out | ( | ) | const |
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(), 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(), 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().
casadi_int casadi::Function::nnz_out | ( | casadi_int | ind | ) | const |
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.
|
inline |
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 nnz_out().
Referenced by nnz_out().
std::vector< double > casadi::Function::nominal_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vp
Definition at line 1492 of file function.cpp.
Referenced by casadi::Integrator::init().
std::vector< double > casadi::Function::nominal_out | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vq
Definition at line 1496 of file function.cpp.
casadi_int casadi::Function::numel_in | ( | ) | const |
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().
casadi_int casadi::Function::numel_in | ( | casadi_int | ind | ) | const |
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.
|
inline |
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 numel_in().
Referenced by numel_in().
casadi_int casadi::Function::numel_out | ( | ) | const |
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().
casadi_int casadi::Function::numel_out | ( | casadi_int | ind | ) | const |
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.
|
inline |
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 numel_out().
Referenced by numel_out().
std::vector< double > casadi::Function::nz_from_in | ( | const std::vector< DM > & | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1600 of file function.cpp.
Referenced by generate_in().
std::vector< double > casadi::Function::nz_from_out | ( | const std::vector< DM > & | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1604 of file function.cpp.
Referenced by generate_out().
std::vector< DM > casadi::Function::nz_to_in | ( | const std::vector< double > & | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1608 of file function.cpp.
Referenced by generate_in().
std::vector< DM > casadi::Function::nz_to_out | ( | const std::vector< double > & | arg | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x6
Definition at line 1612 of file function.cpp.
Referenced by generate_out().
int casadi::Function::operator() | ( | const bvec_t ** | arg, |
bvec_t ** | res, | ||
casadi_int * | iw, | ||
bvec_t * | w, | ||
int | mem = 0 |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1we
Definition at line 1091 of file function.cpp.
References memory().
Functor shorthand for evaluation, single argument (only C++)
Definition at line 597 of file function.hpp.
int casadi::Function::operator() | ( | const double ** | arg, |
double ** | res, | ||
casadi_int * | iw, | ||
double * | w | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wc
Definition at line 1505 of file function.cpp.
References operator()().
int casadi::Function::operator() | ( | const double ** | arg, |
double ** | res, | ||
casadi_int * | iw, | ||
double * | w, | ||
int | mem | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wb
Definition at line 1511 of file function.cpp.
References 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 1400 of file function.cpp.
References call().
Referenced by operator()().
Functor shorthand for evaluation, single argument (only C++)
Definition at line 600 of file function.hpp.
int casadi::Function::operator() | ( | const SXElem ** | arg, |
SXElem ** | res, | ||
casadi_int * | iw, | ||
SXElem * | w, | ||
int | mem = 0 |
||
) | const |
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 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.
void casadi::Function::operator() | ( | std::vector< const bvec_t * > | arg, |
std::vector< bvec_t * > | res | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 484 of file function.cpp.
References call_gen().
void casadi::Function::operator() | ( | std::vector< const double * > | arg, |
std::vector< double * > | res | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 480 of file function.cpp.
References call_gen().
void casadi::Function::operator() | ( | std::vector< const SXElem * > | arg, |
std::vector< SXElem * > | res | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w8
Definition at line 488 of file function.cpp.
References 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.
FunctionInternal * casadi::Function::operator-> | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1x3
Definition at line 348 of file function.cpp.
References get(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
bool casadi::Function::operator== | ( | const Function & | f | ) | const |
Definition at line 1924 of file function.cpp.
References get(), casadi::GenericShared< Shared, Internal >::is_null(), and casadi::GenericShared< SharedObject, SharedObjectInternal >::is_null().
Function casadi::Function::oracle | ( | ) | const |
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 which_depends().
|
inherited |
Assign the node to a node class pointer (or null)
Definition at line 90 of file generic_shared_impl.hpp.
void casadi::Function::print_dimensions | ( | std::ostream & | stream = casadi::uout() | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vy
Definition at line 1151 of file function.cpp.
void casadi::Function::print_option | ( | const std::string & | name, |
std::ostream & | stream = casadi::uout() |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w0
Definition at line 1159 of file function.cpp.
References name().
void casadi::Function::print_options | ( | std::ostream & | stream = casadi::uout() | ) | const |
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().
|
staticprotected |
void casadi::Function::release | ( | int | mem | ) | const |
Definition at line 1777 of file function.cpp.
Referenced by casadi::QpToNlp::free_mem(), casadi::Sqpmethod::free_mem(), and casadi::FunctionBuffer::~FunctionBuffer().
int casadi::Function::rev | ( | bvec_t ** | arg, |
bvec_t ** | res, | ||
casadi_int * | iw, | ||
bvec_t * | w, | ||
int | mem = 0 |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wf
Definition at line 1100 of file function.cpp.
References memory().
Referenced by casadi::_which_depends(), rev(), casadi::Call::sp_reverse(), casadi::Map::sp_reverse(), casadi::MapSum::sp_reverse(), and casadi::Rootfinder::sp_reverse().
Extra doc: https://github.com/casadi/casadi/wiki/L_1wg
Definition at line 492 of file function.cpp.
References casadi::get_ptr(), n_in(), n_out(), rev(), sz_arg(), sz_iw(), sz_res(), and sz_w().
Function casadi::Function::reverse | ( | casadi_int | nadj | ) | const |
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().
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 serialize().
void casadi::Function::serialize | ( | SerializingStream & | s | ) | const |
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().
Extra doc: https://github.com/casadi/casadi/wiki/L_1x0
Definition at line 1280 of file function.cpp.
Referenced by serialize().
void casadi::Function::set_temp | ( | const double ** | arg, |
double ** | res, | ||
casadi_int * | iw, | ||
double * | w, | ||
int | mem = 0 |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xs
Definition at line 1117 of file function.cpp.
References memory().
void casadi::Function::set_work | ( | const double **& | arg, |
double **& | res, | ||
casadi_int *& | iw, | ||
double *& | w, | ||
int | mem = 0 |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xr
Definition at line 1108 of file function.cpp.
References memory().
void casadi::Function::setup | ( | const double ** | arg, |
double ** | res, | ||
casadi_int * | iw, | ||
double * | w, | ||
int | mem = 0 |
||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xt
Definition at line 1126 of file function.cpp.
References memory().
casadi_int casadi::Function::size1_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 827 of file function.cpp.
Referenced by assert_size_in(), casadi::Blocksqp::feasibilityRestorationPhase(), and casadi::Blocksqp::init().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 240 of file function.hpp.
References size1_in().
Referenced by size1_in().
casadi_int casadi::Function::size1_out | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 835 of file function.cpp.
Referenced by assert_size_out(), and casadi::Blocksqp::init().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 254 of file function.hpp.
References size1_out().
Referenced by size1_out().
casadi_int casadi::Function::size2_in | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 831 of file function.cpp.
Referenced by assert_size_in(), map(), and mapaccum().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 242 of file function.hpp.
References size2_in().
Referenced by size2_in().
casadi_int casadi::Function::size2_out | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 839 of file function.cpp.
Referenced by assert_size_out(), fold(), and map().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 256 of file function.hpp.
References size2_out().
Referenced by size2_out().
std::pair< casadi_int, casadi_int > casadi::Function::size_in | ( | casadi_int | ind | ) | const |
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().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1va
Definition at line 244 of file function.hpp.
std::pair< casadi_int, casadi_int > casadi::Function::size_out | ( | casadi_int | ind | ) | const |
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().
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vb
Definition at line 258 of file function.hpp.
Function casadi::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 |
Extra doc: https://github.com/casadi/casadi/wiki/L_1wl
Definition at line 746 of file function.cpp.
References name(), and casadi::FunctionInternal::slice().
Referenced by mapaccum(), and casadi::FunctionInternal::slice().
const Sparsity & casadi::Function::sparsity_in | ( | casadi_int | ind | ) | const |
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(), jit(), map(), casadi::Collocation::setup_step(), casadi::RungeKutta::setup_step(), casadi::simpleIntegrator(), casadi::simpleIRK(), casadi::simpleRK(), and sparsity_in().
const Sparsity & casadi::Function::sparsity_in | ( | const std::string & | iname | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vr
Definition at line 1023 of file function.cpp.
References index_in(), and sparsity_in().
const Sparsity casadi::Function::sparsity_jac | ( | casadi_int | iind, |
casadi_int | oind, | ||
bool | compact = false , |
||
bool | symmetric = false |
||
) | const |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 906 of file function.cpp.
Referenced by casadi::Blocksqp::init().
|
inline |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 490 of file function.hpp.
|
inline |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 486 of file function.hpp.
|
inline |
[DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
Definition at line 494 of file function.hpp.
const Sparsity & casadi::Function::sparsity_out | ( | casadi_int | ind | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vs
Definition at line 1031 of file function.cpp.
Referenced by assert_sparsity_out(), casadi::OracleFunction::calc_function(), casadi::Switch::codegen_body(), 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(), jac_sparsity(), jit(), casadi::IdasInterface::psetupF(), casadi::Call::sparsity(), and sparsity_out().
const Sparsity & casadi::Function::sparsity_out | ( | const std::string & | iname | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1vs
Definition at line 1039 of file function.cpp.
References index_out(), and sparsity_out().
Dict casadi::Function::stats | ( | int | mem = 0 | ) | const |
Definition at line 928 of file function.cpp.
References 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.
const std::vector< SX > casadi::Function::sx_in | ( | ) | const |
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 expand().
const SX casadi::Function::sx_in | ( | casadi_int | iind | ) | const |
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().
|
inline |
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.
const std::vector< SX > casadi::Function::sx_out | ( | ) | const |
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.
const SX casadi::Function::sx_out | ( | casadi_int | oind | ) | const |
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.
|
inline |
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.
size_t casadi::Function::sz_arg | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xm
Definition at line 1083 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), buf_in(), 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(), rev(), casadi::Call::sz_arg(), and sz_work().
size_t casadi::Function::sz_iw | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xo
Definition at line 1087 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), 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(), rev(), casadi::Call::sz_iw(), and sz_work().
size_t casadi::Function::sz_res | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xn
Definition at line 1085 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), buf_out(), 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(), rev(), casadi::Call::sz_res(), and sz_work().
size_t casadi::Function::sz_w | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xp
Definition at line 1089 of file function.cpp.
Referenced by casadi::SymbolicQrMemory::alloc(), 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(), rev(), casadi::MapSum::sp_reverse(), casadi::Call::sz_w(), and sz_work().
void casadi::Function::sz_work | ( | size_t & | sz_arg, |
size_t & | sz_res, | ||
size_t & | sz_iw, | ||
size_t & | sz_w | ||
) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1xq
Definition at line 1079 of file function.cpp.
References sz_arg(), sz_iw(), sz_res(), and sz_w().
Referenced by casadi::FunctionInternal::alloc(), casadi::OmpMap::codegen_body(), casadi::OmpMap::eval(), casadi::OracleFunction::finalize(), and casadi::ThreadsWork().
|
static |
Definition at line 924 of file function.cpp.
|
inlinestatic |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ux
Definition at line 65 of file function.hpp.
bool casadi::Function::uses_output | ( | ) | const |
Extra doc: https://github.com/casadi/casadi/wiki/L_1w3
Definition at line 883 of file function.cpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_aw
Definition at line 131 of file generic_shared_impl.hpp.
std::vector< bool > casadi::Function::which_depends | ( | const std::string & | s_in, |
const std::vector< std::string > & | s_out, | ||
casadi_int | order = 1 , |
||
bool | tr = false |
||
) | const |
[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 order().
Referenced by casadi::BonminInterface::init(), casadi::IpoptInterface::init(), casadi::KnitroInterface::init(), and casadi::FunctionInternal::which_depends().
Function casadi::Function::wrap | ( | ) | const |
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().