angel  mercurial changeset:
angel::lowest_markowitz_face_complete_t< Heuristic_t > Class Template Reference

Lowest Markowitz for face elimination with completion of vertex elimination. More...

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:
Collaboration diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:

List of all members.

Public Member Functions

 lowest_markowitz_face_complete_t (Heuristic_t t)
 Constructor with tie-breaker heuristic.
int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t &lg, vector< line_graph_t::face_t > &fv2)
 Heuristic computed in operator.

Private Attributes

int lastv
Heuristic_t tiebreaker

Detailed Description

template<class Heuristic_t>
class angel::lowest_markowitz_face_complete_t< Heuristic_t >

Lowest Markowitz for face elimination with completion of vertex elimination.

Computation of Markowitz degree as in lowest_markowitz_face(). Tie-breaker heuristic used to find unique vertex j to eliminate. Multiple faces can be returned by the tie-breaker but they belong to the same vertex, e.g. like reverse_mode_face_whole_vertex(). The vertex j is saved and all following calls return faces belonging to j as long as their are any in fv1. If all faces belonging to j are contained in fv1, the vertex is completely eliminated.

Definition at line 940 of file heuristics.hpp.


Constructor & Destructor Documentation

template<class Heuristic_t >
angel::lowest_markowitz_face_complete_t< Heuristic_t >::lowest_markowitz_face_complete_t ( Heuristic_t  t) [inline]

Constructor with tie-breaker heuristic.

Definition at line 945 of file heuristics.hpp.


Member Function Documentation

template<typename Heuristic_t >
int angel::lowest_markowitz_face_complete_t< Heuristic_t >::operator() ( const vector< line_graph_t::face_t > &  fv1,
const line_graph_t lg,
vector< line_graph_t::face_t > &  fv2 
)

Heuristic computed in operator.

Parameters:
fv1Set of faces that can be eliminated
lgLine graph
fv2Set of faces with the lowest Markowitz degree (see description)
Returns:
Size of fv2

Definition at line 20 of file heuristics_impl.hpp.

References angel::markowitz_on_line_graph(), THROW_DEBUG_EXCEPT_MACRO, and THROW_EXCEPT_MACRO.

Here is the call graph for this function:


Member Data Documentation

template<class Heuristic_t >
int angel::lowest_markowitz_face_complete_t< Heuristic_t >::lastv [private]

Definition at line 941 of file heuristics.hpp.

template<class Heuristic_t >
Heuristic_t angel::lowest_markowitz_face_complete_t< Heuristic_t >::tiebreaker [private]

Definition at line 942 of file heuristics.hpp.


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