Public Member Functions | Protected Member Functions | Protected Attributes | List of all members

Abstract base class for all scalar-valued unary operators within the symbolic operators family. More...

#include <unary_operator.hpp>

Inheritance diagram for UnaryOperator:
Inheritance graph
[legend]

Public Member Functions

virtual returnValue AD_backward (int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS)
 
virtual returnValue AD_backward (int number, double seed, double *df)
 
virtual returnValue AD_backward2 (int number, double seed1, double seed2, double *df, double *ddf)
 
virtual OperatorAD_forward (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)
 
virtual returnValue AD_forward (int number, double *seed, double *df)
 
virtual returnValue AD_forward (int number, double *x, double *seed, double *f, double *df)
 
virtual returnValue AD_forward2 (int number, double *seed1, double *seed2, double *df, double *ddf)
 
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)
 
virtual returnValue clearBuffer ()
 
virtual Operatorclone () const =0
 
Operatordifferentiate (int index)
 
virtual returnValue enumerateVariables (SymbolicIndexList *indexList)
 
virtual returnValue evaluate (int number, double *x, double *result)
 
virtual returnValue evaluate (EvaluationBase *x)=0
 
virtual CurvatureType getCurvature ()
 
virtual MonotonicityType getMonotonicity ()
 
virtual OperatorName getName ()
 
virtual BooleanType isDependingOn (VariableType var) const
 
virtual BooleanType isDependingOn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 
virtual BooleanType isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 
virtual NeutralElement isOneOrZero () const
 
virtual BooleanType isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 
virtual BooleanType isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 
virtual BooleanType isSymbolic () const
 
virtual BooleanType isVariable (VariableType &varType, int &component) const
 
virtual returnValue loadIndices (SymbolicIndexList *indexList)
 
UnaryOperatoroperator= (const UnaryOperator &arg)
 
virtual std::ostream & print (std::ostream &stream) const
 
virtual returnValue setCurvature (CurvatureType curvature_)
 
virtual returnValue setMonotonicity (MonotonicityType monotonicity_)
 
virtual Operatorsubstitute (int index, const Operator *sub)=0
 
 UnaryOperator ()
 
 UnaryOperator (Operator *_argument)
 
 UnaryOperator (const UnaryOperator &arg)
 
virtual ~UnaryOperator ()
 
- Public Member Functions inherited from SmoothOperator
virtual TreeProjectioncloneTreeProjection () const
 
virtual int getGlobalIndex () const
 
virtual double getValue () const
 
virtual BooleanType isSmooth () const
 
Expression operator* (const double &arg) const
 
Expression operator* (const DVector &arg) const
 
Expression operator* (const DMatrix &arg) const
 
Expression operator* (const Operator &arg) const
 
Expression operator* (const Expression &arg) const
 
Operatoroperator*= (const double &arg)
 
Operatoroperator*= (const DVector &arg)
 
Operatoroperator*= (const DMatrix &arg)
 
Operatoroperator*= (const Expression &arg)
 
Expression operator+ (const double &arg) const
 
Expression operator+ (const DVector &arg) const
 
Expression operator+ (const DMatrix &arg) const
 
Expression operator+ (const Operator &arg) const
 
Expression operator+ (const Expression &arg) const
 
Operatoroperator+= (const double &arg)
 
Operatoroperator+= (const DVector &arg)
 
Operatoroperator+= (const DMatrix &arg)
 
Operatoroperator+= (const Expression &arg)
 
Expression operator- (const double &arg) const
 
Expression operator- (const DVector &arg) const
 
Expression operator- (const DMatrix &arg) const
 
Expression operator- (const Operator &arg) const
 
Expression operator- (const Expression &arg) const
 
Expression operator- () const
 
Operatoroperator-= (const double &arg)
 
Operatoroperator-= (const DVector &arg)
 
Operatoroperator-= (const DMatrix &arg)
 
Operatoroperator-= (const Expression &arg)
 
Expression operator/ (const double &arg) const
 
