summaryrefslogtreecommitdiff
path: root/libs/subcircuit
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-03-28 11:36:54 +0100
committerClifford Wolf <clifford@clifford.at>2013-03-28 11:36:54 +0100
commitb9870a364e35d8159a8bcc8c535a2aa971e78af9 (patch)
tree99744c60d9d157698d9a7e41a8f6367d5d4ae1d3 /libs/subcircuit
parentc46597b697a28f1eb9245a35c2b292a140407229 (diff)
Improved subcircuit verbose output (added portmapper results)
Diffstat (limited to 'libs/subcircuit')
-rw-r--r--libs/subcircuit/subcircuit.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/subcircuit/subcircuit.cc b/libs/subcircuit/subcircuit.cc
index 6ee2a0fc..b4e74be6 100644
--- a/libs/subcircuit/subcircuit.cc
+++ b/libs/subcircuit/subcircuit.cc
@@ -1124,6 +1124,21 @@ class SubCircuit::SolverWorker
while (prunePortmapCandidates(portmapCandidates, enumerationMatrix, needle, haystack)) { }
+ if (verbose) {
+ my_printf("\nPortmapper results:\n");
+ for (int j = 0; j < int(enumerationMatrix.size()); j++) {
+ my_printf("%5d: %s\n", j, needle.graph.nodes[j].nodeId.c_str());
+ int variantCounter = 0;
+ for (auto &i2 : portmapCandidates.at(j)) {
+ my_printf("%*s variant %2d:", 6, "", variantCounter++);
+ int mapCounter = 0;
+ for (auto &i3 : i2)
+ my_printf("%s %s -> %s", mapCounter++ ? "," : "", i3.first.c_str(), i3.second.c_str());
+ my_printf("\n");
+ }
+ }
+ }
+
for (int j = 0; j < int(enumerationMatrix.size()); j++) {
if (portmapCandidates[j].size() == 0) {
if (verbose) {