#include <evaluator.h>
Public Types | |
typedef _Base::node_data_type | node_data_type |
typedef _Base::return_value | return_value |
typedef _Base::const_walker | const_walker |
typedef _Tp | data_type |
Public Member Functions | |
virtual int | preorder (const node_data_type &__data) |
virtual const_walker | short_cut_to (const node_data_type &__data) |
cached_evaluator_base () | |
cached_evaluator_base (const _Tp &__x, const variable_indicator &__v) | |
cached_evaluator_base (const _Self &__x) | |
virtual | ~cached_evaluator_base () |
virtual return_value | vvalue () |
virtual return_value | value () |
virtual int | vcollect (const return_value &__cresult) |
virtual int | collect (const node_data_type &__data, const return_value &__cresult) |
virtual void | postorder (const node_data_type &__data) |
Protected Attributes | |
const variable_indicator * | v_ind |
_Tp | eval_data |
Definition at line 417 of file evaluator.h.
typedef _Base::const_walker coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::const_walker |
This is the type of the walker, which is used for the short-cuts.
Reimplemented from coco::_evaluator_base< _Tp, _NData, _Result, _Walker >.
Reimplemented in coco::cached_forward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_backward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_forward_evaluator_base< func_islp_eval_type, expression_node, func_islp_return_type, expression_const_walker >, coco::cached_forward_evaluator_base< hessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< ihessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< double > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< b_interval_eval_type, expression_node, b_interval, expression_const_walker >, coco::cached_forward_evaluator_base< dfunc_eval_type< _T, DN >, expression_node, dfunc_eval_rettype< _T, DN >, expression_const_walker >, coco::cached_forward_evaluator_base< hessForwardEvaluatorType, expression_node, hessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< diffI_eval_type, expression_node, diffI, expression_const_walker >, coco::cached_forward_evaluator_base< func_id_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_d_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< model::detect_0chain_visitor_st, expression_node, std::pair< unsigned int, unsigned int >, model::const_walker >, coco::cached_forward_evaluator_base< ihessForwardEvaluatorType, expression_node, ihessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< interval_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< iderf_eval_type, expression_node, iderf_ret_type, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< interval > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< Islope_eval_type, expression_node, Islope, expression_const_walker >, coco::cached_forward_evaluator_base< infbound_eval_type, expression_node, infbound, expression_const_walker >, coco::cached_forward_evaluator_base< diffNumber_eval_type, expression_node, diffNumber, expression_const_walker >, coco::cached_forward_evaluator_base< cinterval_eval_type, expression_node, cinterval, expression_const_walker >, coco::cached_forward_evaluator_base< analyticd_eval_type, expression_node, analyticd, expression_const_walker >, coco::cached_backward_evaluator_base< islp_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ihessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< hessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ider_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< der_eval_type, expression_node, bool, expression_const_walker >, and coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
Definition at line 435 of file evaluator.h.
typedef _Tp coco::_evaluator_base< _Tp , _NData , _Result , _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_evaluator_base< _Tp, _NData, _Result, _Walker >::node_data_type |
The node_data_type is the datatype of the nodes of the graph.
Reimplemented from coco::_evaluator_base< _Tp, _NData, _Result, _Walker >.
Reimplemented in coco::cached_forward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_backward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_forward_evaluator_base< func_islp_eval_type, expression_node, func_islp_return_type, expression_const_walker >, coco::cached_forward_evaluator_base< hessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< ihessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< double > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< b_interval_eval_type, expression_node, b_interval, expression_const_walker >, coco::cached_forward_evaluator_base< dfunc_eval_type< _T, DN >, expression_node, dfunc_eval_rettype< _T, DN >, expression_const_walker >, coco::cached_forward_evaluator_base< hessForwardEvaluatorType, expression_node, hessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< diffI_eval_type, expression_node, diffI, expression_const_walker >, coco::cached_forward_evaluator_base< func_id_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_d_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< model::detect_0chain_visitor_st, expression_node, std::pair< unsigned int, unsigned int >, model::const_walker >, coco::cached_forward_evaluator_base< ihessForwardEvaluatorType, expression_node, ihessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< interval_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< iderf_eval_type, expression_node, iderf_ret_type, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< interval > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< Islope_eval_type, expression_node, Islope, expression_const_walker >, coco::cached_forward_evaluator_base< infbound_eval_type, expression_node, infbound, expression_const_walker >, coco::cached_forward_evaluator_base< diffNumber_eval_type, expression_node, diffNumber, expression_const_walker >, coco::cached_forward_evaluator_base< cinterval_eval_type, expression_node, cinterval, expression_const_walker >, coco::cached_forward_evaluator_base< analyticd_eval_type, expression_node, analyticd, expression_const_walker >, coco::cached_backward_evaluator_base< islp_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ihessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< hessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ider_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< der_eval_type, expression_node, bool, expression_const_walker >, and coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
Definition at line 431 of file evaluator.h.
typedef _Base::return_value coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::return_value |
This type is the result type of the evaluator.
Reimplemented from coco::_evaluator_base< _Tp, _NData, _Result, _Walker >.
Reimplemented in coco::cached_forward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_backward_evaluator_base< _Tp, _NData, _Result, _Walker >, coco::cached_forward_evaluator_base< func_islp_eval_type, expression_node, func_islp_return_type, expression_const_walker >, coco::cached_forward_evaluator_base< hessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< ihessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< double > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< b_interval_eval_type, expression_node, b_interval, expression_const_walker >, coco::cached_forward_evaluator_base< dfunc_eval_type< _T, DN >, expression_node, dfunc_eval_rettype< _T, DN >, expression_const_walker >, coco::cached_forward_evaluator_base< hessForwardEvaluatorType, expression_node, hessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< diffI_eval_type, expression_node, diffI, expression_const_walker >, coco::cached_forward_evaluator_base< func_id_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_d_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< model::detect_0chain_visitor_st, expression_node, std::pair< unsigned int, unsigned int >, model::const_walker >, coco::cached_forward_evaluator_base< ihessForwardEvaluatorType, expression_node, ihessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< interval_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< iderf_eval_type, expression_node, iderf_ret_type, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< interval > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< Islope_eval_type, expression_node, Islope, expression_const_walker >, coco::cached_forward_evaluator_base< infbound_eval_type, expression_node, infbound, expression_const_walker >, coco::cached_forward_evaluator_base< diffNumber_eval_type, expression_node, diffNumber, expression_const_walker >, coco::cached_forward_evaluator_base< cinterval_eval_type, expression_node, cinterval, expression_const_walker >, coco::cached_forward_evaluator_base< analyticd_eval_type, expression_node, analyticd, expression_const_walker >, coco::cached_backward_evaluator_base< islp_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ihessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< hessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ider_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< der_eval_type, expression_node, bool, expression_const_walker >, and coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
Definition at line 433 of file evaluator.h.
coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::cached_evaluator_base | ( | ) | [inline] |
Standard Constructor
Definition at line 455 of file evaluator.h.
coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::cached_evaluator_base | ( | const _Tp & | __x, | |
const variable_indicator & | __v | |||
) | [inline] |
Constructor, which initializes the internal data and the variable indicator
Definition at line 458 of file evaluator.h.
coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::cached_evaluator_base | ( | const _Self & | __x | ) | [inline] |
Standard Copy Constructor
Definition at line 461 of file evaluator.h.
virtual coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::~cached_evaluator_base | ( | ) | [inline, virtual] |
Standard Destructor
Definition at line 464 of file evaluator.h.
virtual int coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::collect | ( | const node_data_type & | __data, | |
const return_value & | __cresult | |||
) | [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. 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 359 of file evaluator.h.
virtual void coco::_evaluator_base< _Tp , _NData , _Result , _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.
Definition at line 364 of file evaluator.h.
virtual int coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::preorder | ( | const node_data_type & | __data | ) | [inline, virtual] |
This method is needed by a visitor (see VGTL documentation) and is called right before any children of a node are visited. The return value of the method influences the further graph walk:
<0 | perform a short-cut (the short_cut_to method will be called), |
0 | don't visit the children, proceed with postorder, |
>0 | continue with the walk by visiting the children. |
Reimplemented in coco::cached_forward_evaluator_base< func_islp_eval_type, expression_node, func_islp_return_type, expression_const_walker >, coco::cached_forward_evaluator_base< hessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< ihessPreparationEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< double > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< b_interval_eval_type, expression_node, b_interval, expression_const_walker >, coco::cached_forward_evaluator_base< dfunc_eval_type< _T, DN >, expression_node, dfunc_eval_rettype< _T, DN >, expression_const_walker >, coco::cached_forward_evaluator_base< hessForwardEvaluatorType, expression_node, hessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< diffI_eval_type, expression_node, diffI, expression_const_walker >, coco::cached_forward_evaluator_base< func_id_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_d_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< model::detect_0chain_visitor_st, expression_node, std::pair< unsigned int, unsigned int >, model::const_walker >, coco::cached_forward_evaluator_base< ihessForwardEvaluatorType, expression_node, ihessForwardEvaluatorReturnValue, expression_const_walker >, coco::cached_forward_evaluator_base< interval_eval_type, expression_node, interval, expression_const_walker >, coco::cached_forward_evaluator_base< func_eval_type, expression_node, double, expression_const_walker >, coco::cached_forward_evaluator_base< iderf_eval_type, expression_node, iderf_ret_type, expression_const_walker >, coco::cached_forward_evaluator_base< std::vector< std::vector< interval > > *, expression_node, bool, expression_const_walker >, coco::cached_forward_evaluator_base< Islope_eval_type, expression_node, Islope, expression_const_walker >, coco::cached_forward_evaluator_base< infbound_eval_type, expression_node, infbound, expression_const_walker >, coco::cached_forward_evaluator_base< diffNumber_eval_type, expression_node, diffNumber, expression_const_walker >, coco::cached_forward_evaluator_base< cinterval_eval_type, expression_node, cinterval, expression_const_walker >, coco::cached_forward_evaluator_base< analyticd_eval_type, expression_node, analyticd, expression_const_walker >, coco::cached_backward_evaluator_base< islp_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ihessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< hessBackwardEvaluatorType, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< ider_eval_type, expression_node, bool, expression_const_walker >, coco::cached_backward_evaluator_base< der_eval_type, expression_node, bool, expression_const_walker >, and coco::cached_backward_evaluator_base< lincoeff_visitor_st, expression_node, lincoeff_visitor_ret, model::const_walker >.
Definition at line 446 of file evaluator.h.
virtual const_walker coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker >::short_cut_to | ( | const node_data_type & | __data | ) | [inline, virtual] |
The short_cut_to method is called whenever a short-cut is signalled during the graph walk, and the const_walker
returned is the target of the short-cut.
Reimplemented in coco::analyticd_eval, coco::b_interval_eval, coco::cinterval_eval, coco::func_d_eval, coco::der_eval, coco::func_d_eval, coco::der_eval, coco::dfunc_eval< _T, DN >, coco::diffI_eval, coco::diffNumber_eval, coco::func_eval, coco::func_eval, coco::hessForwardEvaluator, coco::hessBackwardEvaluator, coco::func_id_eval, coco::ider_eval, coco::iderf_eval, coco::ihessForwardEvaluator, coco::ihessBackwardEvaluator, coco::infbound_eval, coco::interval_eval, coco::Islope_eval, coco::func_islp_eval, coco::islp_eval, and coco::model::model::lincoeff_visitor.
Definition at line 450 of file evaluator.h.
virtual return_value coco::_evaluator_base< _Tp , _NData , _Result , _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.
Definition at line 336 of file evaluator.h.
virtual int coco::_evaluator_base< _Tp , _NData , _Result , _Walker >::vcollect | ( | const return_value & | __cresult | ) | [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. 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 348 of file evaluator.h.
virtual return_value coco::_evaluator_base< _Tp , _NData , _Result , _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.
Definition at line 332 of file evaluator.h.
_Tp coco::_evaluator_base< _Tp , _NData , _Result , _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< _Tp, _NData, _Result, _Walker >::v_ind [protected] |
For caching a variable indicator is needed to check which nodes need not be re-evaluated.
Definition at line 427 of file evaluator.h.