Expression operator/ (const Operator &arg) const
 
Expression operator/ (const Expression &arg) const
 
Operatoroperator/= (const double &arg)
 
Operatoroperator/= (const Expression &arg)
 
ConstraintComponent operator<= (const double &ub) const
 
ConstraintComponent operator<= (const DVector &ub) const
 
ConstraintComponent operator<= (const VariablesGrid &ub) const
 
virtual Operatoroperator= (const double &arg)
 
virtual Operatoroperator= (const DVector &arg)
 
virtual Operatoroperator= (const DMatrix &arg)
 
virtual Operatoroperator= (const Expression &arg)
 
virtual Operatoroperator= (const Operator &arg)
 
ConstraintComponent operator== (const double &b) const
 
ConstraintComponent operator== (const DVector &b) const
 
ConstraintComponent operator== (const VariablesGrid &b) const
 
ConstraintComponent operator>= (const double &lb) const
 
ConstraintComponent operator>= (const DVector &lb) const
 
ConstraintComponent operator>= (const VariablesGrid &lb) const
 
virtual OperatorpassArgument () const
 
 SmoothOperator ()
 
virtual ~SmoothOperator ()
 
- Public Member Functions inherited from Operator
virtual returnValue initDerivative ()
 
virtual BooleanType isTrivial () const
 
virtual OperatormyAdd (Operator *a, Operator *b)
 
virtual OperatormyLogarithm (Operator *a)
 
virtual OperatormyPower (Operator *a, Operator *b)
 
virtual OperatormyPowerInt (Operator *a, int b)
 
virtual OperatormyProd (Operator *a, Operator *b)
 
virtual OperatormySubtract (Operator *a, Operator *b)
 
 Operator ()
 
Expression operator* (const double &arg) const
 
Expression operator* (const DVector &arg) const
 
Expression operator* (const DMatrix &arg) const
 
Expression operator* (const Operator &arg) const
 
Expression operator* (const Expression &arg) const
 
Operatoroperator*= (const double &arg)
 
Operatoroperator*= (const DVector &arg)
 
Operatoroperator*= (const DMatrix &arg)
 
Operatoroperator*= (const Expression &arg)
 
Expression operator+ (const double &arg) const
 
Expression operator+ (const DVector &arg) const
 
Expression operator+ (const DMatrix &arg) const
 
Expression operator+ (const Operator &arg) const
 
Expression operator+ (const Expression &arg) const
 
Operatoroperator+= (const double &arg)
 
Operatoroperator+= (const DVector &arg)
 
Operatoroperator+= (const DMatrix &arg)
 
Operatoroperator+= (const Expression &arg)
 
Expression operator- (const double &arg) const
 
Expression operator- (const DVector &arg) const
 
Expression operator- (const DMatrix &arg) const
 
Expression operator- (const Operator &arg) const
 
Expression operator- (const Expression &arg) const
 
Expression operator- () const
 
Operatoroperator-= (const double &arg)
 
Operatoroperator-= (const DVector &arg)
 
Operatoroperator-= (const DMatrix &arg)
 
Operatoroperator-= (const Expression &arg)
 
Expression operator/ (const double &arg) const
 
Expression operator/ (const Operator &arg) const
 
Expression operator/ (const Expression &arg) const
 
Operatoroperator/= (const double &arg)
 
Operatoroperator/= (const Expression &arg)
 
ConstraintComponent operator<= (const double &ub) const
 
ConstraintComponent operator<= (const DVector &ub) const
 
ConstraintComponent operator<= (const VariablesGrid &ub) const
 
ConstraintComponent operator== (const double &b) const
 
ConstraintComponent operator== (const DVector &b) const
 
ConstraintComponent operator== (const VariablesGrid &b) const
 
ConstraintComponent operator>= (const double &lb) const
 
ConstraintComponent operator>= (const DVector &lb) const
 
ConstraintComponent operator>= (const VariablesGrid &lb) const
 
virtual ~Operator ()
 

