34 #ifndef ACADO_TOOLKIT_OPERATOR_HPP 35 #define ACADO_TOOLKIT_OPERATOR_HPP 173 double *result ) = 0;
454 virtual std::ostream&
print(std::ostream& stream)
const = 0;
513 int &component )
const = 0;
564 const std::vector< std::string >& _name
virtual returnValue clearBuffer()=0
virtual int getGlobalIndex() const
virtual returnValue AD_forward2(int number, double *seed1, double *seed2, double *df, double *ddf)=0
ConstraintComponent operator==(const double &b) const
virtual MonotonicityType getMonotonicity()=0
Abstract base class for all scalar-valued symbolic operators.
ConstraintComponent operator>=(const double &lb) const
virtual BooleanType isDependingOn(VariableType var) const =0
virtual NeutralElement isOneOrZero() const =0
Expression operator*(const double &arg) const
virtual Operator * myPowerInt(Operator *a, int b)
virtual Operator * differentiate(int index)=0
Provides a time grid consisting of vector-valued optimization variables at each grid point...
Allows to pass back messages to the calling function.
virtual returnValue loadIndices(SymbolicIndexList *indexList)=0
Expression operator+(const double &arg) const
virtual Operator * clone() const =0
virtual Operator * substitute(int index, const Operator *sub)=0
virtual returnValue setVariableExportName(const VariableType &_type, const std::vector< std::string > &_name)
virtual double getValue() const
#define CLOSE_NAMESPACE_ACADO
virtual BooleanType isSymbolic() const =0
Manages the indices of SymbolicVariables.
Data class for symbolically formulating constraints within optimal control problems.
virtual OperatorName getName()=0
virtual Operator * mySubtract(Operator *a, Operator *b)
Expression operator/(const double &arg) const
Operator & operator+=(const double &arg)
Base class for all variables within the symbolic expressions family.
virtual Operator * AD_forward(int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)=0
virtual returnValue enumerateVariables(SymbolicIndexList *indexList)=0
returnValue ADsymCommon2(Operator *a, Operator *b, TreeProjection &dx, TreeProjection &dy, TreeProjection &dxx, TreeProjection &dxy, TreeProjection &dyy, int dim, VariableType *varType, int *component, Operator *l, Operator **S, int dimS, Operator **dfS, Operator **ldf, Operator **H, int &nNewLIS, TreeProjection ***newLIS, int &nNewSIS, TreeProjection ***newSIS, int &nNewHIS, TreeProjection ***newHIS)
Operator & operator*=(const double &arg)
virtual returnValue AD_backward2(int number, double seed1, double seed2, double *df, double *ddf)=0
virtual Operator & operator=(const double &arg)
virtual Operator * myProd(Operator *a, Operator *b)
virtual TreeProjection * cloneTreeProjection() const
virtual returnValue AD_backward(int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS)=0
virtual returnValue initDerivative()
virtual Operator * myAdd(Operator *a, Operator *b)
returnValue ADsymCommon(Operator *a, TreeProjection &da, TreeProjection &dda, int dim, VariableType *varType, int *component, Operator *l, Operator **S, int dimS, Operator **dfS, Operator **ldf, Operator **H, int &nNewLIS, TreeProjection ***newLIS, int &nNewSIS, TreeProjection ***newSIS, int &nNewHIS, TreeProjection ***newHIS)
virtual std::ostream & print(std::ostream &stream) const =0
ConstraintComponent operator<=(const double &ub) const
virtual BooleanType isLinearIn(int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
virtual returnValue evaluate(int number, double *x, double *result)=0
virtual BooleanType isVariable(VariableType &varType, int &component) const =0
friend std::ostream & operator<<(std::ostream &stream, const Operator &arg)
virtual BooleanType isPolynomialIn(int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
virtual BooleanType isSmooth() const =0
Expression operator-() const
virtual Operator * myLogarithm(Operator *a)
virtual Operator * passArgument() const
virtual returnValue setCurvature(CurvatureType curvature_)=0
Implements the tree-projection operator within the family of SymbolicOperators.
virtual TreeProjection * convert2TreeProjection(Operator *a) const
#define BEGIN_NAMESPACE_ACADO
Abstract base class for templated evaluation of operators.
virtual CurvatureType getCurvature()=0
virtual BooleanType isRationalIn(int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
virtual BooleanType isTrivial() const
virtual returnValue setMonotonicity(MonotonicityType monotonicity_)=0
Operator & operator-=(const double &arg)
virtual Operator * myPower(Operator *a, Operator *b)
Operator & operator/=(const double &arg)
virtual returnValue AD_symmetric(int dim, VariableType *varType, int *component, Operator *l, Operator **S, int dimS, Operator **dfS, Operator **ldf, Operator **H, int &nNewLIS, TreeProjection ***newLIS, int &nNewSIS, TreeProjection ***newSIS, int &nNewHIS, TreeProjection ***newHIS)=0