List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions
casadi::ZeroSX Class Reference

Represents a zero SX. More...

#include <constant_sx.hpp>

Detailed Description

Author
Joel Andersson
Date
2010

Extra doc: https://github.com/casadi/casadi/wiki/L_1jz

Definition at line 272 of file constant_sx.hpp.

Inheritance diagram for casadi::ZeroSX:
Inheritance graph
[legend]
Collaboration diagram for casadi::ZeroSX:
Collaboration graph
[legend]

Public Member Functions

 ~ZeroSX () override
 
void serialize_node (SerializingStream &s) const override
 
std::string class_name () const override
 Get type name. More...
 
bool is_constant () const override
 Properties. More...
 
casadi_int op () const override
 Get the operation. More...
 
bool is_equal (const SXNode *node, casadi_int depth) const override
 Check if two nodes are equivalent up to a given depth. More...
 
virtual const std::string & name () const
 
virtual Function which_function () const
 Get called function. More...
 
virtual casadi_int which_output () const
 Get function output. More...
 
virtual casadi_int n_dep () const
 Number of dependencies. More...
 
virtual SXElem get_output (casadi_int oind) const
 Get an output. More...
 
virtual const SXElemdep (casadi_int i) const
 get the reference of a child More...
 
virtual SXElemdep (casadi_int i)
 get the reference of a child 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...
 
double to_double () const override
 Get the value. More...
 
casadi_int to_int () const override
 Get the value. More...
 
bool is_integer () const override
 Properties. More...
 
bool is_zero () const override
 Properties. More...
 
bool is_almost_zero (double tol) const override
 Properties. More...
 
virtual bool is_symbolic () const
 check properties of a node More...
 
virtual bool is_op (casadi_int op) 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 is_output () const
 check properties of a node More...
 
virtual bool has_output () const
 check properties of a node More...
 

Static Public Member Functions

static ZeroSXsingleton ()
 
static void safe_delete (SXNode *n)
 Non-recursive delete. More...
 
static SXNodedeserialize (DeserializingStream &s)
 

Public Attributes

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

std::string print (const std::string &arg1, const std::string &arg2) const override
 Print expression. More...
 

Constructor & Destructor Documentation

◆ ~ZeroSX()

casadi::ZeroSX::~ZeroSX ( )
inlineoverride

Definition at line 283 of file constant_sx.hpp.

283 {this->count--;}
unsigned int count
Definition: sx_node.hpp:197

References casadi::SXNode::count.

Member Function Documentation

◆ can_inline()

void casadi::SXNode::can_inline ( std::map< const SXNode *, casadi_int > &  nodeind) const
inherited

Extra doc: https://github.com/casadi/casadi/wiki/L_a6

Definition at line 113 of file sx_node.cpp.

113  {
114  // Add or mark node in map
115  std::map<const SXNode*, casadi_int>::iterator it=nodeind.find(this);
116  if (it==nodeind.end()) {
117  // First time encountered, mark inlined
118  nodeind.insert(it, std::make_pair(this, 0));
119 
120  // Handle dependencies with recursion
121  for (casadi_int i=0; i<n_dep(); ++i) {
122  dep(i)->can_inline(nodeind);
123  }
124  } else if (it->second==0 && op()!=OP_PARAMETER) {
125  // Node encountered before, do not inline (except if symbolic primitive)
126  it->second = -1;
127  }
128  }
virtual const SXElem & dep(casadi_int i) const
get the reference of a child
Definition: sx_node.cpp:80
virtual casadi_int n_dep() const
Number of dependencies.
Definition: sx_node.hpp:124
virtual casadi_int op() const =0
get the operation
void can_inline(std::map< const SXNode *, casadi_int > &nodeind) const
Find out which nodes can be inlined.
Definition: sx_node.cpp:113
@ OP_PARAMETER
Definition: calculus.hpp:85

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().

◆ class_name()

std::string casadi::ConstantSX::class_name ( ) const
inlineoverridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9y

Implements casadi::SXNode.

Definition at line 54 of file constant_sx.hpp.

54 {return "ConstantSX";}

◆ dep() [1/2]

SXElem & casadi::SXNode::dep ( casadi_int  i)
virtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_a3

Reimplemented in casadi::UnarySX, casadi::OutputSX, casadi::CallSX, and casadi::BinarySX.

