Skip to content

Commit 1b1c673

Browse files
committed
grt: Introduce AccessPointMap type alias (cugr)
Signed-off-by: Matt Liberty <[email protected]>
1 parent 27f8942 commit 1b1c673

File tree

4 files changed

+10
-18
lines changed

4 files changed

+10
-18
lines changed

src/grt/src/cugr/src/GridGraph.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -352,12 +352,9 @@ CostT GridGraph::getViaCost(const int layer_index, const PointT loc) const
352352
return cost;
353353
}
354354

355-
void GridGraph::selectAccessPoints(
356-
const GRNet* net,
357-
robin_hood::unordered_map<uint64_t, AccessPoint>& selected_access_points)
358-
const
355+
GridGraph::AccessPointMap GridGraph::selectAccessPoints(const GRNet* net) const
359356
{
360-
selected_access_points.clear();
357+
AccessPointMap selected_access_points;
361358
// cell hash (2d) -> access point, fixed layer interval
362359
selected_access_points.reserve(net->getNumPins());
363360
const auto& boundingBox = net->getBoundingBox();
@@ -412,6 +409,7 @@ void GridGraph::selectAccessPoints(
412409
fixedLayers.SetHigh(
413410
std::min(fixedLayers.high() + 2, (int) getNumLayers() - 1));
414411
}
412+
return selected_access_points;
415413
}
416414

417415
void GridGraph::commit(const int layer_index,

src/grt/src/cugr/src/GridGraph.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@ class GridGraph
8181
IntervalT layers;
8282
};
8383

84-
void selectAccessPoints(const GRNet* net,
85-
robin_hood::unordered_map<uint64_t, AccessPoint>&
86-
selected_access_points) const;
84+
using AccessPointMap = robin_hood::unordered_map<uint64_t, AccessPoint>;
85+
AccessPointMap selectAccessPoints(const GRNet* net) const;
8786

8887
// Methods for updating demands
8988
void commitTree(const std::shared_ptr<GRTreeNode>& tree, bool rip_up = false);

src/grt/src/cugr/src/MazeRoute.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ void SparseGraph::init(const GridGraphView<CostT>& wire_cost_view,
2323
const SparseGrid& grid)
2424
{
2525
// 0. Create pseudo pins
26-
robin_hood::unordered_map<uint64_t, GridGraph::AccessPoint>
27-
selectedAccessPoints;
28-
grid_graph_->selectAccessPoints(net_, selectedAccessPoints);
26+
const auto selectedAccessPoints = grid_graph_->selectAccessPoints(net_);
2927
pseudo_pins_.reserve(selectedAccessPoints.size());
3028
for (const auto& selectedPoint : selectedAccessPoints) {
3129
pseudo_pins_.push_back(selectedPoint.second);

src/grt/src/cugr/src/PatternRoute.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,13 @@ std::string PatternRoutingNode::getPythonString(
7979

8080
void PatternRoute::constructSteinerTree()
8181
{
82-
robin_hood::unordered_map<uint64_t, GridGraph::AccessPoint>
83-
selectedAccessPoints;
84-
grid_graph_->selectAccessPoints(net_, selectedAccessPoints);
82+
auto selectedAccessPoints = grid_graph_->selectAccessPoints(net_);
8583

8684
const int degree = selectedAccessPoints.size();
8785
if (degree == 1) {
88-
for (auto& accessPoint : selectedAccessPoints) {
89-
steiner_tree_ = std::make_shared<SteinerTreeNode>(
90-
accessPoint.second.point, accessPoint.second.layers);
91-
}
86+
const auto& accessPoint = *selectedAccessPoints.begin();
87+
steiner_tree_ = std::make_shared<SteinerTreeNode>(
88+
accessPoint.second.point, accessPoint.second.layers);
9289
return;
9390
}
9491

0 commit comments

Comments
 (0)