20 for (j = 0; j < pesize + 1; j++) global_recv_num[j] = recv_num[j];
23 for (i = 1; i < pesize; i++) {
26 for (j = 0; j < pesize + 1; j++)
27 global_recv_num[i * (pesize + 1) + j] = tmp_recv[j];
29 for (i = 1; i < pesize; i++)
67 for (neib = 0; neib < neibpetot; neib++) {
68 num = stack_import[neib];
71 for (neib = 0; neib < neibpetot; neib++) {
151 for (i = 0; i < pesize; i++) {
153 tmp_int = stack_export[i + 1] - stack_export[i];
155 }
else if (i == my_rank) {
156 stack_import[i + 1] = stack_export[i + 1] - stack_export[i];
157 for (j = 0; j < pesize; j++) {
164 for (j = 1; j < pesize + 1; j++)
165 stack_import[j] = stack_import[j] + stack_import[j - 1];
175 int *nod_import,
int *stack_export,
int *nod_export,
207 for (neib = 0; neib < neibpetot; neib++) {
211 inum = stack_export[neib + 1] - stack_export[neib];
213 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
214 ws[k] = x[nod_export[k] - 1];
221 for (neib = 0; neib < neibpetot; neib++) {
222 inum = stack_import[neib + 1] - stack_import[neib];
230 for (neib = 0; neib < neibpetot; neib++) {
234 inum = stack_import[neib + 1] - stack_import[neib];
235 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++) {
236 x[nod_import[k] - 1] = wr[k];
253 int *nod_import,
int *stack_export,
int *nod_export,
283 for (neib = 0; neib < neibpetot; neib++) {
287 inum = stack_export[neib + 1] - stack_export[neib];
289 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
290 ws[k] = x[nod_export[k] - 1];
302 for (neib = 0; neib < neibpetot; neib++) {
303 inum = stack_import[neib + 1] - stack_import[neib];
315 for (neib = 0; neib < neibpetot; neib++) {
319 inum = stack_import[neib + 1] - stack_import[neib];
320 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++) {
321 x[nod_import[k] - 1] = wr[k];
338 int *nod_import,
int *stack_export,
int *nod_export,
377 for (neib = 0; neib < pesize; neib++) {
381 if (neib != my_rank) {
382 inum = stack_export[neib + 1] - stack_export[neib];
384 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
385 ws[k] = x[nod_export[k]];
393 for (neib = 0; neib < pesize; neib++) {
397 inum = stack_import[neib + 1] - stack_import[neib];
406 for (neib = 0; neib < pesize; neib++) {
410 inum = stack_import[neib + 1] - stack_import[neib];
411 if (neib != my_rank) {
412 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++)
413 y[nod_import[k]] = wr[k];
415 for (k = 0; k < inum; k++)
419 y[nod_import[stack_import[neib] + k]] =
420 x[nod_export[stack_export[neib] + k]];
438 int *stack_export,
int *x,
int *y,
467 for (neib = 0; neib < pesize; neib++) {
468 if (neib != my_rank) {
469 inum = stack_export[neib + 1] - stack_export[neib];
481 for (neib = 0; neib < pesize; neib++) {
485 inum = stack_import[neib + 1] - stack_import[neib];
486 if ((neib != my_rank) && (inum != 0)) {
497 inum = stack_import[my_rank + 1] - stack_import[my_rank];
498 for (k = 0; k < inum; k++)
499 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
512 int *stack_export,
double *x,
double *y,
541 for (neib = 0; neib < pesize; neib++) {
542 if (neib != my_rank) {
543 inum = stack_export[neib + 1] - stack_export[neib];
555 for (neib = 0; neib < pesize; neib++) {
559 inum = stack_import[neib + 1] - stack_import[neib];
560 if ((neib != my_rank) && (inum != 0)) {
571 inum = stack_import[my_rank + 1] - stack_import[my_rank];
572 for (k = 0; k < inum; k++)
573 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
586 int *stack_export,
int *x,
int *y,
596 for (i = 0; i < pesize; i++) {
598 inum = stack_export[i + 1] - stack_export[i];
601 }
else if (i == my_rank) {
602 inum = stack_import[my_rank + 1] - stack_import[my_rank];
603 for (k = 0; k < inum; k++)
604 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
605 for (j = 0; j < pesize; j++) {
607 inum = stack_import[j + 1] - stack_import[j];
623 int *nod_import,
int *stack_export,
int *nod_export,
661 for (neib = 0; neib < pesize; neib++) {
665 if (neib != my_rank) {
666 inum = stack_export[neib + 1] - stack_export[neib];
668 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
669 ws[k] = x[nod_export[k] - 1];
677 for (neib = 0; neib < pesize; neib++) {
682 inum = stack_import[neib + 1] - stack_import[neib];
683 if (neib != my_rank) {
684 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++)
687 for (k = 0; k < inum; k++)
691 y[stack_import[neib] + k] = x[stack_export[neib] + k];