34 #ifndef ACADO_TOOLKIT_EXPRESSION_HPP 35 #define ACADO_TOOLKIT_EXPRESSION_HPP 147 std::ostream&
print( std::ostream &stream )
const;
296 const std::string& name_ );
321 #include <acado/symbolic_expression/expression.ipp> 339 template<
class Derived, VariableType Type,
bool AllowCounter = true>
348 if (AllowCounter ==
true)
354 :
Expression(_name, _nRows, _nCols,
Type, AllowCounter ? count : 0)
356 if (AllowCounter ==
true)
357 count += _nRows * _nCols;
366 if (AllowCounter ==
true)
395 {
return new Derived( static_cast< Derived const& >( *
this ) ); }
405 template<
class Derived, VariableType Type,
bool AllowCounter>
410 #endif // ACADO_TOOLKIT_EXPRESSION_HPP VariableType variableType
Operator * getOperatorClone(uint idx) const
Expression getAtan() const
BooleanType isVariable() const
Expression & operator-=(const Expression &arg)
Expression getEntropy() const
Expression getPow(const Expression &arg) const
friend Expression operator+(const Expression &arg1, const Expression &arg2)
returnValue substitute(int idx, const Expression &arg) const
Abstract base class for all scalar-valued symbolic operators.
Expression ADsymmetric(const Expression &arg, const Expression &S, const Expression &l, Expression *dfS=0, Expression *ldf=0) const
Expression getCol(const uint &colIdx) const
Expression operator-() const
Expression getRow(const uint &rowIdx) const
Expression div(const Expression &arg) const
Allows to pass back messages to the calling function.
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Expression getCols(const uint &colIdx1, const uint &colIdx2) const
void copy(const Expression &rhs)
Expression operator()(uint idx) const
Expression getLogSumExp() const
Expression getDot() const
#define CLOSE_NAMESPACE_ACADO
std::ostream & print(std::ostream &stream) const
Expression mul(const Expression &arg) const
Expression sub(const Expression &arg) const
Operator * product(const Operator *a, const Operator *b) const
Expression getSqrt() const
BooleanType isDependingOn(VariableType type) const
Expression & operator*=(const Expression &arg)
Base class for all variables within the symbolic expressions family.
Expression getPowInt(const int &arg) const
Expression getInverse() const
Expression getExp() const
virtual Expression * clone() const
Expression getTan() const
Expression getSumSquare() const
Expression ADforward(const Expression &arg) const
void construct(VariableType variableType_, uint globalTypeID_, uint nRows_, uint nCols_, const std::string &name_)
Expression getAsin() const
Expression add(const Expression &arg) const
Expression & operator<<(const Expression &arg)
Expression & operator=(const Expression &arg)
DMatrix getDependencyPattern(const Expression &arg) const
Expression & appendRows(const Expression &arg)
virtual ~ExpressionType()
DMatrix getSparsityPattern() const
The class COperator is an auxiliary class to use C-Functions within a function evaluation tree...
friend Expression operator*(const Expression &arg1, const Expression &arg2)
void rhs(const real_t *x, real_t *f)
ExpressionType(const std::string &_name, unsigned _nRows, unsigned _nCols)
ExpressionType(const DVector &_arg)
Expression transpose() const
ExpressionType(const DMatrix &_arg)
Expression getNext() const
friend Expression operator/(const Expression &arg1, const Expression &arg2)
VariableType getVariableType() const
Organizes the evaluation of the function tree.
Expression & assignmentSetup(const Expression &arg)
Expression getODEexpansion(const int &order, const int *arg) const
Expression getAcos() const
uint getComponent(const unsigned int idx) const
Expression getSin() const
virtual Expression * clone() const
Expression getSubMatrix(const uint &rowIdx1, const uint &rowIdx2, const uint &colIdx1, const uint &colIdx2) const
#define BEGIN_NAMESPACE_ACADO
returnValue clearStaticCounters()
Expression getEuclideanNorm() const
Expression ADbackward(const Expression &arg) const
Expression & operator+=(const Expression &arg)
Expression & appendCols(const Expression &arg)
Expression getCos() const
ExpressionType(const Operator &_arg)
Expression getRows(const uint &rowIdx1, const uint &rowIdx2) const
ExpressionType(const double &_arg)
Expression & operator/=(const Expression &arg)
ExpressionType(const Expression &_expression, unsigned _componentIdx=0)