EpetraExt  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Functions
EpetraExt_MMHelpers.cpp File Reference
#include <EpetraExt_ConfigDefs.h>
#include <EpetraExt_MMHelpers.h>
#include <Epetra_Comm.h>
#include <Epetra_CrsMatrix.h>
#include <Epetra_Import.h>
#include <Epetra_Export.h>
#include <Epetra_Distributor.h>
#include <Epetra_HashTable.h>
#include <Epetra_Util.h>
#include <Epetra_Import_Util.h>
#include <Epetra_GIDTypeSerialDenseVector.h>
#include <Teuchos_TimeMonitor.hpp>
#include <limits>
Include dependency graph for EpetraExt_MMHelpers.cpp:

Go to the source code of this file.

Namespaces

 EpetraExt
 EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
 

Macros

#define MIN(x, y)   ((x)<(y)?(x):(y))
 
#define MIN3(x, y, z)   ((x)<(y)?(MIN(x,z)):(MIN(y,z)))
 

Functions

void EpetraExt::debug_print_distor (const char *label, const Epetra_Distributor *Distor, const Epetra_Comm &Comm)
 
void EpetraExt::debug_compare_import (const Epetra_Import *Import1, const Epetra_Import *Import2)
 
int EpetraExt::dumpCrsMatrixStruct (const CrsMatrixStruct &M)
 
template<typename int_type >
void EpetraExt::insert_matrix_locations (CrsWrapper_GraphBuilder< int_type > &graphbuilder, Epetra_CrsMatrix &C)
 
template<typename int_type >
void EpetraExt::Tpack_outgoing_rows (const Epetra_CrsMatrix &mtx, const std::vector< int_type > &proc_col_ranges, std::vector< int_type > &send_rows, std::vector< int > &rows_per_send_proc)
 
void EpetraExt::pack_outgoing_rows (const Epetra_CrsMatrix &mtx, const std::vector< int > &proc_col_ranges, std::vector< int > &send_rows, std::vector< int > &rows_per_send_proc)
 
void EpetraExt::pack_outgoing_rows (const Epetra_CrsMatrix &mtx, const std::vector< long long > &proc_col_ranges, std::vector< long long > &send_rows, std::vector< int > &rows_per_send_proc)
 
template<>
std::pair< int, int > EpetraExt::get_col_range< int > (const Epetra_Map &emap)
 
template<>
std::pair< long long, long long > EpetraExt::get_col_range< long long > (const Epetra_Map &emap)
 
template<typename int_type >
std::pair< int_type, int_type > EpetraExt::Tget_col_range (const Epetra_CrsMatrix &mtx)
 
template<>
std::pair< int, int > EpetraExt::get_col_range< int > (const Epetra_CrsMatrix &mtx)
 
template<>
std::pair< long long, long long > EpetraExt::get_col_range< long long > (const Epetra_CrsMatrix &mtx)
 
template<class GO >
void EpetraExt::MakeColMapAndReindexSort (int &NumRemoteColGIDs, GO *&RemoteColindices, std::vector< int > &RemotePermuteIDs, std::vector< int > &RemoteOwningPIDs, bool SortGhostsAssociatedWithEachProcessor_)
 
template<>
void EpetraExt::MakeColMapAndReindexSort< int > (int &NumRemoteColGIDs, int *&RemoteColindices, std::vector< int > &RemotePermuteIDs, std::vector< int > &RemoteOwningPIDs, bool SortGhostsAssociatedWithEachProcessor_)
 
template<>
void EpetraExt::MakeColMapAndReindexSort< long long > (int &NumRemoteColGIDs, long long *&RemoteColindices, std::vector< int > &RemotePermuteIDs, std::vector< int > &RemoteOwningPIDs, bool SortGhostsAssociatedWithEachProcessor_)
 
template<typename int_type >
void EpetraExt::build_type3_exports_sort (std::vector< int_type > &ExportGID3, std::vector< int > &ExportPID3, int total_length3)
 
template<>
void EpetraExt::build_type3_exports_sort< int > (std::vector< int > &ExportGID3, std::vector< int > &ExportPID3, int total_length3)
 
template<>
void EpetraExt::build_type3_exports_sort< long long > (std::vector< long long > &ExportGID3, std::vector< int > &ExportPID3, int total_length3)
 
template<typename int_type >
int EpetraExt::build_type3_exports (int MyPID, int Nrecv, Epetra_BlockMap &DomainMap, std::vector< int > &ReverseRecvSizes, const int_type *ReverseRecvBuffer, std::vector< int > &ExportLID3, std::vector< int > &ExportPID3)
 
template<typename ImportType , typename int_type >
int EpetraExt::build_type2_exports (const Epetra_CrsMatrix &SourceMatrix, ImportType &MyImporter, std::vector< int > &ExportLID2, std::vector< int > &ExportPID2)
 
template<typename int_type >
void EpetraExt::build_type1_exports_sort (std::vector< int > &ExportLID1, std::vector< int > &ExportPID1, std::vector< int_type > &ExportGID1, int total_length1)
 
template<>
void EpetraExt::build_type1_exports_sort< int > (std::vector< int > &ExportLID1, std::vector< int > &ExportPID1, std::vector< int > &ExportGID1, int total_length1)
 
template<>
void EpetraExt::build_type1_exports_sort< long long > (std::vector< int > &ExportLID1, std::vector< int > &ExportPID1, std::vector< long long > &ExportGID1, int total_length1)
 
template<typename int_type >
int EpetraExt::build_type1_exports (const Epetra_Import *Importer1, std::vector< int > &ExportLID1, std::vector< int > &ExportPID1)
 
template<class TransferType >
void EpetraExt::TPrintMultiplicationStatistics (TransferType *Transfer, const std::string &label)
 
void EpetraExt::printMultiplicationStatistics (Epetra_Import *Transfer, const std::string &label)
 
void EpetraExt::printMultiplicationStatistics (Epetra_Export *Transfer, const std::string &label)
 

Macro Definition Documentation

#define MIN (   x,
 
)    ((x)<(y)?(x):(y))

Definition at line 62 of file EpetraExt_MMHelpers.cpp.

#define MIN3 (   x,
  y,
 
)    ((x)<(y)?(MIN(x,z)):(MIN(y,z)))

Definition at line 63 of file EpetraExt_MMHelpers.cpp.