Protected Member Functions

returnValue ADbackwardProtected (int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS)
 
OperatorADforwardProtected (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)
 
returnValue ADsymmetricProtected (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 returnValue setVariableExportName (const VariableType &_type, const std::vector< std::string > &_name)
 
- Protected Member Functions inherited from Operator
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)
 
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)
 
virtual TreeProjectionconvert2TreeProjection (Operator *a) const
 

Protected Attributes

Operatorargument
 
double * argument_result
 
int bufferSize
 
std::string cName
 
CurvatureType curvature
 
Operatordargument
 
double * dargument_result
 
double(* ddfcn )(double)
 
Operatorderivative
 
Operatorderivative2
 
double(* dfcn )(double)
 
double(* fcn )(double)
 
MonotonicityType monotonicity
 
OperatorName operatorName
 
- Protected Attributes inherited from Operator
BooleanType initialized
 

Additional Inherited Members

- Public Attributes inherited from SmoothOperator
int nCount
 
- Public Attributes inherited from Operator
int nCount
 

Detailed Description

Abstract base class for all scalar-valued unary operators within the symbolic operators family.

The class UnaryOperator serves as a base class all scalar-valued unary operators within the symbolic operators family.

Author
Boris Houska, Hans Joachim Ferreau

Definition at line 56 of file unary_operator.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO UnaryOperator::UnaryOperator ( )

Default constructor.

Definition at line 42 of file unary_operator.cpp.

UnaryOperator::UnaryOperator ( Operator _argument)

Default constructor.

Definition at line 53 of file unary_operator.cpp.

UnaryOperator::UnaryOperator ( const UnaryOperator arg)

Copy constructor (deep copy).

Definition at line 74 of file unary_operator.cpp.

UnaryOperator::~UnaryOperator ( )
virtual

Default destructor.

Definition at line 113 of file unary_operator.cpp.

Member Function Documentation

returnValue UnaryOperator::AD_backward ( int  dim,
VariableType varType,
int *  component,
Operator seed,
Operator **  df,
int &  nNewIS,
TreeProjection ***  newIS 
)
virtual

Automatic Differentiation in backward mode on the symbolic
level. This function generates an expression for a
backward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
seedthe backward seed
dfthe result
nNewISthe number of new IS
newISthe new IS-pointer

Implements SmoothOperator.

Definition at line 226 of file unary_operator.cpp.

returnValue UnaryOperator::AD_backward ( int  number,
double  seed,
double *  df 
)
virtual

Automatic Differentiation in backward mode based on
buffered values

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seedthe seed
dfthe derivative

Implements SmoothOperator.

Definition at line 381 of file unary_operator.cpp.

returnValue UnaryOperator::AD_backward2 ( int  number,
double  seed1,
double  seed2,
double *  df,
double *  ddf 
)
virtual

Automatic Differentiation in backward mode for 2nd order
derivatives based on buffered values.

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seed1the seed1
seed2the seed2
dfthe 1st derivative
ddfthe 2nd derivative

Implements SmoothOperator.

Definition at line 406 of file unary_operator.cpp.

Operator * UnaryOperator::AD_forward ( int  dim,
VariableType varType,
int *  component,
Operator **  seed,
int &  nNewIS,
TreeProjection ***  newIS 
)
virtual

Automatic Differentiation in forward mode on the symbolic
level. This function generates an expression for a
forward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimdimension of the seed
varTypethe variable types
componentand their components
seedthe forward seed
nNewISthe number of new IS
newISthe new IS-pointer

Implements SmoothOperator.

Definition at line 215 of file unary_operator.cpp.

returnValue UnaryOperator::AD_forward ( int  number,
double *  seed,
double *  df 
)
virtual

Automatic Differentiation in forward mode.
This function uses the intermediate
results from a buffer

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
seedthe seed
dfthe derivative

Implements SmoothOperator.

Definition at line 370 of file unary_operator.cpp.

