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 >:

Inheritance graph
[legend]
Collaboration diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:

Collaboration graph
[legend]

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 932 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 937 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 
) [inline]

Heuristic computed in operator.

Parameters:
fv1 Set of faces that can be eliminated
lg Line graph
fv2 Set of faces with the lowest Markowitz degree (see description)
Returns:
Size of fv2

Definition at line 12 of file heuristics_impl.hpp.

References angel::lowest_markowitz_face_complete_t< Heuristic_t >::lastv, angel::markowitz_on_line_graph(), THROW_DEBUG_EXCEPT_MACRO, THROW_EXCEPT_MACRO, and angel::lowest_markowitz_face_complete_t< Heuristic_t >::tiebreaker.

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 933 of file heuristics.hpp.

Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_t >::operator()().

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

Definition at line 934 of file heuristics.hpp.

Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_t >::operator()().


The documentation for this class was generated from the following files:
Generated on Wed Mar 11 10:35:04 2009 for angel by  doxygen 1.5.3