Corrected an apparently long-standing error that is responsible for

some errors failing to list in the output while also being responsible
for a number of non-errors showing up in the output.  This fix may
substantially clean up netgen output.  Also:  Added text to the
output noting that pin matching may be incorrect with respect to
symmetries if the nets have failed to match.
This commit is contained in:
Tim Edwards 2024-10-02 21:20:27 -04:00
parent e821381900
commit 05872ca918
3 changed files with 10 additions and 4 deletions

View File

@ -1 +1 @@
1.5.279
1.5.280

View File

@ -2706,7 +2706,9 @@ CheckLegalElementPartition(struct ElementClass *head)
found = 0;
for (scan = head; scan != NULL; scan = scan->next) {
if (scan->count == 2) continue;
/* Quick check for matching 1:1 case */
if ((scan->count == 2) && (scan->elements->graph != scan->elements->next->graph))
continue;
C1 = C2 = 0;
for (E = scan->elements; E != NULL; E = E->next) {
if (E->graph == Circuit1->file) C1++;
@ -2828,7 +2830,9 @@ CheckLegalNodePartition(struct NodeClass *head)
found = 0;
for (scan = head; scan != NULL; scan = scan->next) {
if (scan->count == 2) continue;
/* Quick check for matching 1:1 case */
if ((scan->count == 2) && (scan->nodes->graph != scan->nodes->next->graph))
continue;
C1 = C2 = 0;
for (N = scan->nodes; N != NULL; N = N->next) {
if (N->graph == Circuit1->file) C1++;

View File

@ -2651,8 +2651,10 @@ _netcmp_verify(ClientData clientData,
disable_interrupt();
if (index == EQUIV_IDX || index == UNIQUE_IDX)
Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0));
else
else {
Fprintf(stdout, "Netlists do not match.\n");
Fprintf(stdout, "Port matching may fail to disambiguate symmetries.\n");
}
}
else if (automorphisms == -2) {
if (index == EQUIV_IDX)