returnValue UnaryOperator::AD_forward ( int  number,
double *  x,
double *  seed,
double *  f,
double *  df 
)
virtual

Automatic Differentiation in forward mode.
This function stores the intermediate
results in a buffer (needed for 2nd order automatic
differentiation in backward mode)

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
xThe evaluation point x
seedthe seed
fthe value of the expression at x
dfthe derivative of the expression

Implements SmoothOperator.

Definition at line 351 of file unary_operator.cpp.

returnValue UnaryOperator::AD_forward2 ( int  number,
double *  seed1,
double *  seed2,
double *  df,
double *  ddf 
)
virtual

Automatic Differentiation in forward mode for
2nd derivatives.
This function uses intermediate
results from a buffer.

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seed1the seed
seed2the seed for the first derivative
dfthe derivative
ddfthe 2nd derivative

Implements SmoothOperator.

Definition at line 386 of file unary_operator.cpp.

returnValue UnaryOperator::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 
)
virtual

Automatic Differentiation in symmetric mode on the symbolic
level. This function generates an expression for a
second order derivative.

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
lthe backward seed
Sforward seed matrix
dimSdimension of forward seed
dfSfirst order foward result
ldffirst order backward result
Hupper trianglular part of the Hessian
nNewLISthe number of newLIS
newLISthe new LIS-pointer
nNewSISthe number of newSIS
newSISthe new SIS-pointer
nNewHISthe number of newHIS
newHISthe new HIS-pointer

Implements SmoothOperator.

Definition at line 239 of file unary_operator.cpp.

returnValue UnaryOperator::ADbackwardProtected ( int  dim,
VariableType varType,
int *  component,
Operator seed,
Operator **  df,
int &  nNewIS,
TreeProjection ***  newIS 
)
protected

Automatic Differentiation in backward mode on the symbolic
level. This function generates an expression for a
backward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
seedthe backward seed
dfthe result
nNewISthe number of new IS
newISthe new IS-pointer

Definition at line 509 of file unary_operator.cpp.

Operator * UnaryOperator::ADforwardProtected ( int  dim,
VariableType varType,
int *  component,
Operator **  seed,
int &  nNewIS,
TreeProjection ***  newIS 
)
protected

Automatic Differentiation in forward mode on the symbolic
level. This function generates an expression for a
forward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimdimension of the seed
varTypethe variable types
componentand their components
seedthe forward seed
nNewISthe number of new IS
newISthe new IS-pointer

Definition at line 492 of file unary_operator.cpp.

returnValue UnaryOperator::ADsymmetricProtected ( 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 
)
protected

Automatic Differentiation in symmetric mode on the symbolic
level. This function generates an expression for a
second order derivative.

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
lthe backward seed
Sforward seed matrix
dimSdimension of forward seed
dfSfirst order foward result
ldffirst order backward result
Hupper trianglular part of the Hessian
nNewLISthe number of newLIS
newLISthe new LIS-pointer
nNewSISthe number of newSIS
newSISthe new SIS-pointer
nNewHISthe number of newHIS
newHISthe new HIS-pointer

Definition at line 529 of file unary_operator.cpp.

returnValue UnaryOperator::clearBuffer ( )
virtual

Clears the buffer and resets the buffer size
to 1.

Returns
SUCCESFUL_RETURN

Implements SmoothOperator.

Definition at line 432 of file unary_operator.cpp.

virtual Operator* UnaryOperator::clone ( ) const
pure virtual

Provides a deep copy of the expression.

Returns
a clone of the expression.

Implements SmoothOperator.

Implemented in Cos, Exp, Logarithm, Sin, Tan, Acos, Asin, and Atan.

Operator * UnaryOperator::differentiate ( int  index)
virtual

Returns the derivative of the expression with respect
to the variable var(index).

Returns
The expression for the derivative.
Parameters
indexdiff. index

Implements SmoothOperator.

Definition at line 485 of file unary_operator.cpp.

returnValue UnaryOperator::enumerateVariables ( SymbolicIndexList indexList)
virtual

