44 #include <Epetra_CrsMatrix.h> 
   45 #include <Epetra_Map.h> 
   46 #include <Epetra_Import.h> 
   47 #include <Epetra_IntSerialDenseVector.h> 
   48 #include <Epetra_LongLongSerialDenseVector.h> 
   49 #include <Epetra_GIDTypeSerialDenseVector.h> 
   60 template<
typename int_type>
 
   63 transform( OriginalTypeRef orig )
 
   68   assert( orig.Filled() );
 
   83   for( 
int i = 0; i < nNumRows; ++i )
 
   84     matched = matched && ( oRowMap.MyGID(newRowMap_.GID64(i)) );
 
   85   if( !matched ) std::cerr << 
"EDT_CrsMatrix_SubCopy: Bad new_row_Map.  GIDs of new row map must be GIDs of the original row map on the same processor.\n";
 
   88   if( !newRangeMap_.
SameAs(newDomainMap_) ) {
 
   90   int_type* newDomainMap_MyGlob = 0;
 
   91   newDomainMap_.MyGlobalElementsPtr(newDomainMap_MyGlob);
 
   93     for( 
int i = 0; i < nNumDomain; ++i )
 
   94       matched = matched && ( pidList[i]>=0 );
 
   97   if( !matched ) std::cout << 
"EDT_CrsMatrix_SubCopy: Bad newDomainMap.  One or more GIDs in new domain map are not part of original domain map.\n";
 
  105   int_type* oColMap_MyGlob = 0;
 
  106   oColMap.MyGlobalElementsPtr(oColMap_MyGlob);
 
  110   int_type * origColGidList = 0;
 
  111   oColMap.MyGlobalElementsPtr(origColGidList);
 
  112   for( 
int i = 0; i < oNumCols; ++i )
 
  114       newColMapGidList[numNewCols++]= origColGidList[i];
 
  115   newColMap_ = 
Epetra_Map(-1, numNewCols, newColMapGidList.Values(), 0, oColMap.
Comm());
 
  139 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 
  141     return transform<int>(orig);
 
  145 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 
  147     return transform<long long>(orig);
 
  151     throw "CrsMatrix_SubCopy::operator(): GlobalIndices type unknown";
 
  171   if (!
newObj_->Filled()) 
return(
false); 
 
bool GlobalIndicesLongLong() const 
 
bool SameAs(const Epetra_BlockMap &Map) const 
 
bool GlobalIndicesInt() const 
 
int NumMyElements() const 
 
bool rvs()
Reverse transfer of data from new object created in the operator() method call to the orig object inp...
 
const Epetra_Comm & Comm() const 
 
bool fwd()
Forward transfer of data from orig object input in the operator() method call to the new object creat...
 
~CrsMatrix_SubCopy()
Destructor. 
 
NewTypeRef operator()(OriginalTypeRef orig)
Transformation Operator. 
 
int RemoteIDList(int NumIDs, const int *GIDList, int *PIDList, int *LIDList) const