#include <output_sx.hpp>
Definition at line 62 of file output_sx.hpp.
Public Types | |
using | weak_ref_type = WeakRefInternalSXElem |
Public Member Functions | |
OutputSX (const SXElem &dep, int oind) | |
Constructor. More... | |
OutputSX () | |
Empty constructor. More... | |
std::string | class_name () const override |
Get type name. More... | |
std::string | print (const std::string &arg1, const std::string &arg2) const override |
Print expression. More... | |
~OutputSX () override | |
Destructor. More... | |
casadi_int | op () const override |
Get the operation. More... | |
casadi_int | n_dep () const override |
Number of dependencies. More... | |
const SXElem & | dep (casadi_int i) const override |
get the reference of a dependency More... | |
SXElem & | dep (casadi_int i) override |
get the reference of a child More... | |
bool | is_output () const override |
Is the node an output node? More... | |
casadi_int | which_output () const override |
Get the index of evaluation output. More... | |
void | serialize_node (SerializingStream &s) const override |
virtual const std::string & | name () const |
virtual Function | which_function () const |
Get called function. More... | |
virtual bool | is_equal (const SXNode *node, casadi_int depth) const |
Check if two nodes are equivalent up to a given depth. More... | |
virtual SXElem | get_output (casadi_int oind) const |
Get an output. More... | |
virtual bool | is_smooth () const |
Check if smooth. More... | |
virtual void | disp (std::ostream &stream, bool more) const |
print More... | |
void | can_inline (std::map< const SXNode *, casadi_int > &nodeind) const |
Find out which nodes can be inlined. More... | |
std::string | print_compact (std::map< const SXNode *, casadi_int > &nodeind, std::vector< std::string > &intermed) const |
Print compact. More... | |
bool | marked () const |
void | mark () const |
SXElem | shared_from_this () |
Get a shared object from the current internal object. More... | |
const SXElem | shared_from_this () const |
Get a shared object from the current internal object. More... | |
void | serialize (SerializingStream &s) const |
Serialize an object. More... | |
casadi_int | getCount () const |
Get the reference count. More... | |
std::string | debug_repr (const OutputSX *) const |
GenericWeakRef< SharedSXElem, OutputSX > * | weak () |
Get a weak reference to the object. More... | |
virtual bool | is_constant () const |
check properties of a node More... | |
virtual bool | is_integer () const |
check properties of a node More... | |
virtual bool | is_symbolic () const |
check properties of a node More... | |
virtual bool | is_zero () const |
check properties of a node More... | |
virtual bool | is_op (casadi_int op) const |
check properties of a node More... | |
virtual bool | is_almost_zero (double tol) const |
check properties of a node More... | |
virtual bool | is_one () const |
check properties of a node More... | |
virtual bool | is_minus_one () const |
check properties of a node More... | |
virtual bool | is_nan () const |
check properties of a node More... | |
virtual bool | is_inf () const |
check properties of a node More... | |
virtual bool | is_minus_inf () const |
check properties of a node More... | |
virtual bool | is_call () const |
check properties of a node More... | |
virtual bool | has_output () const |
check properties of a node More... | |
virtual double | to_double () const |
Get value of a constant node. More... | |
virtual casadi_int | to_int () const |
Get value of a constant node. More... | |
Static Public Member Functions | |
static std::vector< SXElem > | split (const SXElem &e, casadi_int n) |
static SXNode * | deserialize (DeserializingStream &s) |
static void | safe_delete (SXNode *n) |
Non-recursive delete. More... | |
Public Attributes | |
SXElem | dep_ |
The dependencies of the node. More... | |
int | oind_ |
Output index. More... | |
int | temp |
unsigned int | count |
Static Public Attributes | |
static casadi_int | eq_depth_ = 1 |
static std::map< casadi_int, SXNode *(*)(DeserializingStream &)> | deserialize_map |
Protected Member Functions | |
void | initSingleton () |
void | destroySingleton () |
B | shared_from_this () |
Get a shared object from the current internal object. More... | |
const B | shared_from_this () const |
Get a shared object from the current internal object. More... | |
Friends | |
class | GenericShared< SharedSXElem, OutputSX > |
class | SharedObject |
class | GenericWeakRef< SharedSXElem, OutputSX > |
class | GenericSharedInternal< SharedSXElem, OutputSX > |
class | Memory |
class | UniversalNodeOwner |
Definition at line 73 of file output_sx.hpp.
|
inline |
Extra doc: https://github.com/casadi/casadi/wiki/L_294
Definition at line 78 of file output_sx.hpp.
|
inline |
Definition at line 82 of file output_sx.hpp.
|
inlineoverride |
Extra doc: https://github.com/casadi/casadi/wiki/L_297
Definition at line 99 of file output_sx.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a6
Definition at line 113 of file sx_node.cpp.
References casadi::SXNode::can_inline(), casadi::SXNode::dep(), casadi::SXNode::n_dep(), casadi::SXNode::op(), and casadi::OP_PARAMETER.
Referenced by casadi::SXNode::can_inline(), and casadi::SXNode::disp().
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_9y
Implements casadi::SXNode.
Definition at line 87 of file output_sx.hpp.
|
inherited |
Definition at line 62 of file generic_shared_internal.hpp.
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_29a
Reimplemented from casadi::SXNode.
Definition at line 116 of file output_sx.hpp.
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_a3
Reimplemented from casadi::SXNode.
Definition at line 117 of file output_sx.hpp.
|
inlinestatic |
|
inlineprotectedinherited |
Called in the destructor of singletons
Definition at line 77 of file generic_shared_internal.hpp.
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a5
Definition at line 88 of file sx_node.cpp.
References casadi::SXNode::can_inline(), and casadi::SXNode::print_compact().
Referenced by casadi::SXElem::disp().
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_293
Reimplemented in casadi::CallSX.
Definition at line 227 of file sx_node.cpp.
References casadi::SXNode::shared_from_this().
Referenced by casadi::SXElem::get_output().
|
inherited |
Definition at line 60 of file generic_shared_internal.hpp.
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::CallSX.
Definition at line 82 of file sx_node.hpp.
Referenced by casadi::SXElem::has_output().
|
inlineprotectedinherited |
Called in the constructor of singletons to avoid that the counter reaches zero
Definition at line 71 of file generic_shared_internal.hpp.
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::ZeroSX, and casadi::RealtypeSX.
Definition at line 74 of file sx_node.hpp.
Referenced by casadi::SXElem::is_almost_zero().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::CallSX.
Definition at line 80 of file sx_node.hpp.
Referenced by casadi::SXElem::is_call().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::ConstantSX.
Definition at line 69 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), casadi::SXFunction::init(), and casadi::SXElem::is_constant().
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a0
Reimplemented in casadi::UnarySX, casadi::ConstantSX, and casadi::BinarySX.
Definition at line 72 of file sx_node.cpp.
Referenced by casadi::SXElem::is_equal().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::InfSX.
Definition at line 78 of file sx_node.hpp.
Referenced by casadi::SXElem::is_inf().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::MinusOneSX, casadi::OneSX, casadi::ZeroSX, and casadi::IntegerSX.
Definition at line 70 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_integer().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::MinusInfSX.
Definition at line 79 of file sx_node.hpp.
Referenced by casadi::SXElem::is_minus_inf().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::MinusOneSX.
Definition at line 76 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_minus_one().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::NanSX.
Definition at line 77 of file sx_node.hpp.
Referenced by casadi::SXElem::is_nan().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::OneSX.
Definition at line 75 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_one().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::UnarySX, casadi::SymbolicSX, casadi::CallSX, and casadi::BinarySX.
Definition at line 73 of file sx_node.hpp.
Referenced by casadi::SXElem::is_op().
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_29d
Reimplemented from casadi::SXNode.
Definition at line 132 of file output_sx.hpp.
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a4
Reimplemented in casadi::UnarySX, and casadi::BinarySX.
Definition at line 144 of file sx_node.hpp.
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::SymbolicSX.
Definition at line 71 of file sx_node.hpp.
Referenced by casadi::SXFunction::init(), and casadi::SXElem::is_symbolic().
|
inlinevirtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9w
Reimplemented in casadi::ZeroSX.
Definition at line 72 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_zero().
|
inherited |
Definition at line 109 of file sx_node.cpp.
References casadi::SXNode::temp.
|
inherited |
Definition at line 105 of file sx_node.cpp.
References casadi::SXNode::temp.
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_299
Reimplemented from casadi::SXNode.
Definition at line 111 of file output_sx.hpp.
|
virtualinherited |
Reimplemented in casadi::SymbolicSX.
Definition at line 76 of file sx_node.cpp.
References casadi::SXNode::class_name().
Referenced by casadi::SXElem::name().
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_298
Implements casadi::SXNode.
Definition at line 106 of file output_sx.hpp.
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_296
Implements casadi::SXNode.
Definition at line 92 of file output_sx.hpp.
References casadi::str().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a7
Definition at line 130 of file sx_node.cpp.
References casadi::SXNode::dep(), casadi::SXNode::n_dep(), casadi::Function::n_in(), casadi::Function::name(), casadi::Function::nnz_in(), casadi::SXNode::op(), casadi::OP_CALL, casadi::SXNode::print(), casadi::SXNode::print_compact(), and casadi::SXNode::which_function().
Referenced by casadi::SXNode::disp(), and casadi::SXNode::print_compact().
|
staticinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_a9
Definition at line 184 of file sx_node.cpp.
References casadi::SXElem::assignNoDelete(), casadi::SXNode::count, casadi::SXNode::dep(), and casadi::SXNode::n_dep().
Referenced by casadi::BinarySX::~BinarySX(), and casadi::UnarySX::~UnarySX().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_aa
Definition at line 238 of file sx_node.cpp.
References casadi::SXNode::op(), casadi::SerializingStream::pack(), and casadi::SXNode::serialize_node().
|
inlineoverridevirtual |
Reimplemented from casadi::SXNode.
Definition at line 147 of file output_sx.hpp.
References casadi::SerializingStream::pack().
|
inlineprotectedinherited |
Definition at line 83 of file generic_shared_internal.hpp.
|
inherited |
Definition at line 261 of file sx_node.cpp.
References casadi::SXNode::SXElem.
Referenced by casadi::SXNode::get_output(), and casadi::CallSX::get_output().
|
inlineprotectedinherited |
Definition at line 92 of file generic_shared_internal.hpp.
|
inherited |
Definition at line 265 of file sx_node.cpp.
References casadi::SXNode::SXElem.
Definition at line 139 of file output_sx.hpp.
References casadi::SXElem::get_output().
Referenced by casadi::SXElem::call(), and casadi::SXFunction::eval_sx().
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9x
Reimplemented in casadi::ConstantSX, casadi::NanSX, casadi::MinusInfSX, casadi::InfSX, casadi::MinusOneSX, casadi::OneSX, casadi::ZeroSX, casadi::IntegerSX, and casadi::RealtypeSX.
Definition at line 56 of file sx_node.cpp.
Referenced by casadi::SXElem::binary(), and casadi::SXFunction::init().
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_9x
Reimplemented in casadi::MinusOneSX, casadi::OneSX, casadi::ZeroSX, casadi::IntegerSX, and casadi::RealtypeSX.
Definition at line 60 of file sx_node.cpp.
References casadi::SXNode::class_name().
Referenced by casadi::SXElem::binary().
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ai
Definition at line 67 of file generic_shared_internal.hpp.
|
virtualinherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_291
Reimplemented in casadi::CallSX.
Definition at line 64 of file sx_node.cpp.
References casadi::SXNode::class_name().
Referenced by casadi::SXNode::print_compact(), and casadi::SXElem::which_function().
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_29e
Reimplemented from casadi::SXNode.
Definition at line 137 of file output_sx.hpp.
|
friend |
Definition at line 56 of file output_sx.hpp.
|
friend |
Definition at line 66 of file output_sx.hpp.
|
friend |
Definition at line 66 of file output_sx.hpp.
|
friend |
Definition at line 69 of file output_sx.hpp.
|
friend |
Definition at line 66 of file output_sx.hpp.
|
friend |
Definition at line 70 of file output_sx.hpp.
|
inherited |
Definition at line 197 of file sx_node.hpp.
Referenced by casadi::SXElem::assignNoDelete(), casadi::SXElem::operator=(), casadi::SXNode::safe_delete(), casadi::SXElem::SXElem(), casadi::SXNode::SXNode(), casadi::UniversalNodeOwner::UniversalNodeOwner(), casadi::InfSX::~InfSX(), casadi::MinusInfSX::~MinusInfSX(), casadi::MinusOneSX::~MinusOneSX(), casadi::NanSX::~NanSX(), casadi::OneSX::~OneSX(), casadi::SXElem::~SXElem(), casadi::SXNode::~SXNode(), and casadi::ZeroSX::~ZeroSX().
SXElem casadi::OutputSX::dep_ |
Extra doc: https://github.com/casadi/casadi/wiki/L_29b
Definition at line 122 of file output_sx.hpp.
|
staticinherited |
Definition at line 209 of file sx_node.hpp.
Referenced by casadi::SXNode::deserialize().
|
staticinherited |
Definition at line 179 of file sx_node.hpp.
Referenced by casadi::SXElem::binary(), casadi::Matrix< Scalar >::get_max_depth(), casadi::SXElem::is_doubled(), and casadi::Matrix< Scalar >::set_max_depth().
int casadi::OutputSX::oind_ |
Extra doc: https://github.com/casadi/casadi/wiki/L_29c
Definition at line 127 of file output_sx.hpp.
|
mutableinherited |
Temporary variables to be used in user algorithms like sorting, the user is responsible of making sure that use is thread-safe The variable is initialized to zero
Definition at line 191 of file sx_node.hpp.
Referenced by casadi::SXFunction::init(), casadi::SXNode::mark(), casadi::SXNode::marked(), and casadi::SXNode::SXNode().