ColPack
ColPack::BipartiteGraphPartialColoring Class Reference

class BipartiteGraphPartialColoring in group21. More...

#include <BipartiteGraphPartialColoring.h>

Inheritance diagram for ColPack::BipartiteGraphPartialColoring:
Collaboration diagram for ColPack::BipartiteGraphPartialColoring:

List of all members.

Public Member Functions

void PrintPartialColors ()
 Based on m_s_VertexColoringVariant, either PrintRowPartialColors() or PrintColumnPartialColors() will be called.
void PrintPartialColoringMetrics ()
 Based on m_s_VertexColoringVariant, either PrintRowPartialColoringMetrics() or PrintColumnPartialColoringMetrics() will be called.
int CheckPartialDistanceTwoColoring ()
 Based on m_s_VertexColoringVariant, either PrintRowPartialColoringMetrics() or PrintColumnPartialColoringMetrics() will be called.
void GetVertexPartialColors (vector< int > &output)
 Based on m_s_VertexColoringVariant, either GetLeftVertexColors() or GetRightVertexColors() will be called.
double ** GetSeedMatrix (int *i_SeedRowCount, int *i_SeedColumnCount)
 Based on m_s_VertexColoringVariant, either GetLeftSeedMatrix() or GetRightSeedMatrix() will be called.
double ** GetSeedMatrix_unmanaged (int *i_SeedRowCount, int *i_SeedColumnCount)
 Based on m_s_VertexColoringVariant, either GetLeftSeedMatrix_unmanaged() or GetRightSeedMatrix_unmanaged() will be called.
double ** GetLeftSeedMatrix (int *i_SeedRowCount, int *i_SeedColumnCount)
 Generate and return the Left Seed matrix. This Seed matrix is managed and freed by ColPack.
double ** GetLeftSeedMatrix_unmanaged (int *i_SeedRowCount, int *i_SeedColumnCount)
 Same as GetLeftSeedMatrix(), except that this Seed matrix is NOT managed by ColPack.
double ** GetRightSeedMatrix (int *i_SeedRowCount, int *i_SeedColumnCount)
 Return the Right Seed matrix. This Seed matrix is managed and freed by ColPack.
double ** GetRightSeedMatrix_unmanaged (int *i_SeedRowCount, int *i_SeedColumnCount)
 Same as GetRightSeedMatrix(), except that this Seed matrix is NOT managed by ColPack.
 BipartiteGraphPartialColoring ()
 ~BipartiteGraphPartialColoring ()
virtual void Clear ()
virtual void Reset ()
int PartialDistanceTwoRowColoring ()
int PartialDistanceTwoRowColoring_serial ()
int PartialDistanceTwoRowColoring_OMP ()
int PartialDistanceTwoColumnColoring ()
int PartialDistanceTwoColumnColoring_serial ()
int PartialDistanceTwoColumnColoring_OMP ()
int CheckPartialDistanceTwoRowColoring ()
int CheckPartialDistanceTwoColumnColoring ()
int GetLeftVertexColorCount ()
int GetRightVertexColorCount ()
int GetVertexColorCount ()
string GetVertexColoringVariant ()
void GetLeftVertexColors (vector< int > &output)
void GetRightVertexColors (vector< int > &output)
void PrintRowPartialColors ()
void PrintColumnPartialColors ()
void PrintRowPartialColoringMetrics ()
void PrintColumnPartialColoringMetrics ()
void PrintVertexPartialColorClasses ()
double GetVertexColoringTime ()
void SetVertexColoringVariant (string s_VertexColoringVariant)

Protected Member Functions

void Seed_init ()
void Seed_reset ()

Protected Attributes

int m_i_LeftVertexColorCount
int m_i_RightVertexColorCount
int m_i_VertexColorCount
int m_i_ViolationCount
int m_i_ColoringUnits
int m_i_LargestLeftVertexColorClass
int m_i_LargestRightVertexColorClass
int m_i_LargestLeftVertexColorClassSize
int m_i_LargestRightVertexColorClassSize
int m_i_SmallestLeftVertexColorClass
int m_i_SmallestRightVertexColorClass
int m_i_SmallestLeftVertexColorClassSize
int m_i_SmallestRightVertexColorClassSize
double m_d_AverageLeftVertexColorClassSize
double m_d_AverageRightVertexColorClassSize
double m_d_ColoringTime
double m_d_CheckingTime
string m_s_VertexColoringVariant
vector< int > m_vi_LeftVertexColors
vector< int > m_vi_RightVertexColors
vector< int > m_vi_LeftVertexColorFrequency
vector< int > m_vi_RightVertexColorFrequency
bool seed_available
int i_seed_rowCount
double ** dp2_Seed

Private Member Functions

int CalculateVertexColorClasses ()
int CheckVertexColoring (string s_VertexColoringVariant)

Detailed Description

class BipartiteGraphPartialColoring in group21.

To be completed.

Definition at line 33 of file BipartiteGraphPartialColoring.h.


Constructor & Destructor Documentation


Member Function Documentation

int ColPack::BipartiteGraphPartialColoring::CheckVertexColoring ( string  s_VertexColoringVariant) [private]

Definition at line 123 of file BipartiteGraphPartialColoring.cpp.

References _FALSE, and _TRUE.

double ** ColPack::BipartiteGraphPartialColoring::GetLeftSeedMatrix ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Generate and return the Left Seed matrix. This Seed matrix is managed and freed by ColPack.

