From 6157f90cc9d3cce63b341338c15e91af8ccd6347 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 16 Apr 2018 10:18:02 +0200 Subject: [PATCH] Remove superfluous indirection. --- .../s4u-routing-get-clusters.cpp | 2 +- .../simgrid/kernel/routing/DragonflyZone.hpp | 2 +- src/kernel/routing/DragonflyZone.cpp | 18 +++++++++--------- src/kernel/routing/TorusZone.cpp | 8 ++++---- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/s4u/routing-get-clusters/s4u-routing-get-clusters.cpp b/examples/s4u/routing-get-clusters/s4u-routing-get-clusters.cpp index 51843c1f62..602c222ab7 100644 --- a/examples/s4u/routing-get-clusters/s4u-routing-get-clusters.cpp +++ b/examples/s4u/routing-get-clusters/s4u-routing-get-clusters.cpp @@ -40,7 +40,7 @@ int main(int argc, char* argv[]) XBT_INFO("%s' dragonfly topology:", d->get_cname()); for (int i = 0; i < d->getHostCount(); i++) { unsigned int coords[4]; - d->rankId_to_coords(i, &coords); + d->rankId_to_coords(i, coords); XBT_INFO(" %d: (%u, %u, %u, %u)", i, coords[0], coords[1], coords[2], coords[3]); } } diff --git a/include/simgrid/kernel/routing/DragonflyZone.hpp b/include/simgrid/kernel/routing/DragonflyZone.hpp index 2db8af0b1f..d1efcd1c99 100644 --- a/include/simgrid/kernel/routing/DragonflyZone.hpp +++ b/include/simgrid/kernel/routing/DragonflyZone.hpp @@ -71,7 +71,7 @@ public: void generateLinks(); void createLink(const std::string& id, int numlinks, resource::LinkImpl** linkup, resource::LinkImpl** linkdown); - void rankId_to_coords(int rankId, unsigned int (*coords)[4]); + void rankId_to_coords(int rankId, unsigned int coords[4]); private: simgrid::s4u::Link::SharingPolicy sharing_policy_; diff --git a/src/kernel/routing/DragonflyZone.cpp b/src/kernel/routing/DragonflyZone.cpp index af1f53b7fd..9e23f6951a 100644 --- a/src/kernel/routing/DragonflyZone.cpp +++ b/src/kernel/routing/DragonflyZone.cpp @@ -31,15 +31,15 @@ DragonflyZone::~DragonflyZone() } } -void DragonflyZone::rankId_to_coords(int rankId, unsigned int (*coords)[4]) +void DragonflyZone::rankId_to_coords(int rankId, unsigned int coords[4]) { // coords : group, chassis, blade, node - (*coords)[0] = rankId / (num_chassis_per_group_ * num_blades_per_chassis_ * num_nodes_per_blade_); - rankId = rankId % (num_chassis_per_group_ * num_blades_per_chassis_ * num_nodes_per_blade_); - (*coords)[1] = rankId / (num_blades_per_chassis_ * num_nodes_per_blade_); - rankId = rankId % (num_blades_per_chassis_ * num_nodes_per_blade_); - (*coords)[2] = rankId / num_nodes_per_blade_; - (*coords)[3] = rankId % num_nodes_per_blade_; + coords[0] = rankId / (num_chassis_per_group_ * num_blades_per_chassis_ * num_nodes_per_blade_); + rankId = rankId % (num_chassis_per_group_ * num_blades_per_chassis_ * num_nodes_per_blade_); + coords[1] = rankId / (num_blades_per_chassis_ * num_nodes_per_blade_); + rankId = rankId % (num_blades_per_chassis_ * num_nodes_per_blade_); + coords[2] = rankId / num_nodes_per_blade_; + coords[3] = rankId % num_nodes_per_blade_; } void DragonflyZone::parse_specific_arguments(ClusterCreationArgs* cluster) @@ -285,9 +285,9 @@ void DragonflyZone::get_local_route(NetPoint* src, NetPoint* dst, RouteCreationA } unsigned int myCoords[4]; - rankId_to_coords(src->id(), &myCoords); + rankId_to_coords(src->id(), myCoords); unsigned int targetCoords[4]; - rankId_to_coords(dst->id(), &targetCoords); + rankId_to_coords(dst->id(), targetCoords); XBT_DEBUG("src : %u group, %u chassis, %u blade, %u node", myCoords[0], myCoords[1], myCoords[2], myCoords[3]); XBT_DEBUG("dst : %u group, %u chassis, %u blade, %u node", targetCoords[0], targetCoords[1], targetCoords[2], targetCoords[3]); diff --git a/src/kernel/routing/TorusZone.cpp b/src/kernel/routing/TorusZone.cpp index c718ac60e9..ed962bc9c4 100644 --- a/src/kernel/routing/TorusZone.cpp +++ b/src/kernel/routing/TorusZone.cpp @@ -15,12 +15,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_cluster_torus, surf_route_cluster, "Torus Routing part of surf"); -inline void rankId_to_coords(int rankId, std::vector dimensions, unsigned int (*coords)[4]) +inline void rankId_to_coords(int rankId, std::vector dimensions, unsigned int coords[4]) { unsigned int dim_size_product = 1; unsigned int i = 0; for (auto const& cur_dim_size : dimensions) { - (*coords)[i] = (rankId / dim_size_product) % cur_dim_size; + coords[i] = (rankId / dim_size_product) % cur_dim_size; dim_size_product *= cur_dim_size; i++; } @@ -121,9 +121,9 @@ void TorusZone::get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* * both arrays, we can easily assess whether we need to route into this dimension or not. */ unsigned int myCoords[4]; - rankId_to_coords(src->id(), dimensions_, &myCoords); + rankId_to_coords(src->id(), dimensions_, myCoords); unsigned int targetCoords[4]; - rankId_to_coords(dst->id(), dimensions_, &targetCoords); + rankId_to_coords(dst->id(), dimensions_, targetCoords); /* * linkOffset describes the offset where the link we want to use is stored(+1 is added because each node has a link * from itself to itself, which can only be the case if src->m_id == dst->m_id -- see above for this special case) -- 2.20.1