Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics : I activated -pedantic for a quick pass
[simgrid.git] / src / smpi / mpi / smpi_topo.cpp
index 83b5147..710eaaf 100644 (file)
@@ -169,7 +169,7 @@ int Topo_Cart::rank(const int* coords, int* rank) {
 
 int Topo_Cart::shift(int direction, int disp, int *rank_source, int *rank_dest) {
 
-  int position[ndims_];
+  int* position = new int[ndims_];
 
   if(ndims_ == 0) {
     return MPI_ERR_ARG;
@@ -204,7 +204,7 @@ int Topo_Cart::shift(int direction, int disp, int *rank_source, int *rank_dest)
   } else {
     this->rank(position, rank_source);
   }
-
+  delete[] position;
   return MPI_SUCCESS;
 }
 
@@ -387,8 +387,8 @@ static int getfactors(int num, int *nfactors, int **factors) {
     return MPI_SUCCESS;
   }
   /* Allocate the array of prime factors which cannot exceed log_2(num) entries */
-  int sqrtnum = ceil(sqrt(num));
-  int size = ceil(log(num) / log(2));
+  int sqrtnum = ceil(sqrt(double(num)));
+  int size = ceil(log(double(num)) / log(2.0));
   *factors = new int[size];
 
   int i = 0;