Precondition:

Postcondition:

  • Size of the returned matrix is (*i_SeedRowCount) rows x (*i_SeedColumnCount) columns. (*i_SeedColumnCount) == num of rows of the original matrix == GetRowVertexCount() (*i_SeedRowCount) == num of colors used to color the left (row) vertices == GetVertexColorCount().

Notes:

  • This Seed matrix is managed and automatically freed by ColPack when the Graph object is deleted. Therefore, the user should NOT attempt to free the Seed matrix again.

Definition at line 977 of file BipartiteGraphPartialColoring.cpp.

double ** ColPack::BipartiteGraphPartialColoring::GetLeftSeedMatrix_unmanaged ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Same as GetLeftSeedMatrix(), except that this Seed matrix is NOT managed by ColPack.

Notes:

  • This Seed matrix is NOT managed by ColPack. Therefore, the user should free the Seed matrix manually when the matrix is no longer needed.

Definition at line 999 of file BipartiteGraphPartialColoring.cpp.

Definition at line 736 of file BipartiteGraphPartialColoring.cpp.

References STEP_UP.

Referenced by toFileBiPC().

Here is the caller graph for this function:

double ** ColPack::BipartiteGraphPartialColoring::GetRightSeedMatrix ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Return the Right Seed matrix. This Seed matrix is managed and freed by ColPack.

Precondition:

Postcondition:

  • Size of the returned matrix is (*i_SeedRowCount) rows x (*i_SeedColumnCount) columns. (*i_SeedRowCount) == num of columns of the original matrix == GetColumnVertexCount() (*i_SeedColumnCount) == num of colors used to color the right (column) vertices == GetVertexColorCount().

Notes:

  • This Seed matrix is managed and automatically freed by ColPack when the Graph object is deleted. Therefore, the user should NOT attempt to free the Seed matrix again.

Definition at line 988 of file BipartiteGraphPartialColoring.cpp.

double ** ColPack::BipartiteGraphPartialColoring::GetRightSeedMatrix_unmanaged ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Same as GetRightSeedMatrix(), except that this Seed matrix is NOT managed by ColPack.

Notes:

  • This Seed matrix is NOT managed by ColPack. Therefore, the user should free the Seed matrix manually when the matrix is no longer needed.

Definition at line 1022 of file BipartiteGraphPartialColoring.cpp.

Definition at line 747 of file BipartiteGraphPartialColoring.cpp.

References STEP_UP.

Referenced by main(), and toFileBiPC().

Here is the caller graph for this function:

double ** ColPack::BipartiteGraphPartialColoring::GetSeedMatrix ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Based on m_s_VertexColoringVariant, either GetLeftSeedMatrix() or GetRightSeedMatrix() will be called.

Reimplemented in ColPack::BipartiteGraphPartialColoringInterface.

Definition at line 1063 of file BipartiteGraphPartialColoring.cpp.

double ** ColPack::BipartiteGraphPartialColoring::GetSeedMatrix_unmanaged ( int *  i_SeedRowCount,
int *  i_SeedColumnCount 
)

Based on m_s_VertexColoringVariant, either GetLeftSeedMatrix_unmanaged() or GetRightSeedMatrix_unmanaged() will be called.

Definition at line 1078 of file BipartiteGraphPartialColoring.cpp.

Definition at line 1135 of file BipartiteGraphPartialColoring.cpp.

Referenced by toFileBiPC().

Here is the caller graph for this function:

Based on m_s_VertexColoringVariant, either GetLeftVertexColors() or GetRightVertexColors() will be called.

Definition at line 1093 of file BipartiteGraphPartialColoring.cpp.

Referenced by main().

Here is the caller graph for this function:

Definition at line 492 of file BipartiteGraphPartialColoring.cpp.

References _TRUE, _UNKNOWN, and ColPack::f().

Here is the call graph for this function:

Definition at line 286 of file BipartiteGraphPartialColoring.cpp.

References _TRUE, _UNKNOWN, and ColPack::f().

Here is the call graph for this function:

Definition at line 891 of file BipartiteGraphPartialColoring.cpp.

References ColPack::StringTokenizer::GetLastToken(), STEP_DOWN, and STEP_UP.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 837 of file BipartiteGraphPartialColoring.cpp.

References ColPack::StringTokenizer::GetLastToken(), and STEP_UP.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

Based on m_s_VertexColoringVariant, either PrintRowPartialColoringMetrics() or PrintColumnPartialColoringMetrics() will be called.

Definition at line 1050 of file BipartiteGraphPartialColoring.cpp.

Referenced by main().

Here is the caller graph for this function:

Based on m_s_VertexColoringVariant, either PrintRowPartialColors() or PrintColumnPartialColors() will be called.

Definition at line 1107 of file BipartiteGraphPartialColoring.cpp.

Referenced by main().

Here is the caller graph for this function:

Definition at line 806 of file BipartiteGraphPartialColoring.cpp.

References ColPack::StringTokenizer::GetLastToken(), and STEP_UP.

Here is the call graph for this function:

Definition at line 186 of file BipartiteGraphPartialColoring.cpp.

References free_2DMatrix().

Here is the call graph for this function:

void ColPack::BipartiteGraphPartialColoring::SetVertexColoringVariant ( string  s_VertexColoringVariant)

Definition at line 1139 of file BipartiteGraphPartialColoring.cpp.


Member Data Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines