Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[cppcheck] Reduce scope for variable.
[simgrid.git] / src / smpi / colls / bcast / bcast-flattree-pipeline.cpp
index 3f283e9..07e4384 100644 (file)
@@ -1,13 +1,14 @@
-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2019. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "../colls_private.h"
+#include "../colls_private.hpp"
 
 int flattree_segment_in_byte = 8192;
-
+namespace simgrid{
+namespace smpi{
 int
 Coll_bcast_flattree_pipeline::bcast(void *buff, int count,
                                         MPI_Datatype data_type, int root,
@@ -20,7 +21,7 @@ Coll_bcast_flattree_pipeline::bcast(void *buff, int count,
   extent = data_type->get_extent();
 
   int segment = flattree_segment_in_byte / extent;
-  segment =  segment == 0 ? 1 :segment; 
+  segment =  segment == 0 ? 1 :segment;
   int pipe_length = count / segment;
   int increment = segment * extent;
   if (pipe_length==0) {
@@ -30,11 +31,8 @@ Coll_bcast_flattree_pipeline::bcast(void *buff, int count,
   rank = comm->rank();
   num_procs = comm->size();
 
-  MPI_Request *request_array;
-  MPI_Status *status_array;
-
-  request_array = (MPI_Request *) xbt_malloc(pipe_length * sizeof(MPI_Request));
-  status_array = (MPI_Status *) xbt_malloc(pipe_length * sizeof(MPI_Status));
+  MPI_Request* request_array = new MPI_Request[pipe_length];
+  MPI_Status* status_array   = new MPI_Status[pipe_length];
 
   if (rank != root) {
     for (i = 0; i < pipe_length; i++) {
@@ -57,7 +55,10 @@ Coll_bcast_flattree_pipeline::bcast(void *buff, int count,
 
   }
 
-  free(request_array);
-  free(status_array);
+  delete[] request_array;
+  delete[] status_array;
   return MPI_SUCCESS;
 }
+
+}
+}