ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends

The class COperator is an auxiliary class to use C-Functions within a function evaluation tree. More...

#include <c_operator.hpp>

Inheritance diagram for COperator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 COperator ()
 Default constructor.
 COperator (const CFunction &fcn, const Expression &arg, int component_)
 Default constructor.
 COperator (const COperator &arg)
 Copy constructor (deep copy).
 ~COperator ()
 Default destructor.
COperatoroperator= (const COperator &arg)
 Assignment Operator (deep copy).
int increaseID ()
 ID Operator.
virtual returnValue evaluate (int number, double *x, double *result)
 Evaluates the expression and stores the intermediate
results in a buffer (needed for automatic differentiation
in backward mode)
.
virtual returnValue evaluate (EvaluationBase *x)
 Evaluates the expression (templated version)
virtual Operatordifferentiate (int index)
 Returns the derivative of the expression with respect
to the variable var(index).
virtual OperatorAD_forward (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)
 Automatic Differentiation in forward mode on the symbolic
level.
virtual returnValue AD_backward (int dim, VariableType *varType, int *component, Operator *seed, Operator **df)
 Automatic Differentiation in backward mode on the symbolic
level.
virtual Operatorsubstitute (int index, const Operator *sub)
 Substitutes var(index) with the expression sub.
virtual NeutralElement isOneOrZero () const
 Checks whether the expression is zero or one
.
virtual BooleanType isDependingOn (VariableType var) const
 Asks the expression whether it is depending on a certian type of
variable.
virtual BooleanType isDependingOn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 Checks whether the expression is depending on a variable
.
virtual BooleanType isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 Checks whether the expression is linear in
(or not depending on) a variable
.
virtual BooleanType isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 Checks whether the expression is polynomial in
the specified variables
.
virtual BooleanType isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
 Checks whether the expression is rational in
the specified variables
.
virtual MonotonicityType getMonotonicity ()
 Returns the monotonicity of the expression.
virtual CurvatureType getCurvature ()
 Returns the curvature of the expression
.
virtual returnValue setMonotonicity (MonotonicityType monotonicity_)
 Overwrites the monotonicity of the expression.
virtual returnValue setCurvature (CurvatureType curvature_)
 Overwrites the curvature of the expression.
virtual returnValue AD_forward (int number, double *seed, double *df)
 Automatic Differentiation in forward mode.
virtual returnValue AD_forward (int number, double *x, double *seed, double *f, double *df)
 Automatic Differentiation in forward mode.
virtual returnValue AD_backward (int number, double seed, double *df)
 Automatic Differentiation in backward mode based on
buffered values
.
virtual returnValue AD_forward2 (int number, double *seed1, double *seed2, double *df, double *ddf)
 Automatic Differentiation in forward mode for
2nd derivatives.
virtual returnValue AD_backward2 (int number, double seed1, double seed2, double *df, double *ddf)
 Automatic Differentiation in backward mode for 2nd order
derivatives based on buffered values.
virtual Streamprint (Stream &stream) const
 Prints the expression into a stream.
virtual Operatorclone () const
 Provides a deep copy of the expression.
virtual returnValue clearBuffer ()
 Clears the buffer and resets the buffer size
to 1.
virtual returnValue enumerateVariables (SymbolicIndexList *indexList)
 Enumerates all variables based on a common
IndexList.
virtual OperatorName getName ()
 Asks the expression for its name.
virtual BooleanType isVariable (VariableType &varType, int &component) const
 Asks the expression whether it is a variable.
virtual returnValue loadIndices (SymbolicIndexList *indexList)
 The function loadIndices passes an IndexList through
the whole expression tree.
virtual BooleanType isSymbolic () const
 Asks whether all elements are purely symbolic.
