• Main Page
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

GraphColoring/GraphInputOutput.h

Go to the documentation of this file.
00001 /************************************************************************************
00002     Copyright (C) 2005-2008 Assefaw H. Gebremedhin, Arijit Tarafdar, Duc Nguyen,
00003     Alex Pothen
00004 
00005     This file is part of ColPack.
00006 
00007     ColPack is free software: you can redistribute it and/or modify
00008     it under the terms of the GNU Lesser General Public License as published
00009     by the Free Software Foundation, either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     ColPack is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU Lesser General Public License for more details.
00016 
00017     You should have received a copy of the GNU Lesser General Public License
00018     along with ColPack.  If not, see <http://www.gnu.org/licenses/>.
00019 ************************************************************************************/
00020 
00021 #ifndef GRAPHINPUTOUTPUT_H
00022 #define GRAPHINPUTOUTPUT_H
00023 
00024 using namespace std;
00025 
00026 namespace ColPack
00027 {
00035         class GraphInputOutput : public GraphCore
00036         {
00037         public: //DOCUMENTED
00038 
00040 
00060                 int ReadAdjacencyGraph(string s_InputFile, string s_fileFormat="AUTO_DETECTED");
00061 
00063 
00070                 int BuildGraphFromRowCompressedFormat(unsigned int ** uip2_HessianSparsityPattern, int i_RowCount);
00071 
00074 
00081                 int ReadMatrixMarketAdjacencyGraph(string s_InputFile, bool b_getStructureOnly = false);
00082 
00083         private:
00084 
00085                 //Private Function 1201
00086                 int ParseWidth(string FortranFormat);
00087 
00088                 //Private Function 1202
00089                 void CalculateVertexDegrees();
00090 
00091         public:
00092 
00093                 //Public Constructor 1251
00094                 GraphInputOutput();
00095 
00096                 //Public Destructor 1252
00097                 ~GraphInputOutput();
00098 
00099                 //Virtual Function 1253
00100                 //??? What is the purpose of this function? TO BE IMPLEMENTED
00101                 virtual void Initialize();
00102 
00103                 //Virtual Function 1254
00104                 virtual void Clear();
00105 
00106                 //Public Function 1255
00107                 string GetInputFile();
00108 
00109                 /*
00110                 //Public Function 1256
00111                 int ReadMatrixMarketAdjacencyGraph(string s_InputFile);
00112                 //*/
00113 
00114                 //Public Function 1258
00116                 int ReadHarwellBoeingAdjacencyGraph(string s_InputFile);
00117 
00118                 //Public Function 1259
00120                 int ReadMeTiSAdjacencyGraph(string s_InputFile);
00121                 int ReadMeTiSAdjacencyGraph2(string s_InputFile);
00122 
00123                 //Public Function 1260
00124                 int PrintGraph();
00125 
00126                 //Public Function 1261
00127                 int PrintGraphStructure();
00128 
00129                 //Public Function 1262
00130                 int PrintMatrix();
00131 
00132                 //Public Function 1263
00133                 int PrintMatrix(vector<int> &, vector<int> &, vector<double> &);
00134 
00135                 //Public Function 1264
00136                 void PrintVertexDegrees();
00137         };
00138 }
00139 #endif
00140 

Generated on Tue Sep 7 2010 15:28:12 for ColPack by  doxygen 1.7.1