Compare commits

...
3 Commits
Author SHA1 Message Date
Tim Edwards 577dfb5a28 Merge branch 'master' into work 2016-11-11 09:52:19 -05:00
Tim Edwards 46252ad6b9 Update at Fri Nov 11 09:52:18 EST 2016 by tim 2016-11-11 09:52:18 -05:00
Tim Edwards 564fab9667 Corrected an error in which property types were not promoted if
an instance property did not match the cell property type, as
long as the cell property types of the two compared cells matched.
Along with a recent change that left "M" as a type double during
SPICE netlist read-in, this caused "M" mismatches to be ignored,
because the double value was ignored and the integer value was
always zero.
2016-11-11 09:49:37 -05:00
2 changed files with 9 additions and 6 deletions
+1 -1
View File
@@ -1 +1 @@
1.5.66
1.5.67
+8 -5
View File
@@ -3708,11 +3708,13 @@ int PropertyMatch(struct objlist *ob1, struct objlist *ob2, int do_print)
SetPropertyDefault(kl2, vl2);
}
/* Promote properties as necessary to make sure they all match */
if (kl1->type != vl1->type) PromoteProperty(kl1, vl1);
if (kl2->type != vl2->type) PromoteProperty(kl2, vl2);
if (kl1->type != vl2->type) PromoteProperty(kl1, vl2);
if (vl1->type != kl2->type) PromoteProperty(kl2, vl1);
if (vl1->type != vl2->type) {
if (kl1->type != vl1->type) PromoteProperty(kl1, vl1);
if (kl2->type != vl2->type) PromoteProperty(kl2, vl2);
if (vl1->type != vl2->type) PromoteProperty(kl1, vl2);
if (vl1->type != vl2->type) PromoteProperty(kl2, vl1);
if (do_print && (vl1->type != vl2->type)) {
if (mismatches == 0)
Fprintf(stdout, "%s vs. %s:\n",
@@ -3752,8 +3754,9 @@ int PropertyMatch(struct objlist *ob1, struct objlist *ob2, int do_print)
}
Fprintf(stdout, " (property type mismatch)\n");
}
if (vl1->type != vl2->type) mismatches++;
mismatches++;
}
else switch (kl1->type) {
case PROP_DOUBLE:
case PROP_VALUE: