Skip to content

Commit 853eb22

Browse files
🐛 shortestSWAPsBetween returns one SWAP too many (#1395)
1 parent bcf557c commit 853eb22

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

mlir/lib/Dialect/MQTOpt/Transforms/Transpilation/Architecture.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ Architecture::shortestSWAPsBetween(uint32_t u, uint32_t v) const {
3838
}
3939

4040
llvm::SmallVector<std::pair<uint32_t, uint32_t>> swaps;
41-
uint32_t curr = v;
4241
uint32_t last = v;
42+
uint32_t curr = prev_[u][v];
4343

4444
while (curr != u) {
45-
curr = prev_[u][curr];
46-
swaps.emplace_back(last, curr);
45+
swaps.emplace_back(last, curr); // Insert SWAP(last, curr).
4746
last = curr;
47+
curr = prev_[u][curr];
4848
}
4949

5050
return swaps;

0 commit comments

Comments
 (0)