128 const Teuchos::ArrayRCP<int> &assign,
129 Teuchos::RCP<
const Teuchos::Comm<int> > comm,
136 const Teuchos::ArrayRCP<char> &send_data,
138 Teuchos::ArrayRCP<char> &recv_data);
142 const Teuchos::ArrayRCP<char> &send_data,
144 const Teuchos::ArrayRCP<int> &sizes,
145 Teuchos::ArrayRCP<char> &recv_data);
153 int resize(
const Teuchos::ArrayRCP<int> &sizes,
int tag,
154 int *sum_recv_sizes);
158 const Teuchos::ArrayRCP<int> &sizes,
int tag,
int *sum_recv_sizes);
161 const Teuchos::ArrayRCP<char> &send_data,
163 Teuchos::ArrayRCP<char> &recv_data);
166 const Teuchos::ArrayRCP<char> &send_data,
168 Teuchos::ArrayRCP<char> &recv_data);
171 const Teuchos::ArrayRCP<char> &send_data,
173 Teuchos::ArrayRCP<char> &recv_data);
175 int sort_ints(Teuchos::ArrayRCP<int> &vals_sort, Teuchos::ArrayRCP<int> &vals_other);
177 int invert_map(
const Teuchos::ArrayRCP<int> &lengths_to,
178 const Teuchos::ArrayRCP<int> &procs_to,
int nsends,
int self_msg,
179 Teuchos::ArrayRCP<int> &lengths_from, Teuchos::ArrayRCP<int> &procs_from,
180 int *pnrecvs,
int my_proc,
int nprocs,
int out_of_mem,
int tag,
181 Teuchos::RCP<
const Teuchos::Comm<int> > comm);
183 int exchange_sizes(
const Teuchos::ArrayRCP<int> &sizes_to,
184 const Teuchos::ArrayRCP<int> &procs_to,
int nsends,
185 int self_msg, Teuchos::ArrayRCP<int> &sizes_from,
186 const Teuchos::ArrayRCP<int> &procs_from,
187 int nrecvs,
int *total_recv_size,
int my_proc,
int tag,
188 Teuchos::RCP<
const Teuchos::Comm<int> > comm);
192 int create_reverse_plan(
int tag,
const Teuchos::ArrayRCP<int> &sizes);
194 Teuchos::RCP<const Teuchos::Comm<int> > comm_;