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)
MetisGraphcoarsen (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
GGraphgraph
MetisGraphmetisGraph

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