Definition at line 84 of file sx_node.cpp.

84  {
85  casadi_error("'dep' not defined for " + class_name());
86  }
virtual std::string class_name() const =0
Get type name.

References casadi::SXNode::class_name().

◆ dep() [2/2]

const SXElem & casadi::SXNode::dep ( casadi_int  i) const
virtualinherited

◆ deserialize()

SXNode * casadi::SXNode::deserialize ( DeserializingStream s)
staticinherited

Definition at line 243 of file sx_node.cpp.

243  {
244  casadi_int op;
245  s.unpack("SXNode::op", op);
246 
248  return BinarySX::deserialize(s, op);
249  } else if (casadi_math<MX>::is_unary(op)) {
250  return UnarySX::deserialize(s, op);
251  }
252 
253  auto it = SXNode::deserialize_map.find(op);
254  if (it==SXNode::deserialize_map.end()) {
255  casadi_error("Not implemented op " + str(casadi_int(op)));
256  } else {
257  return it->second(s);
258  }
259  }
static SXNode * deserialize(DeserializingStream &s, casadi_int op)
Deserialize without type information.
Definition: binary_sx.hpp:143
static std::map< casadi_int, SXNode *(*)(DeserializingStream &)> deserialize_map
Definition: sx_node.hpp:209
static SXNode * deserialize(DeserializingStream &s, casadi_int op)
Definition: unary_sx.hpp:127
std::string str(const T &v)
String representation, any type.
static bool is_binary(unsigned char op)
Is binary operation?
Definition: calculus.hpp:1602
static bool is_unary(unsigned char op)
Is unary operation?
Definition: calculus.hpp:1613

References casadi::BinarySX::deserialize(), casadi::UnarySX::deserialize(), casadi::SXNode::deserialize_map, casadi::SXNode::op(), casadi::str(), and casadi::DeserializingStream::unpack().

Referenced by casadi::SXElem::deserialize().

◆ disp()

void casadi::SXNode::disp ( std::ostream &  stream,
bool  more 
) const
virtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_a5

Definition at line 88 of file sx_node.cpp.

88  {
89  // Find out which noded can be inlined
90  std::map<const SXNode*, casadi_int> nodeind;
91  can_inline(nodeind);
92 
93  // Print expression
94  std::vector<std::string> intermed;
95  std::string s = print_compact(nodeind, intermed);
96 
97  // Print intermediate expressions
98  for (casadi_int i=0; i<intermed.size(); ++i)
99  stream << "@" << (i+1) << "=" << intermed[i] << ", ";
100 
101  // Print this
102  stream << s;
103  }
std::string print_compact(std::map< const SXNode *, casadi_int > &nodeind, std::vector< std::string > &intermed) const
Print compact.
Definition: sx_node.cpp:130

References casadi::SXNode::can_inline(), and casadi::SXNode::print_compact().

Referenced by casadi::SXElem::disp().

◆ get_output()

SXElem casadi::SXNode::get_output ( casadi_int  oind) const
virtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_293

Reimplemented in casadi::CallSX.

Definition at line 227 of file sx_node.cpp.

227  {
228  casadi_assert(oind==0, "Output index out of bounds");
229  return shared_from_this();
230  }
SXElem shared_from_this()
Get a shared object from the current internal object.
Definition: sx_node.cpp:261

References casadi::SXNode::shared_from_this().

Referenced by casadi::SXElem::get_output().

◆ has_output()

virtual bool casadi::SXNode::has_output ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::CallSX.

Definition at line 82 of file sx_node.hpp.

82 { return false; }

Referenced by casadi::SXElem::has_output().

◆ is_almost_zero()

bool casadi::ZeroSX::is_almost_zero ( double  tol) const
inlineoverridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_1k1

Reimplemented from casadi::SXNode.

Definition at line 298 of file constant_sx.hpp.

298 { return true; }

◆ is_call()

virtual bool casadi::SXNode::is_call ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::CallSX.

Definition at line 80 of file sx_node.hpp.

80 { return false; }

Referenced by casadi::SXElem::is_call().

◆ is_constant()

bool casadi::ConstantSX::is_constant ( ) const
inlineoverridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1jl

Reimplemented from casadi::SXNode.

