- Timestamp:
- 09/10/20 13:51:02 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/distributed_view.cpp
r1918 r1930 9 9 : globalIndex_(parent->globalIndex_), globalSize_(parent->globalSize_), localSize_(parent->localSize_) 10 10 { 11 for(auto index : indexView)11 for(auto& index : indexView) 12 12 { 13 13 index_[index.first].reference(index.second.copy()) ; … … 16 16 } 17 17 18 19 } 18 CDistributedView::CDistributedView(CDistributedElement* parent, CElementView::type, const std::map<int,CArray<bool,1>>& maskView) 19 : globalIndex_(parent->globalIndex_), globalSize_(parent->globalSize_), localSize_(parent->localSize_) 20 { 21 for(auto& it : maskView) 22 { 23 int rank = it.first ; 24 auto& mask = it.second ; 25 int size = mask.numElements() ; 26 auto& index = index_[rank] ; 27 index.resize(size) ; 28 int pos=0 ; 29 for(int i=0 ; i < size ; i++) 30 if (mask(i)) { index(pos) = i ; pos++ ; } 31 index.resizeAndPreserve(pos) ; 32 size_[rank] = pos ; 33 } 34 } 35 }
Note: See TracChangeset
for help on using the changeset viewer.