- displs = static_cast<int *>(xbt_malloc(sizeof (int) * leader_comm_size));
- recvcnts = static_cast<int *>(xbt_malloc(sizeof (int) * leader_comm_size));
- if (not displs || not recvcnts) {
- return MPI_ERR_OTHER;
- }
- recvcnts[0] = node_sizes[0] * recvcnt;
- displs[0] = 0;
-
- for (i = 1; i < leader_comm_size; i++) {
- displs[i] = displs[i - 1] + node_sizes[i - 1] * recvcnt;
- recvcnts[i] = node_sizes[i] * recvcnt;
- }
+ int* displs = new int[leader_comm_size];
+ int* recvcnts = new int[leader_comm_size];
+ recvcnts[0] = node_sizes[0] * recvcnt;
+ displs[0] = 0;