Definition at line 64 of file constant_sx.hpp.

64 { return true; }

◆ is_equal()

bool casadi::ConstantSX::is_equal ( const SXNode node,
casadi_int  depth 
) const
inlineoverridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1jn

Reimplemented from casadi::SXNode.

Definition at line 74 of file constant_sx.hpp.

74  {
75  const ConstantSX* n = dynamic_cast<const ConstantSX*>(node);
76  return n && n->to_double()==to_double();
77 }
double to_double() const override=0
Get the value must be defined.

References casadi::ConstantSX::to_double().

◆ is_inf()

virtual bool casadi::SXNode::is_inf ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::InfSX.

Definition at line 78 of file sx_node.hpp.

78 { return false; }

Referenced by casadi::SXElem::is_inf().

◆ is_integer()

bool casadi::ZeroSX::is_integer ( ) const
inlineoverridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_1k1

Reimplemented from casadi::SXNode.

Definition at line 296 of file constant_sx.hpp.

296 { return true; }

◆ is_minus_inf()

virtual bool casadi::SXNode::is_minus_inf ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::MinusInfSX.

Definition at line 79 of file sx_node.hpp.

79 { return false; }

Referenced by casadi::SXElem::is_minus_inf().

◆ is_minus_one()

virtual bool casadi::SXNode::is_minus_one ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::MinusOneSX.

Definition at line 76 of file sx_node.hpp.

76 { return false; }

Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_minus_one().

◆ is_nan()

virtual bool casadi::SXNode::is_nan ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::NanSX.

Definition at line 77 of file sx_node.hpp.

77 { return false; }

Referenced by casadi::SXElem::is_nan().

◆ is_one()

virtual bool casadi::SXNode::is_one ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::OneSX.

Definition at line 75 of file sx_node.hpp.

75 { return false; }

Referenced by casadi::SXElem::binary(), and casadi::SXElem::is_one().

◆ is_op()

virtual bool casadi::SXNode::is_op ( casadi_int  op) const
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.

73 { return false; }

Referenced by casadi::SXElem::is_op().

◆ is_output()

virtual bool casadi::SXNode::is_output ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::OutputSX.

Definition at line 81 of file sx_node.hpp.

81 { return false; }

Referenced by casadi::SXElem::is_output().

◆ is_smooth()

virtual bool casadi::SXNode::is_smooth ( ) const
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.

144 { return true; }

◆ is_symbolic()

virtual bool casadi::SXNode::is_symbolic ( ) const
inlinevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_9w

Reimplemented in casadi::SymbolicSX.

Definition at line 71 of file sx_node.hpp.

71 { return false; }

Referenced by casadi::SXFunction::init(), and casadi::SXElem::is_symbolic().

◆ is_zero()

bool casadi::ZeroSX::is_zero ( ) const
inlineoverridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_1k1

Reimplemented from casadi::SXNode.

Definition at line 297 of file constant_sx.hpp.

297 { return true; }

◆ mark()

void casadi::SXNode::mark ( ) const
inherited

Definition at line 109 of file sx_node.cpp.

109  {
110  temp = -temp-1;
111  }

References casadi::SXNode::temp.

◆ marked()

bool casadi::SXNode::marked ( ) const
inherited

Definition at line 105 of file sx_node.cpp.

105  {
106  return temp<0;
107  }

References casadi::SXNode::temp.

◆ n_dep()

virtual casadi_int casadi::SXNode::n_dep ( ) const
inlinevirtualinherited

◆ name()

const std::string & casadi::SXNode::name ( ) const
virtualinherited

Reimplemented in casadi::SymbolicSX.

Definition at line 76 of file sx_node.cpp.

76  {
77  casadi_error("'name' not defined for " + class_name());
78  }

References casadi::SXNode::class_name().

Referenced by casadi::SXElem::name().

◆ op()

casadi_int casadi::ConstantSX::op ( ) const
inlineoverridevirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1jm

Implements casadi::SXNode.

Definition at line 69 of file constant_sx.hpp.

69 { return OP_CONST;}
@ OP_CONST
Definition: calculus.hpp:79

References casadi::OP_CONST.

◆ print()

std::string casadi::ConstantSX::print ( const std::string &  arg1,
const std::string &  arg2 
) const
inlineoverrideprotectedvirtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_1jo