TreeProjectionoperator+= (const double &arg)
TreeProjectionoperator+= (const Vector &arg)
TreeProjectionoperator+= (const Matrix &arg)
TreeProjectionoperator+= (const Expression &arg)
TreeProjectionoperator-= (const double &arg)
TreeProjectionoperator-= (const Vector &arg)
TreeProjectionoperator-= (const Matrix &arg)
TreeProjectionoperator-= (const Expression &arg)
TreeProjectionoperator*= (const double &arg)
TreeProjectionoperator*= (const Vector &arg)
TreeProjectionoperator*= (const Matrix &arg)
TreeProjectionoperator*= (const Expression &arg)
TreeProjectionoperator/= (const double &arg)
TreeProjectionoperator/= (const Expression &arg)
Expression operator+ (const double &arg) const
Expression operator+ (const Vector &arg) const
Expression operator+ (const Matrix &arg) const
Expression operator+ (const Operator &arg) const
Expression operator+ (const Expression &arg) const
Expression operator- (const double &arg) const
Expression operator- (const Vector &arg) const
Expression operator- (const Matrix &arg) const
Expression operator- (const Operator &arg) const
Expression operator- (const Expression &arg) const
Expression operator- () const
Expression operator* (const double &arg) const
Expression operator* (const Vector &arg) const
Expression operator* (const Matrix &arg) const
Expression operator* (const Operator &arg) const
Expression operator* (const Expression &arg) const
Expression operator/ (const double &arg) const
Expression operator/ (const Operator &arg) const
Expression operator/ (const Expression &arg) const
ConstraintComponent operator<= (const double &ub) const
ConstraintComponent operator<= (const Vector &ub) const
ConstraintComponent operator<= (const VariablesGrid &ub) const
ConstraintComponent operator>= (const double &lb) const
ConstraintComponent operator>= (const Vector &lb) const
ConstraintComponent operator>= (const VariablesGrid &lb) const
ConstraintComponent operator== (const double &b) const
ConstraintComponent operator== (const Vector &b) const
ConstraintComponent operator== (const VariablesGrid &b) const
virtual BooleanType isSmooth () const
 Checks whether the expression is smooth in time
.
Stream operator<< (Stream &stream)
 Prints the expression into a stream ("flush" version).
Streamoperator<< (Stream &stream) const
 Prints the expression into a stream ("flush" version).
virtual TreeProjectioncloneTreeProjection () const
 Provides a deep copy of a tree projection.
virtual int getGlobalIndex () const
 Asks the variable for its relative index.
virtual double getValue () const
 Return the value of the constant.
virtual OperatorpassArgument () const
 Returns the argument or NULL if no intermediate argument available.
virtual returnValue setVariableExportName (const VariableType &_type, const Stream *_name)
 Sets the name of the variable that is used for code export.

Public Attributes

int nCount

Protected Member Functions

void copy (const COperator &arg)
 Protected copy routine.
void deleteAll ()
 Protected delete routine.

Protected Attributes

CFunction cFunction
 The C function to be evaluated.
Expression argument
 The argument for the evaluation.
double ** result
 The results of the evaluation of the argument.
double ** d_result
 The results for the derivative of the argument.
double ** cresult
 The results of the evaluation of the Cfunction.
double ** d_cresult
 The results for the derivative of the Cfunction.
int component
 The component of the CFunction.
uint bufferSize
 The size of the buffer.
BooleanType first
 Whether this compontent is evaluated first.
int * idx
 variable index list
int globalTypeID
 global ID of the C-Operator

Static Protected Attributes

static int counter = 0
 counter of the C-Operators

Friends

Expression operator+ (const double &arg1, const Operator &arg2)
Expression operator+ (const Vector &arg1, const Operator &arg2)
Expression operator+ (const Matrix &arg1, const Operator &arg2)
Expression operator- (const double &arg1, const Operator &arg2)
Expression operator- (const Vector &arg1, const Operator &arg2)
Expression operator- (const Matrix &arg1, const Operator &arg2)
Expression operator* (const double &arg1, const Operator &arg2)
Expression operator* (const Vector &arg1, const Operator &arg2)
Expression operator* (const Matrix &arg1, const Operator &arg2)
Expression operator/ (const double &arg1, const Operator &arg2)
Expression operator/ (const Vector &arg1, const Operator &arg2)
Expression operator/ (const Matrix &arg1, const Operator &arg2)
ConstraintComponent operator<= (double lb, const Operator &arg)
ConstraintComponent operator<= (Vector lb, const Operator &arg)
ConstraintComponent operator<= (VariablesGrid lb, const Operator &arg)
ConstraintComponent operator>= (double ub, const Operator &arg)
ConstraintComponent operator>= (Vector ub, const Operator &arg)
ConstraintComponent operator>= (VariablesGrid ub, const Operator &arg)
ConstraintComponent operator== (double b, const Operator &arg)
ConstraintComponent operator== (Vector b, const Operator &arg)
ConstraintComponent operator== (VariablesGrid b, const Operator &arg)
Streamoperator<< (Stream &stream, const Operator &arg)
 Prints the expression into a stream ("flush" version).
