@@ -28,7 +28,7 @@ size_t RRChan::get_chan_width() const {
28
28
}
29
29
30
30
/* get the track_id of a node */
31
- int RRChan::get_node_track_id (const RRNodeId& node) const {
31
+ int RRChan::get_node_track_id (const RRNodeId node) const {
32
32
/* if the given node is NULL, we return an invalid id */
33
33
if (RRNodeId::INVALID () == node) {
34
34
return -1 ;
@@ -42,15 +42,15 @@ int RRChan::get_node_track_id(const RRNodeId& node) const {
42
42
}
43
43
44
44
/* get the rr_node with the track_id */
45
- RRNodeId RRChan::get_node (const size_t & track_num) const {
45
+ RRNodeId RRChan::get_node (const size_t track_num) const {
46
46
if (false == valid_node_id (track_num)) {
47
47
return RRNodeId::INVALID ();
48
48
}
49
49
return nodes_[track_num];
50
50
}
51
51
52
52
/* get the segment id of a node */
53
- RRSegmentId RRChan::get_node_segment (const RRNodeId& node) const {
53
+ RRSegmentId RRChan::get_node_segment (const RRNodeId node) const {
54
54
int node_id = get_node_track_id (node);
55
55
if (false == valid_node_id (node_id)) {
56
56
return RRSegmentId::INVALID ();
@@ -59,7 +59,7 @@ RRSegmentId RRChan::get_node_segment(const RRNodeId& node) const {
59
59
}
60
60
61
61
/* get the segment id of a node */
62
- RRSegmentId RRChan::get_node_segment (const size_t & track_num) const {
62
+ RRSegmentId RRChan::get_node_segment (const size_t track_num) const {
63
63
if (false == valid_node_id (track_num)) {
64
64
return RRSegmentId::INVALID ();
65
65
}
@@ -70,14 +70,10 @@ RRSegmentId RRChan::get_node_segment(const size_t& track_num) const {
70
70
std::vector<RRSegmentId> RRChan::get_segment_ids () const {
71
71
std::vector<RRSegmentId> seg_list;
72
72
73
- /* make sure a clean start */
74
- seg_list.clear ();
75
-
76
73
/* Traverse node_segments */
77
74
for (size_t inode = 0 ; inode < get_chan_width (); ++inode) {
78
- std::vector<RRSegmentId>::iterator it;
79
75
/* Try to find the node_segment id in the list */
80
- it = find (seg_list.begin (), seg_list.end (), node_segments_[inode]);
76
+ auto it = find (seg_list.begin (), seg_list.end (), node_segments_[inode]);
81
77
if (it == seg_list.end ()) {
82
78
/* Not found, add it to the list */
83
79
seg_list.push_back (node_segments_[inode]);
@@ -88,15 +84,12 @@ std::vector<RRSegmentId> RRChan::get_segment_ids() const {
88
84
}
89
85
90
86
/* Get a list of nodes whose segment_id is specified */
91
- std::vector<size_t > RRChan::get_node_ids_by_segment_ids (const RRSegmentId& seg_id) const {
87
+ std::vector<size_t > RRChan::get_node_ids_by_segment_ids (const RRSegmentId seg_id) const {
92
88
std::vector<size_t > node_list;
93
89
94
- /* make sure a clean start */
95
- node_list.clear ();
96
-
97
- /* Traverse node_segments */
90
+ // Traverse node_segments
98
91
for (size_t inode = 0 ; inode < get_chan_width (); ++inode) {
99
- /* Try to find the node_segment id in the list */
92
+ // Try to find the node_segment id in the list
100
93
if (seg_id == node_segments_[inode]) {
101
94
node_list.push_back (inode);
102
95
}
@@ -109,35 +102,34 @@ std::vector<size_t> RRChan::get_node_ids_by_segment_ids(const RRSegmentId& seg_i
109
102
* Mutators
110
103
***********************************************************************/
111
104
void RRChan::set (const RRChan& rr_chan) {
112
- /* Ensure a clean start */
113
- this -> clear ();
114
- /* Assign type of this routing channel */
115
- this -> type_ = rr_chan.get_type ();
116
- /* Copy node and node_segments */
117
- this -> nodes_ .resize (rr_chan.get_chan_width ());
118
- this -> node_segments_ .resize (rr_chan.get_chan_width ());
105
+ // Ensure a clean start
106
+ clear ();
107
+ // Assign type of this routing channel
108
+ type_ = rr_chan.get_type ();
109
+ // Copy node and node_segments
110
+ nodes_.resize (rr_chan.get_chan_width ());
111
+ node_segments_.resize (rr_chan.get_chan_width ());
119
112
for (size_t inode = 0 ; inode < rr_chan.get_chan_width (); ++inode) {
120
- this -> nodes_ [inode] = rr_chan.get_node (inode);
121
- this -> node_segments_ [inode] = rr_chan.get_node_segment (inode);
113
+ nodes_[inode] = rr_chan.get_node (inode);
114
+ node_segments_[inode] = rr_chan.get_node_segment (inode);
122
115
}
123
- return ;
124
116
}
125
117
126
118
/* modify type */
127
- void RRChan::set_type (const e_rr_type& type) {
128
- VTR_ASSERT (valid_type (type));
119
+ void RRChan::set_type (const e_rr_type type) {
120
+ VTR_ASSERT (is_rr_type_valid (type));
129
121
type_ = type;
130
122
}
131
123
132
124
/* Reserve node list */
133
- void RRChan::reserve_node (const size_t & node_size) {
134
- nodes_.reserve (node_size); /* reserve to the maximum */
135
- node_segments_.reserve (node_size); /* reserve to the maximum */
125
+ void RRChan::reserve_node (const size_t node_size) {
126
+ nodes_.reserve (node_size);
127
+ node_segments_.reserve (node_size);
136
128
}
137
129
138
130
/* add a node to the array */
139
- void RRChan::add_node (const RRGraphView& rr_graph, const RRNodeId& node, const RRSegmentId& node_segment) {
140
- /* fill the dedicated element in the vector */
131
+ void RRChan::add_node (const RRGraphView& rr_graph, const RRNodeId node, const RRSegmentId node_segment) {
132
+ // fill the dedicated element in the vector
141
133
nodes_.push_back (node);
142
134
node_segments_.push_back (node_segment);
143
135
@@ -160,28 +152,28 @@ void RRChan::clear() {
160
152
* Internal validators
161
153
***********************************************************************/
162
154
/* for type, only valid type is CHANX and CHANY */
163
- bool RRChan::valid_type (const e_rr_type& type) const {
155
+ bool RRChan::is_rr_type_valid (const e_rr_type type) const {
164
156
if ((e_rr_type::CHANX == type) || (e_rr_type::CHANY == type)) {
165
157
return true ;
166
158
}
167
159
return false ;
168
160
}
169
161
170
162
/* Check each node, see if the node type is consistent with the type */
171
- bool RRChan::valid_node_type (const RRGraphView& rr_graph, const RRNodeId& node) const {
172
- valid_type (rr_graph.node_type (node));
163
+ bool RRChan::valid_node_type (const RRGraphView& rr_graph, const RRNodeId node) const {
164
+ is_rr_type_valid (rr_graph.node_type (node));
173
165
if (e_rr_type::NUM_RR_TYPES == type_) {
174
166
return true ;
175
167
}
176
- valid_type (type_);
168
+ is_rr_type_valid (type_);
177
169
if (type_ != rr_graph.node_type (node)) {
178
170
return false ;
179
171
}
180
172
return true ;
181
173
}
182
174
183
175
/* check if the node id is valid */
184
- bool RRChan::valid_node_id (const size_t & node_id) const {
176
+ bool RRChan::valid_node_id (const size_t node_id) const {
185
177
if (node_id < nodes_.size ()) {
186
178
return true ;
187
179
}
0 commit comments