28 #ifndef __PASO_SHAREDCOMPONENTS_H__ 29 #define __PASO_SHAREDCOMPONENTS_H__ 44 const std::vector<index_t>& offset,
56 if (!neighbours.empty() && !offset.empty()) {
62 #pragma omp parallel for 63 for (
dim_t i = 0; i < offset[neighbours.size()]; i++) {
64 const index_t itmp = m * sharedArray[i] + b;
65 for (
dim_t j = 0; j < m; ++j)
98 #endif // __PASO_SHAREDCOMPONENTS_H__ SharedComponents(dim_t localLength, const std::vector< int > &neighbours, const index_t *sharedArray, const std::vector< index_t > &offset, index_t m=1, index_t b=0)
Definition: SharedComponents.h:42
#define PASO_DLL_API
Definition: Paso.h:58
~SharedComponents()
Definition: SharedComponents.h:73
boost::shared_ptr< const SharedComponents > const_SharedComponents_ptr
Definition: SharedComponents.h:37
boost::shared_ptr< SharedComponents > SharedComponents_ptr
Definition: SharedComponents.h:35
std::vector< index_t > offsetInShared
Definition: SharedComponents.h:86
dim_t local_length
local array length shared
Definition: SharedComponents.h:79
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:59
dim_t numSharedComponents
= offsetInShared[numNeighbours]
Definition: SharedComponents.h:93
std::vector< int > neighbour
list of the processors sharing values with this processor
Definition: SharedComponents.h:82
Definition: SharedComponents.h:40
index_t * shared
Definition: SharedComponents.h:90
index_t dim_t
Definition: DataTypes.h:64