Bug report due to Hartmut Henkel in
>> [Ngspice-users] Noise analysis depends on ac parameter
The noise analysis internally depends on an ac analysis
to derive "inoise" from "onoise"
("onoise" is multiplied with the inverse ac gain from input to output)
This AC analysis used all the given ac magnitudes for all vsrc/isrc
devices in the deck.
This fix overrides all ac magnitudes with zero,
except for the given input device,
whose magnitude is set to one.
reported by Siddhant Saraf in
> [ngspice:discussion] "out of memory" error : simulating a 2bit AND gate"
This comes in two flavours,
1) an empty circuit
2) a xspice circuit with exclusively xspice event nodes
the original CKTfndDev() was able to limit its search
for an instance with given name
to instances of a certain "type"
(this was a speed optimisation which is of no use anymore,
because we use a hashtable now)
the new CKTfndDev() does not consider "type"
thus, here in tfanal.c and noisean.c we have to check the "type"
after CKTfndDev() since we no longer can limit its search
to the given "type"
inpcom.c: fcns inp_fix_temper_in_param(), inp_new_func(), inp_rem_func()
to convert .param with 'temper' to .func, and replace all affected
parameter tokens xxx by their func counterpart xxx()
inpcom.c; fcns inp_temper_compat(), inp_modify_exp() added
to prepare expression with 'temper' for numparam
inp.c: fcns inp_parse_temper(), inp_parse_temper_trees() added
inp_evaluate_temper()
to prepare, parse and evaluate the expressions containing 'temper'
cktdefs.h: add global variable to expressions with 'temper'
dctrcurv.c: add fcn inp_evaluate_temper()
when temp has changed
for all invocations of CKTmodCrt() alias newModel()
the following is true
(modfast != NULL) && (*modfast == NULL)
see
(grep "git --no-pager grep -nH -e 'CKTmodCrt\\|newModel'")