Implements casadi::SXNode.

Definition at line 84 of file constant_sx.hpp.

84  {
85  std::stringstream ss;
86  ss << to_double();
87  return ss.str();
88  }

References casadi::ConstantSX::to_double().

◆ print_compact()

std::string casadi::SXNode::print_compact ( std::map< const SXNode *, casadi_int > &  nodeind,
std::vector< std::string > &  intermed 
) const
inherited

Extra doc: https://github.com/casadi/casadi/wiki/L_a7

Definition at line 130 of file sx_node.cpp.

131  {
132  // Get reference to node index
133  casadi_int& ind = nodeind[this];
134 
135  // If positive, already in intermediate expressions
136  if (ind>0) {
137  std::stringstream ss;
138  ss << "@" << ind;
139  return ss.str();
140  }
141 
142  std::string s;
143  if (op()==OP_CALL) {
144  const Function& f = which_function();
145  // Get expressions for dependencies
146  s = which_function().name() + "(";
147 
148  casadi_int k = 0;
149  for (casadi_int i=0; i<f.n_in(); ++i) {
150  if (f.nnz_in(i)>1) s += "[";
151  for (casadi_int j=0; j<f.nnz_in(i); ++j) {
152  s += dep(k++)->print_compact(nodeind, intermed);
153  if (j<f.nnz_in(i)-1) s+=",";
154  }
155  if (f.nnz_in(i)>1) s += "]";
156  if (i<f.n_in()-1) s+=",";
157  }
158  s += ")";
159  } else {
160  // Get expressions for dependencies
161  std::string arg[2];
162  for (casadi_int i=0; i<n_dep(); ++i) {
163  arg[i] = dep(i)->print_compact(nodeind, intermed);
164  }
165 
166  // Get expression for this
167  s = print(arg[0], arg[1]);
168  }
169 
170  // Decide what to do with the expression
171  if (ind==0) {
172  // Inline expression
173  return s;
174  } else {
175  // Add to list of intermediate expressions and return reference
176  intermed.push_back(s);
177  ind = intermed.size(); // For subsequent references
178  std::stringstream ss;
179  ss << "@" << ind;
180  return ss.str();
181  }
182  }
const std::string & name() const
Name of the function.
Definition: function.cpp:1307
virtual Function which_function() const
Get called function.
Definition: sx_node.cpp:64
virtual std::string print(const std::string &arg1, const std::string &arg2) const =0
Print expression.
@ OP_CALL
Definition: calculus.hpp:88

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().

◆ safe_delete()

void casadi::SXNode::safe_delete ( SXNode n)
staticinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_a9

Definition at line 184 of file sx_node.cpp.

184  {
185  // Quick return if more owners
186  if (n->count>0) return;
187  // Delete straight away if it doesn't have any dependencies
188  if (!n->n_dep()) {
189  delete n;
190  return;
191  }
192  // Stack of expressions to be deleted
193  std::stack<SXNode*> deletion_stack;
194  // Add the node to the deletion stack
195  deletion_stack.push(n);
196  // Process stack
197  while (!deletion_stack.empty()) {
198  // Top element
199  SXNode *t = deletion_stack.top();
200  // Check if the top element has dependencies with dependencies
201  bool added_to_stack = false;
202  for (casadi_int c2=0; c2<t->n_dep(); ++c2) { // for all dependencies of the dependency
203  // Get the node of the dependency of the top element
204  // and remove it from the smart pointer
205  SXNode *n2 = t->dep(c2).assignNoDelete(casadi_limits<SXElem>::nan);
206  // Check if this is the only reference to the element
207  if (n2->count == 0) {
208  // Check if unary or binary
209  if (!n2->n_dep()) {
210  // Delete straight away if not binary
211  delete n2;
212  } else {
213  // Add to deletion stack
214  deletion_stack.push(n2);
215  added_to_stack = true;
216  }
217  }
218  }
219  // Delete and pop from stack if nothing added to the stack
220  if (!added_to_stack) {
221  delete deletion_stack.top();
222  deletion_stack.pop();
223  }
224  }
225  }
SXNode()
constructor
Definition: sx_node.cpp:40
static const SXElem nan
Definition: sx_elem.hpp:323

