1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 
6 #define HECMW_STATUS_SIZE 4
7 int HECMW_ANY_TAG;
8 
9 /*
10 extern int
11 HECMW_Comm_rank( HECMW_Comm comm, int *rank );
12 
13 extern int
14 HECMW_Comm_size( HECMW_Comm comm, int *size );
15 
16 extern int
17 HECMW_Comm_dup( HECMW_Comm comm, HECMW_Comm *new_comm );
18 
19 extern int
20 HECMW_Finalize(void);
21 
22 */
23 
24 #define HECMW_Finalize HECMW_finalize
25 
26 extern void whole_copy_array(int *recv_num, int *global_recv_num, int mynode,
27                              int pesize, HECMW_Comm repart_comm);
28 
29 extern int stack_part_send_recv(int neibpetot, int *neibpe, int *stack_import,
30                                 int *stack_export, HECMW_Comm repart_comm,
31                                 int my_rank);
32 
33 extern int stack_whole_send_recv(int pesize, int *stack_export,
34                                  int *stack_import, HECMW_Comm repart_comm,
35                                  int my_rank);
36 
37 extern int int_part_send_recv(int n, int neibpetot, int *neibpe,
38                               int *stack_import, int *nod_import,
39                               int *stack_export, int *nod_export, int *x,
40                               HECMW_Comm repart_comm, int my_rank);
41 
42 extern int double_part_send_recv(int n, int neibpetot, int *neibpe,
43                                  int *stack_import, int *nod_import,
44                                  int *stack_export, int *nod_export, double *x,
45                                  HECMW_Comm repart_comm, int my_rank);
46 
47 extern void int_whole_send_recv(int n1, int n2, int pesize, int *stack_import,
48                                 int *nod_import, int *stack_export,
49                                 int *nod_export, int *x, int *y,
50                                 HECMW_Comm repart_comm, int my_rank);
51 extern void int2_whole_send_recv(int n1, int n2, int pesize, int *stack_import,
52                                  int *stack_export, int *x, int *y,
53                                  HECMW_Comm repart_comm, int my_rank);
54 
55 extern void double2_whole_send_recv(int n1, int n2, int pesize,
56                                     int *stack_import, int *stack_export,
57                                     double *x, double *y,
58                                     HECMW_Comm repart_comm, int my_rank);
59 
60 extern void int3_whole_send_recv(int n1, int n2, int pesize, int *stack_import,
61                                  int *stack_export, int *x, int *y,
62                                  HECMW_Comm repart_comm, int my_rank);
63 
64 extern void double_whole_send_recv(int n1, int n2, int pesize,
65                                    int *stack_import, int *nod_import,
66                                    int *stack_export, int *nod_export,
67                                    double *x, double *y, HECMW_Comm repart_comm,
68                                    int my_rank);
69