Classes | |
class | coco::prep_d_eval |
Preparation Evaluator for derivatives. More... | |
struct | coco::func_d_eval_type |
Visitor data for func_d_eval. More... | |
class | coco::func_d_eval |
Forward function evaluation with preparation of derivative data. More... | |
struct | coco::der_eval_type |
Visitor data for der_eval. More... | |
class | coco::der_eval |
Backward gradient evaluation with prepared derivative data. More... | |
struct | coco::der_cache |
Cache data for der_eval. More... | |
struct | coco::diffI_eval_type |
Visitor data for diffI_eval. More... | |
class | coco::diffI_eval |
Forward function range evaluation. More... | |
struct | coco::diffNumber_eval_type |
Visitor data for diffNumber_eval. More... | |
class | coco::diffNumber_eval |
Forward function range evaluation. More... | |
class | coco::variable_indicator |
Bitmap class used to indicate variable occurrence. More... | |
class | coco::_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all evaluators. More... | |
class | coco::evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all (non-caching) evaluators. More... | |
class | coco::cached_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all caching evaluators. More... | |
class | coco::forward_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all (non-caching) forward evaluators. More... | |
class | coco::backward_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all (non-caching) backward evaluators. More... | |
class | coco::cached_forward_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all (non-caching) forward evaluators. More... | |
class | coco::cached_backward_evaluator_base< _Tp, _NData, _Result, _Walker > |
Base class of all caching backward evaluators. More... | |
struct | coco::func_eval_type |
Visitor data for func_eval. More... | |
class | coco::func_eval |
Forward function evaluation. More... | |
struct | coco::func_cache |
Cache data for func_eval. More... | |
class | coco::prep_id_eval |
Preparation Evaluator for interval derivatives. More... | |
struct | coco::func_id_eval_type |
Visitor data for func_id_eval. More... | |
class | coco::func_id_eval |
Forward function range evaluation with preparation of interval derivative data. More... | |
struct | coco::ider_eval_type |
Visitor data for ider_eval. More... | |
class | coco::ider_eval |
Backward interval gradient evaluation with prepared interval derivative data. More... | |
struct | coco::iderf_ret_type |
Visitor data for iderf_eval return value. More... | |
struct | coco::iderf_eval_type |
Visitor data for iderf_eval. More... | |
class | coco::iderf_eval |
Forward function and derivative range evaluation. More... | |
struct | coco::interval_eval_type |
Visitor data for interval_eval. More... | |
class | coco::interval_eval |
Forward function range evaluation. More... | |
struct | coco::Islope_eval_type |
Visitor data for Islope_eval. More... | |
class | coco::Islope_eval |
Forward function range evaluation. More... | |
struct | coco::func_islp_return_type |
The return type of the func_islp_eval evaluator. More... | |
class | coco::prep_islp_eval |
Preparation Evaluator for first order slopes. More... | |
struct | coco::func_islp_eval_type |
Visitor data for func_id_eval. More... | |
class | coco::func_islp_eval |
Forward function range evaluation with preparation of first order slope data. More... | |
struct | coco::islp_eval_type |
Visitor data for islp_eval. More... | |
class | coco::islp_eval |
Backward first order slope evaluation with prepared first order slope data. More... | |
Functions | |
template<class _Walker , class _Visitor > | |
_Visitor::return_value | coco::recursive_short_cut_walk (_Walker __w, _Visitor __f) |
Perform a recursive graph walk with possible caching and short-cuts. | |
template<class _Walker , class _Visitor > | |
_Visitor::return_value | coco::_recursive_short_cut_walk (_Walker __w, _Visitor __f) |
Perform a recursive graph walk with possible caching and short-cuts (internal). | |
template<class _Visitor , class _Walker > | |
_Visitor::return_value | coco::evaluate (_Visitor __v, _Walker __start) |
Evaluate an evaluator on a DAG. | |
Variables | |
struct coco::der_cache * | coco::f_data |
Cache data for der_eval. |
_Visitor::return_value coco::_recursive_short_cut_walk | ( | _Walker | __w, | |
_Visitor | __f | |||
) | [inline] |
This internal function performs a recursive pre+post order walk starting at __w
. At every node various methods of the visitor __f
are called:
vinit
is called before walking for every virtual node
vcollect
is called after a child of a virtual node has finished
vvalue
is called to compute the return value of a virtual node
preorder
is called before the children are visited. The return value of this method determines 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. |
collect
is called everytime a child has finished. The return value of this method determines the further graph walk:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip the specified number of children. |
postorder
is called after all children have been visited
value
is called to compute the return value for this node
short_cut_to
is called to provide the target of the short cut if a short cut is signalled by preorder
.
This function does not check for hitting the virtual ground node.
Definition at line 1079 of file evaluator.h.
_Visitor::return_value coco::evaluate | ( | _Visitor | __v, | |
_Walker | __start | |||
) | [inline] |
This function evaluates the evaluator __v
on the graph, calculating the result for the node pointed at by __start
.
Definition at line 1127 of file evaluator.h.
_Visitor::return_value coco::recursive_short_cut_walk | ( | _Walker | __w, | |
_Visitor | __f | |||
) | [inline] |
Perform a recursive pre+post order walk starting at __w
. At every node various methods of the visitor __f
are called:
vinit
is called before walking for every virtual node
vcollect
is called after a child of a virtual node has finished
vvalue
is called to compute the return value of a virtual node
preorder
is called before the children are visited. The return value of this method determines 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. |
collect
is called everytime a child has finished. The return value of this method determines the further graph walk:
<0 | stop visiting children of this node, |
0 | continue with the graph walk downwards the next child, |
>0 | skip the specified number of children. |
postorder
is called after all children have been visited
value
is called to compute the return value for this node
short_cut_to
is called to provide the target of the short cut if a short cut is signalled by preorder
.
Definition at line 989 of file evaluator.h.
struct coco::der_cache* coco::f_data |