Corrected another error in the serial combination in which the

attempt to resolve values by combining over serial chains was
attempting to access a property "S" in the component's master
record, which generally won't exist unless it has been explicitly
set in the netlist (which is unlikely since "S" is not a standard
SPICE/CDL parameter like "M").
This commit is contained in:
Tim Edwards 2017-10-12 10:51:13 -04:00
parent e15620257c
commit 95bce5dbd6
1 changed files with 8 additions and 6 deletions

View File

@ -3780,12 +3780,14 @@ void serial_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run)
if (vl->key == NULL) continue; if (vl->key == NULL) continue;
if (!strcmp(vl->key, "S")) if (!strcmp(vl->key, "S"))
sval = vl->value.ival; sval = vl->value.ival;
kl = (struct property *)HashLookup(vl->key, &(tp1->propdict)); else {
if (kl->merge == MERGE_SER_CRIT) kl = (struct property *)HashLookup(vl->key, &(tp1->propdict));
if (vl->type == PROP_INTEGER) if (kl && (kl->merge == MERGE_SER_CRIT))
cval = (double)vl->value.ival; if (vl->type == PROP_INTEGER)
else cval = (double)vl->value.ival;
cval = vl->value.dval; else
cval = vl->value.dval;
}
} }
proplist[i].value = (double)sval * cval; proplist[i].value = (double)sval * cval;
proplist[i].idx = i; proplist[i].idx = i;