returnValue operator<< (FILE *file, const Operator &arg)
 Prints the expression into a stream ("flush" version).

Detailed Description

The class COperator is designed to be an auxiliary class to use C-Functions within a function evaluation tree.

Author:
Boris Houska, Hans Joachim Ferreau

Constructor & Destructor Documentation

COperator::COperator ( const CFunction fcn,
const Expression arg,
int  component_ 
)
COperator::COperator ( const COperator arg)

References copy().

References deleteAll().


Member Function Documentation

returnValue COperator::AD_backward ( int  dim,
VariableType varType,
int *  component,
Operator seed,
Operator **  df 
) [virtual]

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

Implements SmoothOperator.

References ACADOERROR, ASSERT, and RET_ASSERTION.

returnValue COperator::AD_backward ( int  number,
double  seed,
double *  df 
) [virtual]
Returns:
SUCCESFUL_RETURN
RET_NAN
Parameters:
numberthe buffer position
seedthe seed
dfthe derivative of the expression

Implements SmoothOperator.

References ACADOERROR, and RET_NOT_IMPLEMENTED_YET.

returnValue COperator::AD_backward2 ( int  number,
double  seed1,
double  seed2,
double *  df,
double *  ddf 
) [virtual]


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

Implements SmoothOperator.

References ACADOERROR, and RET_NOT_IMPLEMENTED_YET.

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

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.

References ACADOERROR, ASSERT, and RET_ASSERTION.

returnValue COperator::AD_forward ( int  number,
double *  seed,
double *  df 
) [virtual]


This function uses the intermediate
results from a buffer

Returns:
SUCCESFUL_RETURN
RET_NAN
Parameters:
numberstorage position
seedthe seed
dfthe derivative of the expression

Implements SmoothOperator.

References CFunction::AD_forward(), Operator::AD_forward(), argument, ASSERT, BT_FALSE, cFunction, component, d_cresult, d_result, Expression::element, first, CFunction::getDim(), Expression::getDim(), idx, SUCCESSFUL_RETURN, and uint.

returnValue COperator::AD_forward ( int  number,
double *  x,
double *  seed,
double *  f,
double *  df 
) [virtual]


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.

References CFunction::AD_forward(), Operator::AD_forward(), argument, ASSERT, BT_FALSE, bufferSize, cFunction, component, cresult, d_cresult, d_result, Expression::element, first, CFunction::getDim(), Expression::getDim(), idx, result, SUCCESSFUL_RETURN, and uint.

returnValue COperator::AD_forward2 ( int  number,
double *  seed1,
double *  seed2,
double *  df,
double *  ddf 
) [virtual]


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 of the expression
ddfthe 2nd derivative of the expression

Implements SmoothOperator.

References CFunction::AD_forward2(), Operator::AD_forward2(), argument, ASSERT, BT_FALSE, cFunction, component, Expression::element, first, CFunction::getDim(), Expression::getDim(), idx, SUCCESSFUL_RETURN, and uint.


Returns:
SUCCESFUL_RETURN

Implements SmoothOperator.

References bufferSize, cFunction, CFunction::clearBuffer(), cresult, d_cresult, d_result, and result.

Operator * COperator::clone ( ) const [virtual]


Returns:
a clone of the expression.

Implements SmoothOperator.

References COperator().

TreeProjection * SmoothOperator::cloneTreeProjection ( ) const [virtual, inherited]


Returns:
a clone of the TreeProjection or
an assertion if the type this is
expression is no TreeProjection.

Reimplemented from Operator.

Reimplemented in TreeProjection.

References ACADOERROR, ASSERT, and RET_UNKNOWN_BUG.

void COperator::copy ( const COperator arg) [protected]
void COperator::deleteAll ( ) [protected]

References bufferSize, cresult, d_cresult, d_result, idx, result, and uint.

Referenced by operator=(), and ~COperator().

Operator * COperator::differentiate ( int  index) [virtual]


Returns:
The expression for the derivative.
Parameters:
indexdiff. index

Implements SmoothOperator.

References ACADOERROR, ASSERT, and RET_ASSERTION.

returnValue COperator::evaluate ( int  number,
double *  x,
double *  result 
) [virtual]
Returns:
SUCCESFUL_RETURN
RET_NAN
Parameters:
numberstorage position
xthe input variable x
resultthe result

Implements SmoothOperator.

