Skip to content

Commit 1e192c9

Browse files
access rr_node_indices_ with e_rr_type instead of casting to size_t
1 parent 971f432 commit 1e192c9

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

libs/librrgraph/src/base/rr_spatial_lookup.cpp

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ RRNodeId RRSpatialLookup::find_node(int layer,
4545
std::swap(node_x, node_y);
4646
}
4747

48-
VTR_ASSERT_SAFE(4 == rr_node_indices_[(size_t)type].ndims());
48+
VTR_ASSERT_SAFE(4 == rr_node_indices_[type].ndims());
4949

5050
/* Sanity check to ensure the layer, x, y, side and ptc are in range
5151
* - Return an valid id by searching in look-up when all the parameters are in range
@@ -55,27 +55,27 @@ RRNodeId RRSpatialLookup::find_node(int layer,
5555
return RRNodeId::INVALID();
5656
}
5757

58-
if (size_t(layer) >= rr_node_indices_[(size_t)type].dim_size(0)) {
58+
if (size_t(layer) >= rr_node_indices_[type].dim_size(0)) {
5959
return RRNodeId::INVALID();
6060
}
6161

62-
if (node_x >= rr_node_indices_[(size_t)type].dim_size(1)) {
62+
if (node_x >= rr_node_indices_[type].dim_size(1)) {
6363
return RRNodeId::INVALID();
6464
}
6565

66-
if(node_y >= rr_node_indices_[(size_t)type].dim_size(2)){
66+
if(node_y >= rr_node_indices_[type].dim_size(2)){
6767
return RRNodeId::INVALID();
6868
}
6969

70-
if (node_side >= rr_node_indices_[(size_t)type].dim_size(3)) {
70+
if (node_side >= rr_node_indices_[type].dim_size(3)) {
7171
return RRNodeId::INVALID();
7272
}
7373

74-
if (size_t(ptc) >= rr_node_indices_[(size_t)type][layer][node_x][node_y][node_side].size()) {
74+
if (size_t(ptc) >= rr_node_indices_[type][layer][node_x][node_y][node_side].size()) {
7575
return RRNodeId::INVALID();
7676
}
7777

78-
return rr_node_indices_[(size_t)type][layer][node_x][node_y][node_side][ptc];
78+
return rr_node_indices_[type][layer][node_x][node_y][node_side][ptc];
7979
}
8080

8181
std::vector<RRNodeId> RRSpatialLookup::find_nodes_in_range(int layer,
@@ -126,7 +126,7 @@ std::vector<RRNodeId> RRSpatialLookup::find_nodes(int layer,
126126
std::swap(node_x, node_y);
127127
}
128128

129-
VTR_ASSERT_SAFE(4 == rr_node_indices_[(size_t)type].ndims());
129+
VTR_ASSERT_SAFE(4 == rr_node_indices_[type].ndims());
130130

131131
/* Sanity check to ensure the x, y, side are in range
132132
* - Return a list of valid ids by searching in look-up when all the parameters are in range
@@ -136,32 +136,32 @@ std::vector<RRNodeId> RRSpatialLookup::find_nodes(int layer,
136136
return nodes;
137137
}
138138

139-
if (size_t(layer) >= rr_node_indices_[(size_t)type].dim_size(0)) {
139+
if (size_t(layer) >= rr_node_indices_[type].dim_size(0)) {
140140
return nodes;
141141
}
142142

143-
if (node_x >= rr_node_indices_[(size_t)type].dim_size(1)) {
143+
if (node_x >= rr_node_indices_[type].dim_size(1)) {
144144
return nodes;
145145
}
146146

147-
if(node_y >= rr_node_indices_[(size_t)type].dim_size(2)){
147+
if(node_y >= rr_node_indices_[type].dim_size(2)){
148148
return nodes;
149149
}
150150

151-
if (side >= rr_node_indices_[(size_t)type].dim_size(3)) {
151+
if (side >= rr_node_indices_[type].dim_size(3)) {
152152
return nodes;
153153
}
154154

155155
/* Reserve space to avoid memory fragmentation */
156156
size_t num_nodes = 0;
157-
for (const auto& node : rr_node_indices_[(size_t)type][layer][node_x][node_y][side]) {
157+
for (const auto& node : rr_node_indices_[type][layer][node_x][node_y][side]) {
158158
if (node.is_valid()) {
159159
num_nodes++;
160160
}
161161
}
162162

163163
nodes.reserve(num_nodes);
164-
for (const auto& node : rr_node_indices_[(size_t)type][layer][node_x][node_y][side]) {
164+
for (const auto& node : rr_node_indices_[type][layer][node_x][node_y][side]) {
165165
if (node.is_valid()) {
166166
nodes.emplace_back(node);
167167
}
@@ -241,7 +241,7 @@ void RRSpatialLookup::reserve_nodes(int layer,
241241
e_rr_type type,
242242
int num_nodes,
243243
e_side side) {
244-
VTR_ASSERT_SAFE(4 == rr_node_indices_[(size_t)type].ndims());
244+
VTR_ASSERT_SAFE(4 == rr_node_indices_[type].ndims());
245245

246246
/* For non-IPIN/OPIN nodes, the side should always be the TOP side which follows the convention in find_node() API! */
247247
if (type != e_rr_type::IPIN && type != e_rr_type::OPIN) {
@@ -250,7 +250,7 @@ void RRSpatialLookup::reserve_nodes(int layer,
250250

251251
resize_nodes(layer, x, y, type, side);
252252

253-
rr_node_indices_[(size_t)type][layer][x][y][side].reserve(num_nodes);
253+
rr_node_indices_[type][layer][x][y][side].reserve(num_nodes);
254254
}
255255

256256
void RRSpatialLookup::add_node(RRNodeId node,
@@ -261,7 +261,7 @@ void RRSpatialLookup::add_node(RRNodeId node,
261261
int ptc,
262262
e_side side) {
263263
VTR_ASSERT(node.is_valid()); /* Must have a valid node id to be added */
264-
VTR_ASSERT_SAFE(4 == rr_node_indices_[(size_t)type].ndims());
264+
VTR_ASSERT_SAFE(4 == rr_node_indices_[type].ndims());
265265

266266
/* For non-IPIN/OPIN nodes, the side should always be the TOP side which follows the convention in find_node() API! */
267267
if (type != e_rr_type::IPIN && type != e_rr_type::OPIN) {
@@ -270,13 +270,13 @@ void RRSpatialLookup::add_node(RRNodeId node,
270270

271271
resize_nodes(layer, x, y, type, side);
272272

273-
if (size_t(ptc) >= rr_node_indices_[(size_t)type][layer][x][y][side].size()) {
273+
if (size_t(ptc) >= rr_node_indices_[type][layer][x][y][side].size()) {
274274
/* Deposit invalid ids to newly allocated elements while original elements are untouched */
275-
rr_node_indices_[(size_t)type][layer][x][y][side].resize(ptc + 1, RRNodeId::INVALID());
275+
rr_node_indices_[type][layer][x][y][side].resize(ptc + 1, RRNodeId::INVALID());
276276
}
277277

278278
/* Resize on demand finished; Register the node */
279-
rr_node_indices_[(size_t)type][layer][x][y][side][ptc] = node;
279+
rr_node_indices_[type][layer][x][y][side][ptc] = node;
280280
}
281281

282282
bool RRSpatialLookup::remove_node(RRNodeId node,
@@ -287,7 +287,7 @@ bool RRSpatialLookup::remove_node(RRNodeId node,
287287
int ptc,
288288
e_side side) {
289289
VTR_ASSERT(node.is_valid());
290-
VTR_ASSERT_SAFE(4 == rr_node_indices_[(size_t)type].ndims());
290+
VTR_ASSERT_SAFE(4 == rr_node_indices_[type].ndims());
291291
VTR_ASSERT_SAFE(layer >= 0);
292292
VTR_ASSERT_SAFE(x >= 0);
293293
VTR_ASSERT_SAFE(y >= 0);
@@ -297,16 +297,16 @@ bool RRSpatialLookup::remove_node(RRNodeId node,
297297

298298
// Check if the node given is in the spatial lookup at the given indices
299299
if ((size_t)type >= rr_node_indices_.size()) return false;
300-
if ((size_t)layer >= rr_node_indices_[(size_t)type].dim_size(0)) return false;
301-
if ((size_t)x >= rr_node_indices_[(size_t)type].dim_size(1)) return false;
302-
if ((size_t)y >= rr_node_indices_[(size_t)type].dim_size(2)) return false;
303-
if (side >= rr_node_indices_[(size_t)type].dim_size(3)) return false;
304-
if ((size_t)ptc >= rr_node_indices_[(size_t)type][layer][x][y][side].size()) return false;
305-
if (rr_node_indices_[(size_t)type][layer][x][y][side][ptc] != node) return false;
300+
if ((size_t)layer >= rr_node_indices_[type].dim_size(0)) return false;
301+
if ((size_t)x >= rr_node_indices_[type].dim_size(1)) return false;
302+
if ((size_t)y >= rr_node_indices_[type].dim_size(2)) return false;
303+
if (side >= rr_node_indices_[type].dim_size(3)) return false;
304+
if ((size_t)ptc >= rr_node_indices_[type][layer][x][y][side].size()) return false;
305+
if (rr_node_indices_[type][layer][x][y][side][ptc] != node) return false;
306306

307307
// The node was in the spatial lookup; remove it. -1 corresponds to an invalid node id,
308308
// and so is treated as absent in the spatial lookup
309-
rr_node_indices_[(size_t)type][layer][x][y][side][ptc] = RRNodeId::INVALID();
309+
rr_node_indices_[type][layer][x][y][side][ptc] = RRNodeId::INVALID();
310310
return true;
311311
}
312312

@@ -317,7 +317,7 @@ void RRSpatialLookup::mirror_nodes(const int layer,
317317
e_side side) {
318318
VTR_ASSERT(e_rr_type::SOURCE == type);
319319
resize_nodes(layer, des_coord.x(), des_coord.y(), type, side);
320-
rr_node_indices_[(size_t)type][layer][des_coord.x()][des_coord.y()][side] = rr_node_indices_[(size_t)type][layer][src_coord.x()][src_coord.y()][side];
320+
rr_node_indices_[type][layer][des_coord.x()][des_coord.y()][side] = rr_node_indices_[type][layer][src_coord.x()][src_coord.y()][side];
321321
}
322322

323323
void RRSpatialLookup::resize_nodes(int layer,
@@ -334,14 +334,14 @@ void RRSpatialLookup::resize_nodes(int layer,
334334
VTR_ASSERT(y >= 0);
335335
VTR_ASSERT(layer >= 0);
336336

337-
if ((layer >= int(rr_node_indices_[(size_t)type].dim_size(0)))
338-
|| (x >= int(rr_node_indices_[(size_t)type].dim_size(1)))
339-
|| (y >= int(rr_node_indices_[(size_t)type].dim_size(2)))
340-
|| (size_t(side) >= rr_node_indices_[(size_t)type].dim_size(3))) {
341-
rr_node_indices_[(size_t)type].resize({std::max(rr_node_indices_[(size_t)type].dim_size(0),size_t(layer)+1),
342-
std::max(rr_node_indices_[(size_t)type].dim_size(1), size_t(x) + 1),
343-
std::max(rr_node_indices_[(size_t)type].dim_size(2), size_t(y) + 1),
344-
std::max(rr_node_indices_[(size_t)type].dim_size(3), size_t(side) + 1)});
337+
if ((layer >= int(rr_node_indices_[type].dim_size(0)))
338+
|| (x >= int(rr_node_indices_[type].dim_size(1)))
339+
|| (y >= int(rr_node_indices_[type].dim_size(2)))
340+
|| (size_t(side) >= rr_node_indices_[type].dim_size(3))) {
341+
rr_node_indices_[type].resize({std::max(rr_node_indices_[type].dim_size(0),size_t(layer)+1),
342+
std::max(rr_node_indices_[type].dim_size(1), size_t(x) + 1),
343+
std::max(rr_node_indices_[type].dim_size(2), size_t(y) + 1),
344+
std::max(rr_node_indices_[type].dim_size(3), size_t(side) + 1)});
345345
}
346346
}
347347

0 commit comments

Comments
 (0)