15 #ifdef MPI_HYPERCUBE_ALLGATHERV
16 #define MPI_Allgatherv MPI_hypercube_Allgatherv
19 #define Terminate(...) \
22 char termbuf1__[8000], termbuf2__[8000]; \
24 MPI_Comm_rank(MPI_COMM_WORLD, &thistask); \
25 sprintf(termbuf1__, "Code termination on task=%d, function %s(), file %s, line %d", thistask, __FUNCTION__, __FILE__, \
27 sprintf(termbuf2__, __VA_ARGS__); \
28 printf("%s: %s\n", termbuf1__, termbuf2__); \
30 MPI_Abort(MPI_COMM_WORLD, 1); \
36 char termbuf1__[8000], termbuf2__[8000]; \
38 MPI_Comm_rank(MPI_COMM_WORLD, &thistask); \
39 sprintf(termbuf1__, "Code warning on task=%d, function %s(), file %s, line %d", thistask, __FUNCTION__, __FILE__, __LINE__); \
40 sprintf(termbuf2__, __VA_ARGS__); \
41 printf("%s: %s\n", termbuf1__, termbuf2__); \
43 FILE *fd__ = fopen("WARNINGS", "w"); \