1#ifndef RHEO_MSG_LOCAL_CONTEXT_H
2#define RHEO_MSG_LOCAL_CONTEXT_H
24# include "rheolef/msg_util.h"
70 class OutputIterator1,
71 class OutputIterator2>
75 InputIterator1 last_idx,
80 OutputIterator1 to_loc_idx,
81 OutputIterator1 last_to_loc_idx,
82 OutputIterator2 from_loc_idy)
84 if (to_loc_idx == last_to_loc_idx) {
87 while (idx != last_idx) {
89 if (idx_i >= istart && idx_i < ilast) {
91 assert_macro (idy_i < idy_maxval,
"Scattering past end of TO vector");
92 (*to_loc_idx++) = idx_i - istart;
93 (*from_loc_idy++) = idy_i;
#define assert_macro(ok_condition, message)
This file is part of Rheolef.
void msg_local_context(InputIterator1 idx, InputIterator1 last_idx, InputIterator2 idy, Size idy_maxval, Size istart, Size ilast, OutputIterator1 to_loc_idx, OutputIterator1 last_to_loc_idx, OutputIterator2 from_loc_idy)