References argument, ASSERT, BT_FALSE, bufferSize, cFunction, component, cresult, d_cresult, d_result, Expression::element, CFunction::evaluate(), Operator::evaluate(), first, CFunction::getDim(), Expression::getDim(), idx, result, SUCCESSFUL_RETURN, and uint.

Implements SmoothOperator.

References ACADOERROR, ASSERT, and RET_ASSERTION.

Returns:
CT_CONSTANT
CT_AFFINE
CT_CONVEX
CT_CONCAVE

Implements SmoothOperator.

References CT_UNKNOWN.

int SmoothOperator::getGlobalIndex ( ) const [virtual, inherited]


Asks the variable for its global index.

Reimplemented from Operator.

Reimplemented in Projection.

References ACADOERROR, and RET_UNKNOWN_BUG.


Returns:
MT_NONDECREASING
MT_NONINCREASING
MT_NONMONOTONIC

Implements SmoothOperator.

References MT_NONMONOTONIC.


Returns:
the name of the expression.

Implements SmoothOperator.

References ON_CEXPRESSION.

double SmoothOperator::getValue ( ) const [virtual, inherited]

Reimplemented from Operator.

Reimplemented in DoubleConstant, Addition, Product, Quotient, and Subtraction.

References INFTY.

References counter.

Referenced by CFunction::operator()().


Returns:
BT_TRUE if a dependency is detected,
BT_FALSE otherwise.

Implements SmoothOperator.

References argument, BT_FALSE, BT_TRUE, Expression::element, Expression::getDim(), Operator::isDependingOn(), and uint.

BooleanType COperator::isDependingOn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [virtual]
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.

References argument, BT_FALSE, BT_TRUE, Expression::element, Expression::getDim(), Operator::isDependingOn(), and uint.

BooleanType COperator::isLinearIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [virtual]
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.

References BT_FALSE.

Returns:
NE_ZERO
NE_ONE
NE_NEITHER_ONE_NOR_ZERO

Implements SmoothOperator.

References NE_NEITHER_ONE_NOR_ZERO.

BooleanType COperator::isPolynomialIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [virtual]
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.

References BT_FALSE.

BooleanType COperator::isRationalIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [virtual]
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.

References BT_FALSE.

BooleanType SmoothOperator::isSmooth ( ) const [virtual, inherited]
Returns:
BT_FALSE if the expression is not smooth
BT_TRUE otherwise

Implements Operator.

References BT_TRUE.

BooleanType COperator::isSymbolic ( ) const [virtual]



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

Implements SmoothOperator.

References BT_FALSE.

BooleanType COperator::isVariable ( VariableType varType,
int &  component 
) const [virtual]


Returns:
The answer.

Implements SmoothOperator.

References BT_FALSE.

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.
Parameters:
indexListThe index list to be filled with entries

Implements SmoothOperator.

References argument, Expression::element, Expression::getDim(), Operator::loadIndices(), SUCCESSFUL_RETURN, and uint.

