From 342ed24c321474f6307d6bc5d7c57d285c15c91a Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 24 Apr 2018 14:41:19 +0200 Subject: [PATCH] Kill useless array powers2 and simplify code. --- examples/s4u/dht-chord/s4u-dht-chord-node.cpp | 4 +- examples/s4u/dht-chord/s4u-dht-chord.cpp | 37 ++++--------------- examples/s4u/dht-chord/s4u-dht-chord.hpp | 1 - 3 files changed, 9 insertions(+), 33 deletions(-) diff --git a/examples/s4u/dht-chord/s4u-dht-chord-node.cpp b/examples/s4u/dht-chord/s4u-dht-chord-node.cpp index 0db3cef31d..d7ab98a633 100644 --- a/examples/s4u/dht-chord/s4u-dht-chord-node.cpp +++ b/examples/s4u/dht-chord/s4u-dht-chord-node.cpp @@ -184,7 +184,7 @@ void Node::setPredecessor(int predecessor_id) void Node::fixFingers() { XBT_DEBUG("Fixing fingers"); - int id = findSuccessor(id_ + powers2[next_finger_to_fix]); + int id = findSuccessor(id_ + (1U << next_finger_to_fix)); if (id != -1) { if (id != fingers_[next_finger_to_fix]) { setFinger(next_finger_to_fix, id); @@ -201,7 +201,7 @@ void Node::printFingerTable() XBT_VERB("My finger table:"); XBT_VERB("Start | Succ"); for (int i = 0; i < nb_bits; i++) { - XBT_VERB(" %3d | %3d", (id_ + powers2[i]) % nb_keys, fingers_[i]); + XBT_VERB(" %3u | %3d", (id_ + (1U << i)) % nb_keys, fingers_[i]); } XBT_VERB("Predecessor: %d", pred_id_); diff --git a/examples/s4u/dht-chord/s4u-dht-chord.cpp b/examples/s4u/dht-chord/s4u-dht-chord.cpp index d7613fb87b..b675aa10ff 100644 --- a/examples/s4u/dht-chord/s4u-dht-chord.cpp +++ b/examples/s4u/dht-chord/s4u-dht-chord.cpp @@ -11,32 +11,6 @@ simgrid::xbt::Extension HostChord::EXTENSION_ID; int nb_bits = 24; int nb_keys = 0; int timeout = 50; -int* powers2 = nullptr; - -/* Global initialization of the Chord simulation. */ -static void chord_init() -{ - // compute the powers of 2 once for all - powers2 = new int[nb_bits]; - int pow = 1; - for (int i = 0; i < nb_bits; i++) { - powers2[i] = pow; - pow = pow << 1; - } - nb_keys = pow; - XBT_DEBUG("Sets nb_keys to %d", nb_keys); - - HostChord::EXTENSION_ID = simgrid::s4u::Host::extension_create(); - - std::vector list = simgrid::s4u::Engine::getInstance()->get_all_hosts(); - for (auto const& host : list) - host->extension_set(new HostChord(host)); -} - -static void chord_exit() -{ - delete[] powers2; -} int main(int argc, char* argv[]) { @@ -64,7 +38,13 @@ int main(int argc, char* argv[]) e.load_platform(options[0]); - chord_init(); // FIXME: inline me + /* Global initialization of the Chord simulation. */ + nb_keys = 1U << nb_bits; + XBT_DEBUG("Sets nb_keys to %d", nb_keys); + + HostChord::EXTENSION_ID = simgrid::s4u::Host::extension_create(); + for (auto const& host : simgrid::s4u::Engine::getInstance()->get_all_hosts()) + host->extension_set(new HostChord(host)); e.register_actor("node"); e.load_deployment(options[1]); @@ -72,8 +52,5 @@ int main(int argc, char* argv[]) e.run(); XBT_INFO("Simulated time: %g", e.get_clock()); - - chord_exit(); - return 0; } diff --git a/examples/s4u/dht-chord/s4u-dht-chord.hpp b/examples/s4u/dht-chord/s4u-dht-chord.hpp index 240a555b0b..ea6e86b6f1 100644 --- a/examples/s4u/dht-chord/s4u-dht-chord.hpp +++ b/examples/s4u/dht-chord/s4u-dht-chord.hpp @@ -21,7 +21,6 @@ extern int nb_bits; extern int nb_keys; extern int timeout; -extern int* powers2; class HostChord { RngStream stream_; -- 2.20.1