Browse Source
src/spicelib/devices/*/*set.c, XXXunsetup(), reset local node variables unconditionally
src/spicelib/devices/*/*set.c, XXXunsetup(), reset local node variables unconditionally
and use a more robust test for local node numbers.
That is, transform this pattern :
if (here->Node && ...) {
CKTdltNNum(ckt, here->Node);
here->Node = 0;
}
into this :
if (here->Node > 0 && ...)
CKTdltNNum(ckt, here->Node);
here->Node = 0;
The change of "!= 0" ==> "> 0" accounts for rare cases where "Node"
might have been set to -1, (meaning "unconnected")
The unconditional execution of the zero assignment is for those cases
where "Node" might have been assigned to some external or other local Node.
If so, the variable would not be set to zero, confusing the "guarding" if's
in the corresponding XXXsetup() routine.
The Pattern to follow is:
1) unset and delete *all* local Nodes in XXXunsetup()
2) allocate all of them again in a re-invocation of XXXsetup(),
exactly the same way as in the very first invocation.
pre-master-46
38 changed files with 779 additions and 1078 deletions
-
6src/spicelib/devices/asrc/asrcset.c
-
24src/spicelib/devices/bjt/bjtsetup.c
-
13src/spicelib/devices/bsim1/b1set.c
-
13src/spicelib/devices/bsim2/b2set.c
-
20src/spicelib/devices/bsim3/b3set.c
-
328src/spicelib/devices/bsim3soi_dd/b3soiddset.c
-
328src/spicelib/devices/bsim3soi_fd/b3soifdset.c
-
160src/spicelib/devices/bsim3soi_pd/b3soipdset.c
-
20src/spicelib/devices/bsim3v0/b3v0set.c
-
20src/spicelib/devices/bsim3v1/b3v1set.c
-
20src/spicelib/devices/bsim3v32/b3v32set.c
-
55src/spicelib/devices/bsim4/b4set.c
-
55src/spicelib/devices/bsim4v5/b4v5set.c
-
55src/spicelib/devices/bsim4v6/b4v6set.c
-
56src/spicelib/devices/bsim4v7/b4v7set.c
-
186src/spicelib/devices/bsimsoi/b4soiset.c
-
6src/spicelib/devices/dio/diosetup.c
-
33src/spicelib/devices/hfet1/hfetsetup.c
-
13src/spicelib/devices/hfet2/hfet2setup.c
-
41src/spicelib/devices/hisim2/hsm2set.c
-
60src/spicelib/devices/hisimhv1/hsmhvset.c
-
60src/spicelib/devices/hisimhv2/hsmhv2set.c
-
5src/spicelib/devices/ind/indsetup.c
-
13src/spicelib/devices/jfet/jfetset.c
-
13src/spicelib/devices/jfet2/jfet2set.c
-
11src/spicelib/devices/ltra/ltraset.c
-
13src/spicelib/devices/mes/messetup.c
-
35src/spicelib/devices/mesa/mesasetup.c
-
13src/spicelib/devices/mos1/mos1set.c
-
13src/spicelib/devices/mos2/mos2set.c
-
13src/spicelib/devices/mos3/mos3set.c
-
13src/spicelib/devices/mos6/mos6set.c
-
13src/spicelib/devices/mos9/mos9set.c
-
49src/spicelib/devices/soi3/soi3set.c
-
23src/spicelib/devices/tra/trasetup.c
-
48src/spicelib/devices/vbic/vbicsetup.c
-
5src/spicelib/devices/vcvs/vcvsset.c
-
5src/spicelib/devices/vsrc/vsrcset.c
Write
Preview
Loading…
Cancel
Save
Reference in new issue