Expression SmoothOperator::operator* ( const double &  arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator* ( const Vector arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator* ( const Matrix arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator* ( const Operator arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator* ( const Expression arg) const [inherited]

Reimplemented from Operator.

TreeProjection & SmoothOperator::operator*= ( const double &  arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator*= ( const Vector arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator*= ( const Matrix arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator*= ( const Expression arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

Expression SmoothOperator::operator+ ( const double &  arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator+ ( const Vector arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator+ ( const Matrix arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator+ ( const Operator arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator+ ( const Expression arg) const [inherited]

Reimplemented from Operator.

TreeProjection & SmoothOperator::operator+= ( const double &  arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator+= ( const Vector arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator+= ( const Matrix arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator+= ( const Expression arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

Expression SmoothOperator::operator- ( const double &  arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator- ( const Vector arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator- ( const Matrix arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator- ( const Operator arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator- ( const Expression arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator- ( ) const [inherited]

Reimplemented from Operator.

TreeProjection & SmoothOperator::operator-= ( const double &  arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator-= ( const Vector arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator-= ( const Matrix arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator-= ( const Expression arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

Expression SmoothOperator::operator/ ( const double &  arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator/ ( const Operator arg) const [inherited]

Reimplemented from Operator.

Expression SmoothOperator::operator/ ( const Expression arg) const [inherited]

Reimplemented from Operator.

TreeProjection & SmoothOperator::operator/= ( const double &  arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

TreeProjection & SmoothOperator::operator/= ( const Expression arg) [inherited]

Reimplemented from Operator.

References SmoothOperator::operator=().

Stream SmoothOperator::operator<< ( Stream stream) [inherited]


Returns:
SUCCESFUL_RETURN

References SmoothOperator::print().

Stream & Operator::operator<< ( Stream stream) const [inherited]


Returns:
SUCCESFUL_RETURN

References Operator::print().

ConstraintComponent SmoothOperator::operator<= ( const double &  ub) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator<= ( const Vector ub) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator<= ( const VariablesGrid ub) const [inherited]

Reimplemented from Operator.

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

References copy(), and deleteAll().

ConstraintComponent SmoothOperator::operator== ( const double &  b) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator== ( const Vector b) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator== ( const VariablesGrid b) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator>= ( const double &  lb) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator>= ( const Vector lb) const [inherited]

Reimplemented from Operator.

ConstraintComponent SmoothOperator::operator>= ( const VariablesGrid lb) const [inherited]

Reimplemented from Operator.

Operator * SmoothOperator::passArgument ( ) const [virtual, inherited]

Reimplemented from Operator.

Reimplemented in TreeProjection.

Stream & COperator::print ( Stream stream) const [virtual]


Returns:
SUCCESFUL_RETURN

Implements SmoothOperator.


(For the case that the curvature is explicitly known)

Returns:
SUCCESSFUL_RETURN

Implements SmoothOperator.

References ACADOERROR, and RET_UNKNOWN_BUG.


(For the case that the monotonicity is explicitly known)

Returns:
SUCCESSFUL_RETURN

Implements SmoothOperator.

References ACADOERROR, and RET_UNKNOWN_BUG.

returnValue Operator::setVariableExportName ( const VariableType _type,
const Stream _name 
) [virtual, inherited]
Operator * COperator::substitute ( int  index,
const Operator sub 
) [virtual]


Returns:
The substituted expression.
Parameters:
indexsubst. index
subthe substitution

Implements SmoothOperator.

References ACADOERROR, and RET_NOT_IMPLEMENTED_YET.


Friends And Related Function Documentation

Expression operator* ( const double &  arg1,
const Operator arg2 
) [friend, inherited]
Expression operator* ( const Vector arg1,
const Operator arg2 
) [friend, inherited]
Expression operator* ( const Matrix arg1,
const Operator arg2 
) [friend, inherited]
Expression operator+ ( const double &  arg1,
const Operator arg2 
) [friend, inherited]
Expression operator+ ( const Vector arg1,
const Operator arg2 
) [friend, inherited]
Expression operator+ ( const Matrix arg1,
const Operator arg2 
) [friend, inherited]
Expression operator- ( const double &  arg1,
const Operator arg2 
) [friend, inherited]
Expression operator- ( const Vector arg1,
const Operator arg2 
) [friend, inherited]
Expression operator- ( const Matrix arg1,
const Operator arg2 
) [friend, inherited]
Expression operator/ ( const double &  arg1,
const Operator arg2 
) [friend, inherited]
Expression operator/ ( const Vector arg1,
const Operator arg2 
) [friend, inherited]
Expression operator/ ( const Matrix arg1,
const Operator arg2 
) [friend, inherited]
Stream& operator<< ( Stream stream,
const Operator arg 
) [friend, inherited]


Returns:
SUCCESFUL_RETURN
returnValue operator<< ( FILE *  file,
const Operator arg 
) [friend, inherited]


Returns:
SUCCESFUL_RETURN
ConstraintComponent operator<= ( double  lb,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator<= ( Vector  lb,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator<= ( VariablesGrid  lb,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator== ( double  b,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator== ( Vector  b,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator== ( VariablesGrid  b,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator>= ( double  ub,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator>= ( Vector  ub,
const Operator arg 
) [friend, inherited]
ConstraintComponent operator>= ( VariablesGrid  ub,
const Operator arg 
) [friend, inherited]

Member Data Documentation

int COperator::component [protected]
BEGIN_NAMESPACE_ACADO int COperator::counter = 0 [static, protected]

Referenced by COperator(), and increaseID().

double** COperator::cresult [protected]
double** COperator::d_cresult [protected]
double** COperator::d_result [protected]
int COperator::globalTypeID [protected]

Referenced by COperator(), copy(), and enumerateVariables().

int* COperator::idx [protected]
int SmoothOperator::nCount [inherited]
double** COperator::result [protected]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines