X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b8df87e176f27b25534f27d7e240defa32ca35bc..4a159579c0ba841770649b94be8fe957390160cd:/src/smpi/mpi/smpi_topo.cpp diff --git a/src/smpi/mpi/smpi_topo.cpp b/src/smpi/mpi/smpi_topo.cpp index 8af2975cf4..83b5147c1d 100644 --- a/src/smpi/mpi/smpi_topo.cpp +++ b/src/smpi/mpi/smpi_topo.cpp @@ -19,40 +19,19 @@ static int getfactors(int num, int *nfators, int **factors); namespace simgrid{ namespace smpi{ -Topo_Graph::~Topo_Graph() -{ - delete[] index_; - delete[] edges_; -} - -Topo_Dist_Graph::~Topo_Dist_Graph() -{ - delete[] in_; - delete[] in_weights_; - delete[] out_; - delete[] out_weights_; -} - /******************************************************************************* * Cartesian topologies ******************************************************************************/ -Topo_Cart::~Topo_Cart() -{ - delete[] dims_; - delete[] periodic_; - delete[] position_; -} -Topo_Cart::Topo_Cart(int ndims) : ndims_(ndims) +Topo_Cart::Topo_Cart(int ndims) : ndims_(ndims), dims_(ndims), periodic_(ndims), position_(ndims) { - dims_ = new int[ndims]; - periodic_ = new int[ndims]; - position_ = new int[ndims]; } /* reorder is ignored, don't know what would be the consequences of a dumb reordering but neither do I see the point of * reordering*/ -Topo_Cart::Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], int reorder, MPI_Comm *comm_cart) : Topo_Cart(ndims) { +Topo_Cart::Topo_Cart(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], int /*reorder*/, MPI_Comm* comm_cart) + : Topo_Cart(ndims) +{ MPI_Group newGroup; MPI_Group oldGroup; @@ -131,7 +110,8 @@ Topo_Cart* Topo_Cart::sub(const int remain_dims[], MPI_Comm *newcomm) { return res; } -int Topo_Cart::coords(int rank, int maxdims, int coords[]) { +int Topo_Cart::coords(int rank, int /*maxdims*/, int coords[]) +{ int nnodes = nnodes_; for (int i = 0; i< ndims_; i++ ) { nnodes = nnodes /dims_[i]; @@ -151,7 +131,7 @@ int Topo_Cart::get(int maxdims, int* dims, int* periods, int* coords) { return MPI_SUCCESS; } -int Topo_Cart::rank(int* coords, int* rank) { +int Topo_Cart::rank(const int* coords, int* rank) { int ndims =ndims_; *rank = 0; int multiplier = 1;