X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3a1ea70a418f393ca1677074e928c664022295bd..711f572ba93269d5151544df3a6df09018c803a0:/src/smpi/mpi/smpi_f2c.cpp diff --git a/src/smpi/mpi/smpi_f2c.cpp b/src/smpi/mpi/smpi_f2c.cpp index dafd94029b..bff67c385f 100644 --- a/src/smpi/mpi/smpi_f2c.cpp +++ b/src/smpi/mpi/smpi_f2c.cpp @@ -7,8 +7,6 @@ #include "private.hpp" #include "src/smpi/include/smpi_actor.hpp" -#include - int mpi_in_place_; int mpi_bottom_; int mpi_status_ignore_; @@ -17,18 +15,18 @@ int mpi_statuses_ignore_; namespace simgrid{ namespace smpi{ -std::unordered_map* F2C::f2c_lookup_ = nullptr; +std::unordered_map* F2C::f2c_lookup_ = nullptr; int F2C::f2c_id_ = 0; // Keep it non trivially-constructible, or it will break MC+smpi on FreeBSD with Clang (don't ask why) F2C::F2C() = default; -std::unordered_map* F2C::f2c_lookup() +std::unordered_map* F2C::f2c_lookup() { return f2c_lookup_; } -void F2C::set_f2c_lookup(std::unordered_map* map) +void F2C::set_f2c_lookup(std::unordered_map* map) { f2c_lookup_ = map; } @@ -41,39 +39,27 @@ int F2C::f2c_id(){ return f2c_id_; } -char* F2C::get_my_key(char* key) { - std::snprintf(key, KEY_SIZE, "%d", my_f2c_id_); - return key; -} - -char* F2C::get_key(char* key, int id) { - std::snprintf(key, KEY_SIZE, "%d", id); - return key; -} - void F2C::delete_lookup(){ delete f2c_lookup_; } -std::unordered_map* F2C::lookup() +std::unordered_map* F2C::lookup() { return f2c_lookup_; } void F2C::free_f(int id) { - char key[KEY_SIZE]; - f2c_lookup_->erase(get_key(key,id)); + f2c_lookup_->erase(id); } int F2C::add_f() { if (f2c_lookup_ == nullptr) - f2c_lookup_ = new std::unordered_map(); + f2c_lookup_ = new std::unordered_map(); - char key[KEY_SIZE]; - my_f2c_id_=f2c_id_; - (*f2c_lookup_)[get_my_key(key)] = this; + my_f2c_id_ = f2c_id(); + (*f2c_lookup_)[my_f2c_id_] = this; f2c_id_increment(); return my_f2c_id_; } @@ -81,7 +67,7 @@ int F2C::add_f() int F2C::c2f() { if (f2c_lookup_ == nullptr) { - f2c_lookup_ = new std::unordered_map(); + f2c_lookup_ = new std::unordered_map(); } if(my_f2c_id_==-1) @@ -94,11 +80,10 @@ int F2C::c2f() F2C* F2C::f2c(int id) { if (f2c_lookup_ == nullptr) - f2c_lookup_ = new std::unordered_map(); + f2c_lookup_ = new std::unordered_map(); if(id >= 0){ - char key[KEY_SIZE]; - auto comm = f2c_lookup_->find(get_key(key,id)); + auto comm = f2c_lookup_->find(id); return comm == f2c_lookup_->end() ? nullptr : comm->second; }else return nullptr;