From 3d180f778df2180ac9bc5b6093d3e10fb1b5850f Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Wed, 3 Apr 2024 11:01:58 -0400 Subject: [PATCH 1/2] Corrected an error that had previously been corrected in PropertyMatch() but not corrected symmetrically between circuit1 and circuit2; this left the possibility that "M=1" in one circuit vs. no "M" entry in the other would still pop up as a property error, depending on which circuit (layout or schematic) was listed first. --- VERSION | 2 +- base/netcmp.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index ccfe09f..a851fdf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.272 +1.5.273 diff --git a/base/netcmp.c b/base/netcmp.c index 9772bfc..e01a065 100644 --- a/base/netcmp.c +++ b/base/netcmp.c @@ -6211,7 +6211,9 @@ PropertyMatch(struct Element *E1, struct Element *E2, if (kl1 != NULL) break; // Property is required } - else if (vl1->value.ival != 1) + else if ((vl1->type == PROP_INTEGER) && (vl1->value.ival != 1)) + break; // Property M != 1 or S != 1 is a mismatch. + else if ((vl1->type == PROP_DOUBLE) && (vl1->value.dval != 1)) break; // Property M != 1 or S != 1 is a mismatch. } if (vl1->type != PROP_ENDLIST) { From fd0c8c87eaf5f300bc3a52d84e0544272656d80b Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Wed, 3 Apr 2024 21:05:08 -0400 Subject: [PATCH 2/2] Corrected another error in which, for device sorting, "M" was set to 1 before the loop over devices in "run", resulting in "M" taking the value of the previous property record if the following record did not have an "M" value, instead of setting it to 1. --- base/netcmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/netcmp.c b/base/netcmp.c index e01a065..8c031d5 100644 --- a/base/netcmp.c +++ b/base/netcmp.c @@ -4467,9 +4467,9 @@ void parallel_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run) proplist = (propsort *)MALLOC(run * sizeof(propsort)); obp = obn; - mval = 1; pval = aval = oval = 0.0; for (i = 0; i < run; i++) { + mval = 1; has_crit = FALSE; merge_type = MERGE_NONE; ca = co = (char)0;