X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1b89437671ba572a199dd4ff5766ba82720cdf03..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/instr/jedule/jedule_platform.cpp diff --git a/src/instr/jedule/jedule_platform.cpp b/src/instr/jedule/jedule_platform.cpp index 1a6ce7e392..9e9b9dbf9e 100644 --- a/src/instr/jedule/jedule_platform.cpp +++ b/src/instr/jedule/jedule_platform.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2021. 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. */ @@ -96,13 +96,13 @@ std::string Container::get_hierarchy_as_string() std::vector hier_list = this->get_hierarchy(); - unsigned int length = static_cast(hier_list.size()); - unsigned int i = 0; + bool sep = false; for (auto const& id : hier_list) { + if (sep) + output += '.'; + else + sep = true; output += std::to_string(id); - if( i != length-1 ) { - output += "."; - } } return output; @@ -110,20 +110,19 @@ std::string Container::get_hierarchy_as_string() void Container::print_resources(FILE* jed_file) { - unsigned int i=0; xbt_assert(not this->resource_list.empty()); - unsigned int res_nb = static_cast(this->resource_list.size()); - std::string resid = this->get_hierarchy_as_string(); + std::string resid = this->get_hierarchy_as_string(); - fprintf(jed_file, " resource_list.size()); + bool sep = false; for (auto const& res : this->resource_list) { + if (sep) + putc('|', jed_file); + else + sep = true; const char * res_name = sg_host_get_name(res); fprintf(jed_file, "%s", res_name); - if( i != res_nb-1 ) { - fprintf(jed_file, "|"); - } - i++; } fprintf(jed_file, "\" />\n"); } @@ -162,27 +161,25 @@ static void add_subsets_to(std::vector& subset_list, st unsigned int id = parent_cont->get_id_by_name(host_name); id_list.push_back(id); } - unsigned int nb_ids = static_cast(id_list.size()); std::sort(id_list.begin(), id_list.end()); - if( nb_ids > 0 ) { - int start = 0; - int pos = start; - for(unsigned int i=0; i 1 ) { - subset_list.emplace_back(id_list[start], id_list[pos], parent); - start = i; - - if( i == nb_ids-1 ) { - subset_list.emplace_back(id_list[i], id_list[i], parent); - } - } else { - if( i == nb_ids-1 ) { - subset_list.emplace_back(id_list[start], id_list[i], parent); - } + size_t nb_ids = id_list.size(); + size_t start = 0; + size_t pos = start; + for (size_t i = 0; i < nb_ids; i++) { + if (id_list[i] - id_list[pos] > 1) { + subset_list.emplace_back(id_list[start], id_list[pos], parent); + start = i; + + if (i == nb_ids - 1) { + subset_list.emplace_back(id_list[i], id_list[i], parent); + } + } else { + if (i == nb_ids - 1) { + subset_list.emplace_back(id_list[start], id_list[i], parent); } - pos = i; } + pos = i; } }