} else {
if(comm_cart != nullptr){
if (rank == 0) {
- MPI_Group group = new Group(MPI_COMM_SELF->group());
- *comm_cart = new Comm(group, std::shared_ptr<Topo>(this));
+ auto* group = new Group(MPI_COMM_SELF->group());
+ *comm_cart = new Comm(group, std::shared_ptr<Topo>(this));
} else {
*comm_cart = MPI_COMM_NULL;
}
res = new Topo_Cart(getComm(), newNDims, newDims, newPeriodic, 0, newcomm);
} else {
*newcomm = getComm()->split(color, getComm()->rank());
- res = new Topo_Cart(getComm(), newNDims, newDims, newPeriodic, 0, nullptr);
- std::shared_ptr<Topo> topo=std::shared_ptr<Topo>(res);
+ auto topo = std::make_shared<Topo_Cart>(getComm(), newNDims, newDims, newPeriodic, 0, nullptr);
+ res = topo.get();
res->setComm(*newcomm);
(*newcomm)->set_topo(topo);
}
return MPI_ERR_DIMS;
}
- int* position = new int[ndims_];
+ auto* position = new int[ndims_];
this->coords(getComm()->rank(), ndims_, position);
position[direction] += disp;
}
/* Allocate and initialize the bins */
- int *bins = new int[ndim];
+ auto* bins = new int[ndim];
*pdims = bins;
int *p = bins;