00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include "Ifpack_ConfigDefs.h"
00044 #include "Ifpack_Graph.h"
00045 #include "Ifpack_Graph_Epetra_CrsGraph.h"
00046 #include "Epetra_Comm.h"
00047 #include "Epetra_CrsGraph.h"
00048
00049
00050 Ifpack_Graph_Epetra_CrsGraph::
00051 Ifpack_Graph_Epetra_CrsGraph(const Teuchos::RefCountPtr<const Epetra_CrsGraph>& CrsGraph) :
00052 CrsGraph_(CrsGraph)
00053 {
00054 NumMyRows_ = CrsGraph_->NumMyRows();
00055 NumMyCols_ = CrsGraph_->NumMyCols();
00056 NumGlobalRows_ = CrsGraph_->NumGlobalRows64();
00057 NumGlobalCols_ = CrsGraph_->NumGlobalCols64();
00058 MaxNumIndices_ = CrsGraph_->MaxNumIndices();
00059 }
00060
00061
00062 const Epetra_Comm& Ifpack_Graph_Epetra_CrsGraph::Comm() const
00063 {
00064 return(CrsGraph_->Comm());
00065 }
00066
00067
00068 bool Ifpack_Graph_Epetra_CrsGraph::Filled() const
00069 {
00070 return(CrsGraph_->Filled());
00071 }
00072
00073
00074 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
00075 int Ifpack_Graph_Epetra_CrsGraph::GRID(int LRID_in) const
00076 {
00077 return(CrsGraph_->GRID(LRID_in));
00078 }
00079
00080
00081 int Ifpack_Graph_Epetra_CrsGraph::GCID(int LCID_in) const
00082 {
00083 return(CrsGraph_->GCID(LCID_in));
00084 }
00085 #endif
00086
00087 long long Ifpack_Graph_Epetra_CrsGraph::GRID64(int LRID_in) const
00088 {
00089 return(CrsGraph_->GRID64(LRID_in));
00090 }
00091
00092
00093 long long Ifpack_Graph_Epetra_CrsGraph::GCID64(int LCID_in) const
00094 {
00095 return(CrsGraph_->GCID64(LCID_in));
00096 }
00097
00098
00099 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
00100 int Ifpack_Graph_Epetra_CrsGraph::LRID(int GRID_in) const
00101 {
00102 return(CrsGraph_->LRID(GRID_in));
00103 }
00104
00105
00106 int Ifpack_Graph_Epetra_CrsGraph::LCID(int GCID_in) const
00107 {
00108 return(CrsGraph_->LCID(GCID_in));
00109 }
00110 #endif
00111
00112
00113 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
00114 int Ifpack_Graph_Epetra_CrsGraph::LRID(long long GRID_in) const
00115 {
00116 return(CrsGraph_->LRID(GRID_in));
00117 }
00118
00119
00120 int Ifpack_Graph_Epetra_CrsGraph::LCID(long long GCID_in) const
00121 {
00122 return(CrsGraph_->LCID(GCID_in));
00123 }
00124 #endif
00125
00126 int Ifpack_Graph_Epetra_CrsGraph::
00127 ExtractMyRowCopy(int MyRow, int LenOfIndices,
00128 int &NumIndices, int *Indices) const
00129 {
00130 return(CrsGraph_->ExtractMyRowCopy(MyRow, LenOfIndices,
00131 NumIndices, Indices));
00132 }
00133
00134
00135 int Ifpack_Graph_Epetra_CrsGraph::NumMyNonzeros() const
00136 {
00137 return(CrsGraph_->NumMyEntries());
00138 }
00139
00140
00141 ostream& Ifpack_Graph_Epetra_CrsGraph::Print(std::ostream& os) const
00142 {
00143
00144 if (Comm().MyPID())
00145 return(os);
00146
00147 os << "================================================================================" << endl;
00148 os << "Ifpack_Graph_Epetra_CrsGraph" << endl;
00149 os << "Number of local rows = " << NumMyRows_ << endl;
00150 os << "Number of global rows = " << NumGlobalRows_ << endl;
00151 os << "================================================================================" << endl;
00152
00153 return(os);
00154
00155 }