Enumerates all variables based on a common
IndexList.

Returns
SUCCESFUL_RETURN

Implements SmoothOperator.

Definition at line 445 of file unary_operator.cpp.

returnValue UnaryOperator::evaluate ( int  number,
double *  x,
double *  result 
)
virtual

Evaluates the expression and stores the intermediate
results in a buffer (needed for automatic differentiation
in backward mode)

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
xthe input variable x
resultthe result

Implements SmoothOperator.

Definition at line 201 of file unary_operator.cpp.

virtual returnValue UnaryOperator::evaluate ( EvaluationBase x)
pure virtual

Evaluates the expression (templated version)

Implements SmoothOperator.

Implemented in Acos, Atan, Cos, Exp, Logarithm, Sin, Tan, and Asin.

CurvatureType UnaryOperator::getCurvature ( )
virtual

Returns the curvature of the expression

Returns
CT_CONSTANT
CT_AFFINE
CT_CONVEX
CT_CONCAVE

Implements SmoothOperator.

Reimplemented in Exp, and Logarithm.

Definition at line 328 of file unary_operator.cpp.

MonotonicityType UnaryOperator::getMonotonicity ( )
virtual

Returns the monotonicity of the expression.

Returns
MT_NONDECREASING
MT_NONINCREASING
MT_NONMONOTONIC

Implements SmoothOperator.

Definition at line 319 of file unary_operator.cpp.

OperatorName UnaryOperator::getName ( )
virtual

Asks the expression for its name.

Returns
the name of the expression.

Implements SmoothOperator.

Definition at line 456 of file unary_operator.cpp.

BooleanType UnaryOperator::isDependingOn ( VariableType  var) const
virtual

Asks the expression whether it is depending on a certian type of
variable.

Returns
BT_TRUE if a dependency is detected,
BT_FALSE otherwise.

Implements SmoothOperator.

Definition at line 264 of file unary_operator.cpp.

BooleanType UnaryOperator::isDependingOn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
virtual

Checks whether the expression is depending on a variable

Returns
BT_FALSE if no dependence is detected
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements SmoothOperator.

Definition at line 270 of file unary_operator.cpp.

BooleanType UnaryOperator::isLinearIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
virtual

Checks whether the expression is linear in
(or not depending on) a variable

Returns
BT_FALSE if no linearity is
detected
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements SmoothOperator.

Definition at line 280 of file unary_operator.cpp.

NeutralElement UnaryOperator::isOneOrZero ( ) const
virtual

Checks whether the expression is zero or one

Returns
NE_ZERO
NE_ONE
NE_NEITHER_ONE_NOR_ZERO

Implements SmoothOperator.

Definition at line 261 of file unary_operator.cpp.

BooleanType UnaryOperator::isPolynomialIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
virtual

Checks whether the expression is polynomial in
the specified variables

Returns
BT_FALSE if the expression is not polynomial
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements SmoothOperator.

Definition at line 293 of file unary_operator.cpp.

BooleanType UnaryOperator::isRationalIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
virtual

Checks whether the expression is rational in
the specified variables

Returns
BT_FALSE if the expression is not rational
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements SmoothOperator.

Definition at line 306 of file unary_operator.cpp.

BooleanType UnaryOperator::isSymbolic ( ) const
virtual

Asks whether all elements are purely symbolic.

Returns
BT_TRUE if the complete tree is symbolic.
BT_FALSE otherwise (e.g. if C functions are linked).

Implements SmoothOperator.

Definition at line 468 of file unary_operator.cpp.

BooleanType UnaryOperator::isVariable ( VariableType varType,
int &  component 
) const
virtual

Asks the expression whether it is a variable.

Returns
The answer.

Implements SmoothOperator.

Definition at line 427 of file unary_operator.cpp.

returnValue UnaryOperator::loadIndices ( SymbolicIndexList indexList)
virtual

