Coarsener Class Reference

#include <Coarsening.h>

List of all members.

Classes

struct  parallelAddingEdges
struct  parallelMatchNodes

Public Member Functions

 Coarsener (bool userSerial, int coarsenTo, int maxVertexWeight)
int getCoarsenTo ()
void createNodes (MetisGraph *coarseMetisGraph)
MetisGraph * coarsen (MetisGraph *metisGraph)

Static Public Attributes

static const double COARSEN_FRACTION = 0.90

Private Member Functions

bool serialMatch (bool notFirstTime, GGraph *coarser)
bool parallelMatch (bool notFirstTime, GGraph *coarser, int level)
bool isDone (MetisGraph *metisGraph)
 determine if the graph is coarse enough
void addNeighbors (int nodeId, GNode node, GGraph *graph, MetisGraph *coarseMetisGraph, IntVec &lmap)
void addNeighbors (int nodeId, GNode node, GGraph *graph, MetisGraph *coarseMetisGraph)
void addNeighbors (int nodeId, GNode node, GGraph *graph, MetisGraph *coarseMetisGraph, IntIntMap &lmap)
void addEdges (int nodeId, GNode node, bool *visited, MetisGraph *coarseMetisGraph)
void serialCreateCoarserGraph (MetisGraph *coarseMetisGraph, bool *visited)
void parallelCreateCoarserGraph (MetisGraph *coarseMetisGraph, bool *visited, int level)

Private Attributes

int coarsenTo
int maxVertexWeight
bool useSerial
GGraph * graph
MetisGraph * metisGraph

Constructor & Destructor Documentation

Coarsener::Coarsener ( bool  userSerial,
int  coarsenTo,
int  maxVertexWeight 
) [inline]

Member Function Documentation

void Coarsener::addEdges ( int  nodeId,
GNode  node,
bool *  visited,
MetisGraph *  coarseMetisGraph 
) [inline, private]
void Coarsener::addNeighbors ( int  nodeId,
GNode  node,
GGraph *  graph,
MetisGraph *  coarseMetisGraph,
IntIntMap &  lmap 
) [inline, private]
void Coarsener::addNeighbors ( int  nodeId,
GNode  node,
GGraph *  graph,
MetisGraph *  coarseMetisGraph 
) [inline, private]
void Coarsener::addNeighbors ( int  nodeId,
GNode  node,
GGraph *  graph,
MetisGraph *  coarseMetisGraph,
IntVec &  lmap 
) [inline, private]
MetisGraph* Coarsener::coarsen ( MetisGraph *  metisGraph  )  [inline]
void Coarsener::createNodes ( MetisGraph *  coarseMetisGraph  )  [inline]
int Coarsener::getCoarsenTo (  )  [inline]
bool Coarsener::isDone ( MetisGraph *  metisGraph  )  [inline, private]

determine if the graph is coarse enough

void Coarsener::parallelCreateCoarserGraph ( MetisGraph *  coarseMetisGraph,
bool *  visited,
int  level 
) [inline, private]
bool Coarsener::parallelMatch ( bool  notFirstTime,
GGraph *  coarser,
int  level 
) [inline, private]
void Coarsener::serialCreateCoarserGraph ( MetisGraph *  coarseMetisGraph,
bool *  visited 
) [inline, private]
bool Coarsener::serialMatch ( bool  notFirstTime,
GGraph *  coarser 
) [inline, private]

Member Data Documentation

const double Coarsener::COARSEN_FRACTION = 0.90 [static]
int Coarsener::coarsenTo [private]
bool Coarsener::useSerial [private]

The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:27 2011 for Galois by  doxygen 1.6.3