1 #ifndef RHEO_MSG_FROM_CONTEXT_INDICES_H
2 #define RHEO_MSG_FROM_CONTEXT_INDICES_H
24 # include "rheolef/msg_util.h"
70 class InputRandomIterator,
73 class MutableRandomIterator,
78 InputIterator1 last_owner,
80 InputRandomIterator proc2from_proc,
83 MutableRandomIterator ptr,
84 OutputIterator from_idx)
86 Size nidx = distance(owner,last_owner);
87 for (Size i = 0; i < nidx; i++) {
88 if (owner[i] != my_proc) {
89 assert_macro (idy[i] < idy_maxval,
"Scattering past end of TO vector: idy="
90 << idy[i] <<
" out of range 0.." << idy_maxval-1);
91 Size
p = ptr[proc2from_proc[owner[i]]]++;
This file is part of Rheolef.
void msg_from_context_indices(InputIterator1 owner, InputIterator1 last_owner, InputIterator2 idy, InputRandomIterator proc2from_proc, Proc my_proc, Size idy_maxval, MutableRandomIterator ptr, OutputIterator from_idx)