The function loadIndices passes an IndexList through
the whole expression tree. Whenever a variable gets the
IndexList it tries to make an entry. However if a
variable recognices that it has already been added
before it will not be allowed to make a second entry.
Note that all variables, in paticular the intermediate
states, will keep in mind whether they were allowed
to make an entry or not. This guarantees that
intermediate states are never evaluated twice if they
occur at several knots of the tree.

THIS FUNCTION IS FOR INTERNAL USE ONLY.

PLEASE CALL THIS FUNTION AT MOST ONES FOR AN EXPRESSION
AS A KIND OF INIT ROUTINE.

Returns
the name of the expression.

Implements SmoothOperator.

Definition at line 462 of file unary_operator.cpp.

UnaryOperator & UnaryOperator::operator= ( const UnaryOperator arg)

Assignment Operator (deep copy).

Definition at line 145 of file unary_operator.cpp.

std::ostream & UnaryOperator::print ( std::ostream &  stream) const
virtual

Prints the expression into a stream.

Returns
SUCCESFUL_RETURN

Implements SmoothOperator.

Definition at line 421 of file unary_operator.cpp.

returnValue UnaryOperator::setCurvature ( CurvatureType  curvature_)
virtual

Overwrites the curvature of the expression.
(For the case that the curvature is explicitly known)

Returns
SUCCESSFUL_RETURN

Implements SmoothOperator.

Definition at line 344 of file unary_operator.cpp.

returnValue UnaryOperator::setMonotonicity ( MonotonicityType  monotonicity_)
virtual

Overwrites the monotonicity of the expression.
(For the case that the monotonicity is explicitly known)

Returns
SUCCESSFUL_RETURN

Implements SmoothOperator.

Definition at line 337 of file unary_operator.cpp.

returnValue UnaryOperator::setVariableExportName ( const VariableType _type,
const std::vector< std::string > &  _name 
)
protectedvirtual

Sets the name of the variable that is used for code export.

Returns
SUCCESSFUL_RETURN

Reimplemented from Operator.

Definition at line 475 of file unary_operator.cpp.

virtual Operator* UnaryOperator::substitute ( int  index,
const Operator sub 
)
pure virtual

Substitutes var(index) with the expression sub.

Returns
The substituted expression.
Parameters
indexsubst. index
subthe substitution

Implements SmoothOperator.

Implemented in Cos, Exp, Logarithm, Sin, Tan, Acos, Asin, and Atan.

Member Data Documentation

Operator* UnaryOperator::argument
protected

The argument

Definition at line 460 of file unary_operator.hpp.

double* UnaryOperator::argument_result
protected

The results for the argument.

Definition at line 462 of file unary_operator.hpp.

int UnaryOperator::bufferSize
protected

The size of the buffer

Definition at line 464 of file unary_operator.hpp.

std::string UnaryOperator::cName
protected

Definition at line 469 of file unary_operator.hpp.

CurvatureType UnaryOperator::curvature
protected

Definition at line 466 of file unary_operator.hpp.

Operator* UnaryOperator::dargument
protected

The derivative

Definition at line 461 of file unary_operator.hpp.

double* UnaryOperator::dargument_result
protected

The results for the first derivative

Definition at line 463 of file unary_operator.hpp.

double(* UnaryOperator::ddfcn) (double)
protected

Definition at line 473 of file unary_operator.hpp.

Operator* UnaryOperator::derivative
protected

The derivative of this unary operator.

Definition at line 457 of file unary_operator.hpp.

Operator* UnaryOperator::derivative2
protected

The second order derivative of this unary operator.

Definition at line 458 of file unary_operator.hpp.

double(* UnaryOperator::dfcn) (double)
protected

Definition at line 472 of file unary_operator.hpp.

double(* UnaryOperator::fcn) (double)
protected

Definition at line 471 of file unary_operator.hpp.

MonotonicityType UnaryOperator::monotonicity
protected

Definition at line 467 of file unary_operator.hpp.

OperatorName UnaryOperator::operatorName
protected

Definition at line 468 of file unary_operator.hpp.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:27