107 for (j = 0; j < pesize + 1; j++) global_recv_num[j] = recv_num[j];
108 tmp_recv = (
int *)calloc(pesize + 1,
sizeof(
int));
110 for (i = 1; i < pesize; i++) {
113 for (j = 0; j < pesize + 1; j++)
114 global_recv_num[i * (pesize + 1) + j] = tmp_recv[j];
116 for (i = 1; i < pesize; i++)
153 for (neib = 0; neib < neibpetot; neib++) {
154 num = stack_import[neib];
157 for (neib = 0; neib < neibpetot; neib++) {
237 for (i = 0; i < pesize; i++) {
239 tmp_int = stack_export[i + 1] - stack_export[i];
241 }
else if (i == my_rank) {
242 stack_import[i + 1] = stack_export[i + 1] - stack_export[i];
243 for (j = 0; j < pesize; j++) {
250 for (j = 1; j < pesize + 1; j++)
251 stack_import[j] = stack_import[j] + stack_import[j - 1];
261 int *nod_import,
int *stack_export,
int *nod_export,
274 ws = (
int *)calloc(n,
sizeof(
int));
275 wr = (
int *)calloc(n,
sizeof(
int));
291 for (neib = 0; neib < neibpetot; neib++) {
295 inum = stack_export[neib + 1] - stack_export[neib];
297 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
298 ws[k] = x[nod_export[k] - 1];
305 for (neib = 0; neib < neibpetot; neib++) {
306 inum = stack_import[neib + 1] - stack_import[neib];
314 for (neib = 0; neib < neibpetot; neib++) {
318 inum = stack_import[neib + 1] - stack_import[neib];
319 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++) {
320 x[nod_import[k] - 1] = wr[k];
337 int *nod_import,
int *stack_export,
int *nod_export,
348 ws = (
double *)calloc(n,
sizeof(
double));
349 wr = (
double *)calloc(n,
sizeof(
double));
367 for (neib = 0; neib < neibpetot; neib++) {
371 inum = stack_export[neib + 1] - stack_export[neib];
373 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
374 ws[k] = x[nod_export[k] - 1];
386 for (neib = 0; neib < neibpetot; neib++) {
387 inum = stack_import[neib + 1] - stack_import[neib];
399 for (neib = 0; neib < neibpetot; neib++) {
403 inum = stack_import[neib + 1] - stack_import[neib];
404 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++) {
405 x[nod_import[k] - 1] = wr[k];
422 int *nod_import,
int *stack_export,
int *nod_export,
436 ws = (
int *)calloc(n1,
sizeof(
int));
437 wr = (
int *)calloc(n2,
sizeof(
int));
459 for (neib = 0; neib < pesize; neib++) {
463 if (neib != my_rank) {
464 inum = stack_export[neib + 1] - stack_export[neib];
466 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
467 ws[k] = x[nod_export[k]];
475 for (neib = 0; neib < pesize; neib++) {
479 inum = stack_import[neib + 1] - stack_import[neib];
488 for (neib = 0; neib < pesize; neib++) {
492 inum = stack_import[neib + 1] - stack_import[neib];
493 if (neib != my_rank) {
494 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++)
495 y[nod_import[k]] = wr[k];
497 for (k = 0; k < inum; k++)
501 y[nod_import[stack_import[neib] + k]] =
502 x[nod_export[stack_export[neib] + k]];
520 int *stack_export,
int *x,
int *y,
548 for (neib = 0; neib < pesize; neib++) {
549 if (neib != my_rank) {
550 inum = stack_export[neib + 1] - stack_export[neib];
562 for (neib = 0; neib < pesize; neib++) {
566 inum = stack_import[neib + 1] - stack_import[neib];
567 if ((neib != my_rank) && (inum != 0)) {
578 inum = stack_import[my_rank + 1] - stack_import[my_rank];
579 for (k = 0; k < inum; k++)
580 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
593 int *stack_export,
double *x,
double *y,
620 for (neib = 0; neib < pesize; neib++) {
621 if (neib != my_rank) {
622 inum = stack_export[neib + 1] - stack_export[neib];
634 for (neib = 0; neib < pesize; neib++) {
638 inum = stack_import[neib + 1] - stack_import[neib];
639 if ((neib != my_rank) && (inum != 0)) {
650 inum = stack_import[my_rank + 1] - stack_import[my_rank];
651 for (k = 0; k < inum; k++)
652 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
665 int *stack_export,
int *x,
int *y,
679 for (i = 0; i < pesize; i++) {
681 inum = stack_export[i + 1] - stack_export[i];
684 }
else if (i == my_rank) {
685 inum = stack_import[my_rank + 1] - stack_import[my_rank];
686 for (k = 0; k < inum; k++)
687 y[stack_import[my_rank] + k] = x[stack_export[my_rank] + k];
688 for (j = 0; j < pesize; j++) {
690 inum = stack_import[j + 1] - stack_import[j];
706 int *nod_import,
int *stack_export,
int *nod_export,
719 ws = (
double *)calloc(n1,
sizeof(
int));
720 wr = (
double *)calloc(n2,
sizeof(
int));
742 for (neib = 0; neib < pesize; neib++) {
746 if (neib != my_rank) {
747 inum = stack_export[neib + 1] - stack_export[neib];
749 for (k = stack_export[neib]; k < stack_export[neib] + inum; k++) {
750 ws[k] = x[nod_export[k] - 1];
758 for (neib = 0; neib < pesize; neib++) {
763 inum = stack_import[neib + 1] - stack_import[neib];
764 if (neib != my_rank) {
765 for (k = stack_import[neib]; k < stack_import[neib] + inum; k++)
768 for (k = 0; k < inum; k++)
772 y[stack_import[neib] + k] = x[stack_export[neib] + k];