Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ug::RowSendingScheme< matrix_type > Class Template Reference

#include <row_sending_scheme.h>

Public Member Functions

void add_rows_to_matrix (matrix_type &mat)
 
void issue_send (pcl::InterfaceCommunicator< IndexLayout > &communicator, const IndexLayout &sendLayout, const IndexLayout &receiveLayout)
 
void process (const IndexLayout &receiveLayout)
 
 RowSendingScheme (matrix_type &_mat, ParallelNodes &_PN)
 
void set_create_new_nodes (bool bCreateNewNodes)
 
void set_rows_in_matrix (matrix_type &mat)
 

Private Types

typedef std::map< int, BinaryBufferBufferMap
 
typedef matrix_type::connection connection
 

Private Member Functions

void issue_send (BinaryBuffer &buf, int pid, int localRowIndex)
 
void process (BinaryBuffer &buf, int pid, size_t localRowIndex)
 
void resize_mat (matrix_type &mat)
 

Private Attributes

size_t colMax
 
std::map< size_t, std::vector< connection > > connections
 
bool m_bCreateNewNodes
 
const matrix_type & mat
 
ParallelNodesPN
 
size_t rowMax
 
BufferMap rowsBufferMap
 

Member Typedef Documentation

◆ BufferMap

template<typename matrix_type >
typedef std::map<int, BinaryBuffer> ug::RowSendingScheme< matrix_type >::BufferMap
private

◆ connection

template<typename matrix_type >
typedef matrix_type::connection ug::RowSendingScheme< matrix_type >::connection
private

Constructor & Destructor Documentation

◆ RowSendingScheme()

template<typename matrix_type >
ug::RowSendingScheme< matrix_type >::RowSendingScheme ( matrix_type &  _mat,
ParallelNodes _PN 
)
inline

Member Function Documentation

◆ add_rows_to_matrix()

template<typename matrix_type >
void ug::RowSendingScheme< matrix_type >::add_rows_to_matrix ( matrix_type &  mat)
inline

◆ issue_send() [1/2]

template<typename matrix_type >
void ug::RowSendingScheme< matrix_type >::issue_send ( BinaryBuffer buf,
int  pid,
int  localRowIndex 
)
inlineprivate

Put row 'localRowIndex' into the binary buffer 'buf' PN keeps track about which indices exist on the recieving pid

Parameters
bufbuf to write it to
pidreceiving pid
localRowIndexlocal row index
Note
modifies PN by specifying which nodes we sent to pid

References ug::ParallelNodes::create_node(), ug::LIB_ALG_MATRIX, ug::ParallelNodes::local_to_global(), ug::RowSendingScheme< matrix_type >::m_bCreateNewNodes, ug::RowSendingScheme< matrix_type >::mat, num_connections(), ug::RowSendingScheme< matrix_type >::PN, ug::Serialize(), and UG_DLOG.

◆ issue_send() [2/2]

◆ process() [1/2]

◆ process() [2/2]

◆ resize_mat()

◆ set_create_new_nodes()

template<typename matrix_type >
void ug::RowSendingScheme< matrix_type >::set_create_new_nodes ( bool  bCreateNewNodes)
inline

◆ set_rows_in_matrix()

template<typename matrix_type >
void ug::RowSendingScheme< matrix_type >::set_rows_in_matrix ( matrix_type &  mat)
inline

Member Data Documentation

◆ colMax

◆ connections

◆ m_bCreateNewNodes

◆ mat

◆ PN

◆ rowMax

◆ rowsBufferMap

template<typename matrix_type >
BufferMap ug::RowSendingScheme< matrix_type >::rowsBufferMap
private

The documentation for this class was generated from the following file: