Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / src / smpi / colls / allgather / allgather-NTSLR-NB.cpp
index a636040..ae9d195 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2019. The SimGrid Team.
+/* Copyright (c) 2013-2021. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -9,12 +9,11 @@
 namespace simgrid{
 namespace smpi{
 
-
-// Allgather-Non-Topoloty-Scecific-Logical-Ring algorithm
+// Allgather-Non-Topology-Specific-Logical-Ring algorithm
 int
-Coll_allgather_NTSLR_NB::allgather(void *sbuf, int scount, MPI_Datatype stype,
-                                   void *rbuf, int rcount, MPI_Datatype rtype,
-                                   MPI_Comm comm)
+allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
+                    void *rbuf, int rcount, MPI_Datatype rtype,
+                    MPI_Comm comm)
 {
   MPI_Aint rextent, sextent;
   MPI_Status status, status2;
@@ -26,15 +25,13 @@ Coll_allgather_NTSLR_NB::allgather(void *sbuf, int scount, MPI_Datatype stype,
   size = comm->size();
   rextent = rtype->get_extent();
   sextent = stype->get_extent();
-  MPI_Request *rrequest_array;
-  MPI_Request *srequest_array;
-  rrequest_array = (MPI_Request *) xbt_malloc(size * sizeof(MPI_Request));
-  srequest_array = (MPI_Request *) xbt_malloc(size * sizeof(MPI_Request));
+  auto* rrequest_array = new MPI_Request[size];
+  auto* srequest_array = new MPI_Request[size];
 
-  // irregular case use default MPI fucntions
+  // irregular case use default MPI functions
   if (scount * sextent != rcount * rextent) {
     XBT_WARN("MPI_allgather_NTSLR_NB use default MPI_allgather.");
-    Coll_allgather_default::allgather(sbuf, scount, stype, rbuf, rcount, rtype, comm);
+    allgather__default(sbuf, scount, stype, rbuf, rcount, rtype, comm);
     return MPI_SUCCESS;
   }
 
@@ -66,8 +63,8 @@ Coll_allgather_NTSLR_NB::allgather(void *sbuf, int scount, MPI_Datatype stype,
     Request::wait(&srequest_array[i], &status2);
   }
 
-  free(rrequest_array);
-  free(srequest_array);
+  delete[] rrequest_array;
+  delete[] srequest_array;
 
   return MPI_SUCCESS;
 }