#include <model.hpp>
Definition at line 2109 of file model.hpp.
typedef _Base::const_walker coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::const_walker [inherited] |
This is the type of the walker, which is used for the short-cuts.
Reimplemented from coco::cached_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 853 of file evaluator.h.
typedef lincoeff_visitor_st coco::_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::data_type [inherited] |
The data_type specifies the type of the internal data of the evaluator.
Definition at line 305 of file evaluator.h.
typedef _Base::node_data_type coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::node_data_type [inherited] |
The node_data_type is the datatype of the nodes of the graph.
Reimplemented from coco::cached_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 849 of file evaluator.h.
typedef _Base::return_value coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::return_value [inherited] |
This type is the result type of the evaluator.
Reimplemented from coco::cached_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 851 of file evaluator.h.
coco::model::model::lincoeff_visitor::lincoeff_visitor | ( | const std::vector< interval > * | _rg, | |
linalg::sparse_vector< double > * | _cf, | |||
double * | _cs, | |||
const model * | _m | |||
) | [inline] |
coco::model::model::lincoeff_visitor::lincoeff_visitor | ( | const lincoeff_visitor & | __x | ) | [inline] |
coco::model::model::lincoeff_visitor::~lincoeff_visitor | ( | ) | [inline] |
int coco::model::model::lincoeff_visitor::calculate | ( | const expression_node & | __data | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
lincoeff_visitor_ret coco::model::model::lincoeff_visitor::calculate_value | ( | bool | eval_all | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
virtual void coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::cleanup | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
The cleanup method is called just before calculate_value and should be used to clean up dynamically allocated data. The __data
parameter contains the node data of the graph node being visited.
Definition at line 925 of file evaluator.h.
int coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::collect | ( | const node_data_type & | __data, | |
const return_value & | __rval | |||
) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called for each normal node everytime a child node has been visited passing the return value of the child. It is translated to a call to update.
Reimplemented from coco::_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 879 of file evaluator.h.
void coco::model::model::lincoeff_visitor::initialize | ( | const expression_node & | __data | ) | [inline] |
This is a method as needed by a cached backward evaluator.
void coco::model::model::lincoeff_visitor::initialize | ( | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
bool coco::model::model::lincoeff_visitor::is_cached | ( | const expression_node & | __data | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
void coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::postorder | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right after all children of a node have been visited. It is translated into a call to cleanup.
Reimplemented from coco::_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 874 of file evaluator.h.
int coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::preorder | ( | const node_data_type & | __data | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right before any children of a node are visited. It checks whether the result of this node is cached and calls either retrieve_from_cache and stops the downwards walk or calls calculate.
Reimplemented from coco::cached_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 862 of file evaluator.h.
void coco::model::model::lincoeff_visitor::retrieve_from_cache | ( | const expression_node & | __data | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
virtual const_walker coco::model::model::lincoeff_visitor::short_cut_to | ( | const expression_node & | __data | ) | [inline, virtual] |
This is a method as needed by a cached backward evaluator.
Reimplemented from coco::cached_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
virtual int coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::update | ( | const node_data_type & | __data, | |
const return_value & | __rval | |||
) | [inline, virtual, inherited] |
The update method is called for each virtual node everytime a child node has been visited passing the return value of the child. The __data
parameter contains the node data of the graph node being visited. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 951 of file evaluator.h.
virtual int coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::update | ( | const return_value & | __rval | ) | [inline, virtual, inherited] |
The update method is called for each virtual node everytime a child node has been visited passing the return value of the child. The __data
parameter contains the node data of the graph node being visited. The return value has the following effect:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip as many children. |
Definition at line 940 of file evaluator.h.
int coco::model::model::lincoeff_visitor::update | ( | const lincoeff_visitor_ret & | __rval | ) | [inline] |
This is a method as needed by a cached backward evaluator.
int coco::model::model::lincoeff_visitor::update | ( | const expression_node & | __data, | |
const lincoeff_visitor_ret & | __rval | |||
) | [inline] |
This is a method as needed by a cached backward evaluator.
return_value coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::value | ( | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right before the end of the visit of a normal node to retrieve the return value. It is translated to a call to calculate_value with parameter false
.
Reimplemented from coco::_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 891 of file evaluator.h.
int coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::vcollect | ( | const return_value & | __rval | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called for each virtual node everytime a child node has been visited passing the return value of the child. It is translated to a call to update.
Reimplemented from coco::_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 885 of file evaluator.h.
void coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::vinit | ( | ) | [inline, inherited] |
This method is needed by a visitor using recursive_short_cut_walk for traversing the graph. It is called before performing any graph walk when at a virtual node. It is translated to initialize.
Definition at line 900 of file evaluator.h.
return_value coco::cached_backward_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::vvalue | ( | ) | [inline, virtual, inherited] |
This method is needed by a visitor (see VGTL documentation) and is called right before the end of the visit of a virtual node to retrieve the return value. It is translated to a call to calculate_value with parameter true
.
Reimplemented from coco::_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret,model::const_walker >.
Definition at line 896 of file evaluator.h.
lincoeff_visitor_st coco::_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::eval_data [protected, inherited] |
The internal data of the evaluator
Definition at line 316 of file evaluator.h.
const variable_indicator* coco::cached_evaluator_base< lincoeff_visitor_st , expression_node , lincoeff_visitor_ret , model::const_walker >::v_ind [protected, inherited] |
For caching a variable indicator is needed to check which nodes need not be re-evaluated.
Definition at line 427 of file evaluator.h.