References casadi::SXElem::assignNoDelete(), casadi::SXNode::count, casadi::SXNode::dep(), and casadi::SXNode::n_dep().

Referenced by casadi::BinarySX::~BinarySX(), and casadi::UnarySX::~UnarySX().

◆ serialize()

void casadi::SXNode::serialize ( SerializingStream s) const
inherited

Extra doc: https://github.com/casadi/casadi/wiki/L_aa

Definition at line 238 of file sx_node.cpp.

238  {
239  s.pack("SXNode::op", op());
240  serialize_node(s);
241  }
virtual void serialize_node(SerializingStream &s) const
Definition: sx_node.cpp:234

References casadi::SXNode::op(), casadi::SerializingStream::pack(), and casadi::SXNode::serialize_node().

◆ serialize_node()

void casadi::ZeroSX::serialize_node ( SerializingStream s) const
inlineoverridevirtual

Reimplemented from casadi::SXNode.

Definition at line 301 of file constant_sx.hpp.

301  {
302  s.pack("ConstantSX::type", '0');
303  }

References casadi::SerializingStream::pack().

◆ shared_from_this() [1/2]

SXElem casadi::SXNode::shared_from_this ( )
inherited

Definition at line 261 of file sx_node.cpp.

261  {
262  return SXElem(this, false);
263  }
friend class SXElem
Definition: sx_node.hpp:50

References casadi::SXNode::SXElem.

Referenced by casadi::SXNode::get_output(), and casadi::CallSX::get_output().

◆ shared_from_this() [2/2]

const SXElem casadi::SXNode::shared_from_this ( ) const
inherited

Definition at line 265 of file sx_node.cpp.

265  {
266  return SXElem(const_cast<SXNode*>(this), false);
267  }

References casadi::SXNode::SXElem.

◆ singleton()

static ZeroSX* casadi::ZeroSX::singleton ( )
inlinestatic

Definition at line 278 of file constant_sx.hpp.

278  {
279  static ZeroSX instance;
280  return &instance;
281  }

◆ to_double()

double casadi::ZeroSX::to_double ( ) const
inlineoverridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_1k0

Implements casadi::ConstantSX.

Definition at line 288 of file constant_sx.hpp.

288 { return 0;}

◆ to_int()

casadi_int casadi::ZeroSX::to_int ( ) const
inlineoverridevirtual

Extra doc: https://github.com/casadi/casadi/wiki/L_1k0

Reimplemented from casadi::SXNode.

Definition at line 289 of file constant_sx.hpp.

289 { return 0;}

◆ which_function()

Function casadi::SXNode::which_function ( ) const
virtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_291

Reimplemented in casadi::CallSX.

Definition at line 64 of file sx_node.cpp.

64  {
65  casadi_error("'which_function' not defined for class " + class_name());
66  }

References casadi::SXNode::class_name().

Referenced by casadi::SXNode::print_compact(), and casadi::SXElem::which_function().

◆ which_output()

casadi_int casadi::SXNode::which_output ( ) const
virtualinherited

Extra doc: https://github.com/casadi/casadi/wiki/L_292

Reimplemented in casadi::OutputSX.

Definition at line 68 of file sx_node.cpp.

68  {
69  casadi_error("'which_output' not defined for class " + class_name());
70  }

References casadi::SXNode::class_name().

Referenced by casadi::SXElem::which_output().

Member Data Documentation

◆ count

unsigned int casadi::SXNode::count
inherited

◆ deserialize_map

std::map< casadi_int, SXNode *(*)(DeserializingStream &)> casadi::SXNode::deserialize_map
staticinherited
Initial value:
= {
static SXNode * deserialize(DeserializingStream &s)
Definition: call_sx.hpp:161
static SXNode * deserialize(DeserializingStream &s)
Definition: output_sx.hpp:152
static SXNode * deserialize(DeserializingStream &s)
Definition: symbolic_sx.hpp:77
SXNode * ConstantSX_deserialize(DeserializingStream &s)

Definition at line 209 of file sx_node.hpp.

Referenced by casadi::SXNode::deserialize().

◆ eq_depth_

casadi_int casadi::SXNode::eq_depth_ = 1
staticinherited

◆ temp

int casadi::SXNode::temp
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().


The documentation for this class was generated from the following file: