diff --git a/src/spicelib/devices/asrc/asrcset.c b/src/spicelib/devices/asrc/asrcset.c index 47e73b187..89d30a9bd 100644 --- a/src/spicelib/devices/asrc/asrcset.c +++ b/src/spicelib/devices/asrc/asrcset.c @@ -128,10 +128,10 @@ ASRCunsetup(GENmodel *inModel, CKTcircuit *ckt) for (; model; model = model->ASRCnextModel) for (here = model->ASRCinstances; here; here = here->ASRCnextInstance) { - if (here->ASRCbranch) { + if (here->ASRCbranch > 0) CKTdltNNum(ckt, here->ASRCbranch); - here->ASRCbranch = 0; - } + here->ASRCbranch = 0; + FREE(here->ASRCposPtr); FREE(here->ASRCvars); FREE(here->ASRCacValues); diff --git a/src/spicelib/devices/bjt/bjtsetup.c b/src/spicelib/devices/bjt/bjtsetup.c index 01f8032a7..239914838 100644 --- a/src/spicelib/devices/bjt/bjtsetup.c +++ b/src/spicelib/devices/bjt/bjtsetup.c @@ -481,24 +481,20 @@ BJTunsetup( for (here = model->BJTinstances; here != NULL; here=here->BJTnextInstance) { - if (here->BJTemitPrimeNode + if (here->BJTemitPrimeNode > 0 && here->BJTemitPrimeNode != here->BJTemitNode) - { - CKTdltNNum(ckt, here->BJTemitPrimeNode); - here->BJTemitPrimeNode = 0; - } - if (here->BJTbasePrimeNode + CKTdltNNum(ckt, here->BJTemitPrimeNode); + here->BJTemitPrimeNode = 0; + + if (here->BJTbasePrimeNode > 0 && here->BJTbasePrimeNode != here->BJTbaseNode) - { - CKTdltNNum(ckt, here->BJTbasePrimeNode); - here->BJTbasePrimeNode = 0; - } - if (here->BJTcolPrimeNode + CKTdltNNum(ckt, here->BJTbasePrimeNode); + here->BJTbasePrimeNode = 0; + + if (here->BJTcolPrimeNode > 0 && here->BJTcolPrimeNode != here->BJTcolNode) - { CKTdltNNum(ckt, here->BJTcolPrimeNode); - here->BJTcolPrimeNode = 0; - } + here->BJTcolPrimeNode = 0; } } return OK; diff --git a/src/spicelib/devices/bsim1/b1set.c b/src/spicelib/devices/bsim1/b1set.c index 03e9085cf..58d1f2e41 100644 --- a/src/spicelib/devices/bsim1/b1set.c +++ b/src/spicelib/devices/bsim1/b1set.c @@ -412,18 +412,15 @@ B1unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->B1instances; here != NULL; here=here->B1nextInstance) { - if (here->B1sNodePrime + if (here->B1sNodePrime > 0 && here->B1sNodePrime != here->B1sNode) - { CKTdltNNum(ckt, here->B1sNodePrime); - here->B1sNodePrime = 0; - } - if (here->B1dNodePrime + here->B1sNodePrime = 0; + + if (here->B1dNodePrime > 0 && here->B1dNodePrime != here->B1dNode) - { CKTdltNNum(ckt, here->B1dNodePrime); - here->B1dNodePrime = 0; - } + here->B1dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim2/b2set.c b/src/spicelib/devices/bsim2/b2set.c index 64f28b778..9f3895234 100644 --- a/src/spicelib/devices/bsim2/b2set.c +++ b/src/spicelib/devices/bsim2/b2set.c @@ -581,18 +581,15 @@ B2unsetup( for (here = model->B2instances; here != NULL; here=here->B2nextInstance) { - if (here->B2sNodePrime + if (here->B2sNodePrime > 0 && here->B2sNodePrime != here->B2sNode) - { CKTdltNNum(ckt, here->B2sNodePrime); - here->B2sNodePrime = 0; - } - if (here->B2dNodePrime + here->B2sNodePrime = 0; + + if (here->B2dNodePrime > 0 && here->B2dNodePrime != here->B2dNode) - { CKTdltNNum(ckt, here->B2dNodePrime); - here->B2dNodePrime = 0; - } + here->B2dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3/b3set.c b/src/spicelib/devices/bsim3/b3set.c index a4fbd8587..2b104bb59 100644 --- a/src/spicelib/devices/bsim3/b3set.c +++ b/src/spicelib/devices/bsim3/b3set.c @@ -1144,23 +1144,19 @@ BSIM3unsetup( for (here = model->BSIM3instances; here != NULL; here=here->BSIM3nextInstance) { - if (here->BSIM3qNode) - { + if (here->BSIM3qNode > 0) CKTdltNNum(ckt, here->BSIM3qNode); - here->BSIM3qNode = 0; - } - if (here->BSIM3sNodePrime + here->BSIM3qNode = 0; + + if (here->BSIM3sNodePrime > 0 && here->BSIM3sNodePrime != here->BSIM3sNode) - { CKTdltNNum(ckt, here->BSIM3sNodePrime); - here->BSIM3sNodePrime = 0; - } - if (here->BSIM3dNodePrime + here->BSIM3sNodePrime = 0; + + if (here->BSIM3dNodePrime > 0 && here->BSIM3dNodePrime != here->BSIM3dNode) - { CKTdltNNum(ckt, here->BSIM3dNodePrime); - here->BSIM3dNodePrime = 0; - } + here->BSIM3dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3soi_dd/b3soiddset.c b/src/spicelib/devices/bsim3soi_dd/b3soiddset.c index c20c0ada8..906c9d6c0 100644 --- a/src/spicelib/devices/bsim3soi_dd/b3soiddset.c +++ b/src/spicelib/devices/bsim3soi_dd/b3soiddset.c @@ -1363,251 +1363,203 @@ B3SOIDDunsetup(GENmodel *inModel, CKTcircuit *ckt) here=here->B3SOIDDnextInstance) { /* here for debugging purpose only */ - if (here->B3SOIDDdum5Node) - { + if (here->B3SOIDDdum5Node > 0) CKTdltNNum(ckt, here->B3SOIDDdum5Node); - here->B3SOIDDdum5Node = 0; - } - if (here->B3SOIDDdum4Node) - { + here->B3SOIDDdum5Node = 0; + + if (here->B3SOIDDdum4Node > 0) CKTdltNNum(ckt, here->B3SOIDDdum4Node); - here->B3SOIDDdum4Node = 0; - } - if (here->B3SOIDDdum3Node) - { + here->B3SOIDDdum4Node = 0; + + if (here->B3SOIDDdum3Node > 0) CKTdltNNum(ckt, here->B3SOIDDdum3Node); - here->B3SOIDDdum3Node = 0; - } - if (here->B3SOIDDdum2Node) - { + here->B3SOIDDdum3Node = 0; + + if (here->B3SOIDDdum2Node > 0) CKTdltNNum(ckt, here->B3SOIDDdum2Node); - here->B3SOIDDdum2Node = 0; - } - if (here->B3SOIDDdum1Node) - { + here->B3SOIDDdum2Node = 0; + + if (here->B3SOIDDdum1Node > 0) CKTdltNNum(ckt, here->B3SOIDDdum1Node); - here->B3SOIDDdum1Node = 0; - } - if (here->B3SOIDDcbeNode) - { + here->B3SOIDDdum1Node = 0; + + if (here->B3SOIDDcbeNode > 0) CKTdltNNum(ckt, here->B3SOIDDcbeNode); - here->B3SOIDDcbeNode = 0; - } - if (here->B3SOIDDvcscvNode) - { + here->B3SOIDDcbeNode = 0; + + if (here->B3SOIDDvcscvNode > 0) CKTdltNNum(ckt, here->B3SOIDDvcscvNode); - here->B3SOIDDvcscvNode = 0; - } - if (here->B3SOIDDvdscvNode) - { + here->B3SOIDDvcscvNode = 0; + + if (here->B3SOIDDvdscvNode > 0) CKTdltNNum(ckt, here->B3SOIDDvdscvNode); - here->B3SOIDDvdscvNode = 0; - } - if (here->B3SOIDDqgNode) - { + here->B3SOIDDvdscvNode = 0; + + if (here->B3SOIDDqgNode > 0) CKTdltNNum(ckt, here->B3SOIDDqgNode); - here->B3SOIDDqgNode = 0; - } - if (here->B3SOIDDqdNode) - { + here->B3SOIDDqgNode = 0; + + if (here->B3SOIDDqdNode > 0) CKTdltNNum(ckt, here->B3SOIDDqdNode); - here->B3SOIDDqdNode = 0; - } - if (here->B3SOIDDqeNode) - { + here->B3SOIDDqdNode = 0; + + if (here->B3SOIDDqeNode > 0) CKTdltNNum(ckt, here->B3SOIDDqeNode); - here->B3SOIDDqeNode = 0; - } - if (here->B3SOIDDqsubs2Node) - { + here->B3SOIDDqeNode = 0; + + if (here->B3SOIDDqsubs2Node > 0) CKTdltNNum(ckt, here->B3SOIDDqsubs2Node); - here->B3SOIDDqsubs2Node = 0; - } - if (here->B3SOIDDqsubs1Node) - { + here->B3SOIDDqsubs2Node = 0; + + if (here->B3SOIDDqsubs1Node > 0) CKTdltNNum(ckt, here->B3SOIDDqsubs1Node); - here->B3SOIDDqsubs1Node = 0; - } - if (here->B3SOIDDqsub0Node) - { + here->B3SOIDDqsubs1Node = 0; + + if (here->B3SOIDDqsub0Node > 0) CKTdltNNum(ckt, here->B3SOIDDqsub0Node); - here->B3SOIDDqsub0Node = 0; - } - if (here->B3SOIDDqaccNode) - { + here->B3SOIDDqsub0Node = 0; + + if (here->B3SOIDDqaccNode > 0) CKTdltNNum(ckt, here->B3SOIDDqaccNode); - here->B3SOIDDqaccNode = 0; - } - if (here->B3SOIDDxcsatNode) - { + here->B3SOIDDqaccNode = 0; + + if (here->B3SOIDDxcsatNode > 0) CKTdltNNum(ckt, here->B3SOIDDxcsatNode); - here->B3SOIDDxcsatNode = 0; - } - if (here->B3SOIDDvgsteffNode) - { + here->B3SOIDDxcsatNode = 0; + + if (here->B3SOIDDvgsteffNode > 0) CKTdltNNum(ckt, here->B3SOIDDvgsteffNode); - here->B3SOIDDvgsteffNode = 0; - } - if (here->B3SOIDDvthNode) - { + here->B3SOIDDvgsteffNode = 0; + + if (here->B3SOIDDvthNode > 0) CKTdltNNum(ckt, here->B3SOIDDvthNode); - here->B3SOIDDvthNode = 0; - } - if (here->B3SOIDDvbs0teffNode) - { + here->B3SOIDDvthNode = 0; + + if (here->B3SOIDDvbs0teffNode > 0) CKTdltNNum(ckt, here->B3SOIDDvbs0teffNode); - here->B3SOIDDvbs0teffNode = 0; - } - if (here->B3SOIDDgmeNode) - { + here->B3SOIDDvbs0teffNode = 0; + + if (here->B3SOIDDgmeNode > 0) CKTdltNNum(ckt, here->B3SOIDDgmeNode); - here->B3SOIDDgmeNode = 0; - } - if (here->B3SOIDDgdsNode) - { + here->B3SOIDDgmeNode = 0; + + if (here->B3SOIDDgdsNode > 0) CKTdltNNum(ckt, here->B3SOIDDgdsNode); - here->B3SOIDDgdsNode = 0; - } - if (here->B3SOIDDgmbsNode) - { + here->B3SOIDDgdsNode = 0; + + if (here->B3SOIDDgmbsNode > 0) CKTdltNNum(ckt, here->B3SOIDDgmbsNode); - here->B3SOIDDgmbsNode = 0; - } - if (here->B3SOIDDgmNode) - { + here->B3SOIDDgmbsNode = 0; + + if (here->B3SOIDDgmNode > 0) CKTdltNNum(ckt, here->B3SOIDDgmNode); - here->B3SOIDDgmNode = 0; - } - if (here->B3SOIDDqjdNode) - { + here->B3SOIDDgmNode = 0; + + if (here->B3SOIDDqjdNode > 0) CKTdltNNum(ckt, here->B3SOIDDqjdNode); - here->B3SOIDDqjdNode = 0; - } - if (here->B3SOIDDqjsNode) - { + here->B3SOIDDqjdNode = 0; + + if (here->B3SOIDDqjsNode > 0) CKTdltNNum(ckt, here->B3SOIDDqjsNode); - here->B3SOIDDqjsNode = 0; - } - if (here->B3SOIDDqbfNode) - { + here->B3SOIDDqjsNode = 0; + + if (here->B3SOIDDqbfNode > 0) CKTdltNNum(ckt, here->B3SOIDDqbfNode); - here->B3SOIDDqbfNode = 0; - } - if (here->B3SOIDDqbNode) - { + here->B3SOIDDqbfNode = 0; + + if (here->B3SOIDDqbNode > 0) CKTdltNNum(ckt, here->B3SOIDDqbNode); - here->B3SOIDDqbNode = 0; - } - if (here->B3SOIDDcbgNode) - { + here->B3SOIDDqbNode = 0; + + if (here->B3SOIDDcbgNode > 0) CKTdltNNum(ckt, here->B3SOIDDcbgNode); - here->B3SOIDDcbgNode = 0; - } - if (here->B3SOIDDcbdNode) - { + here->B3SOIDDcbgNode = 0; + + if (here->B3SOIDDcbdNode > 0) CKTdltNNum(ckt, here->B3SOIDDcbdNode); - here->B3SOIDDcbdNode = 0; - } - if (here->B3SOIDDcbbNode) - { + here->B3SOIDDcbdNode = 0; + + if (here->B3SOIDDcbbNode > 0) CKTdltNNum(ckt, here->B3SOIDDcbbNode); - here->B3SOIDDcbbNode = 0; - } - if (here->B3SOIDDxcNode) - { + here->B3SOIDDcbbNode = 0; + + if (here->B3SOIDDxcNode > 0) CKTdltNNum(ckt, here->B3SOIDDxcNode); - here->B3SOIDDxcNode = 0; - } - if (here->B3SOIDDvbseffNode) - { + here->B3SOIDDxcNode = 0; + + if (here->B3SOIDDvbseffNode > 0) CKTdltNNum(ckt, here->B3SOIDDvbseffNode); - here->B3SOIDDvbseffNode = 0; - } - if (here->B3SOIDDvbs0effNode) - { + here->B3SOIDDvbseffNode = 0; + + if (here->B3SOIDDvbs0effNode > 0) CKTdltNNum(ckt, here->B3SOIDDvbs0effNode); - here->B3SOIDDvbs0effNode = 0; - } - if (here->B3SOIDDabeffNode) - { + here->B3SOIDDvbs0effNode = 0; + + if (here->B3SOIDDabeffNode > 0) CKTdltNNum(ckt, here->B3SOIDDabeffNode); - here->B3SOIDDabeffNode = 0; - } - if (here->B3SOIDDibpNode) - { + here->B3SOIDDabeffNode = 0; + + if (here->B3SOIDDibpNode > 0) CKTdltNNum(ckt, here->B3SOIDDibpNode); - here->B3SOIDDibpNode = 0; - } - if (here->B3SOIDDitunNode) - { + here->B3SOIDDibpNode = 0; + + if (here->B3SOIDDitunNode > 0) CKTdltNNum(ckt, here->B3SOIDDitunNode); - here->B3SOIDDitunNode = 0; - } - if (here->B3SOIDDigidlNode) - { + here->B3SOIDDitunNode = 0; + + if (here->B3SOIDDigidlNode > 0) CKTdltNNum(ckt, here->B3SOIDDigidlNode); - here->B3SOIDDigidlNode = 0; - } - if (here->B3SOIDDiiiNode) - { + here->B3SOIDDigidlNode = 0; + + if (here->B3SOIDDiiiNode > 0) CKTdltNNum(ckt, here->B3SOIDDiiiNode); - here->B3SOIDDiiiNode = 0; - } - if (here->B3SOIDDibdNode) - { + here->B3SOIDDiiiNode = 0; + + if (here->B3SOIDDibdNode > 0) CKTdltNNum(ckt, here->B3SOIDDibdNode); - here->B3SOIDDibdNode = 0; - } - if (here->B3SOIDDibsNode) - { + here->B3SOIDDibdNode = 0; + + if (here->B3SOIDDibsNode > 0) CKTdltNNum(ckt, here->B3SOIDDibsNode); - here->B3SOIDDibsNode = 0; - } - if (here->B3SOIDDicNode) - { + here->B3SOIDDibsNode = 0; + + if (here->B3SOIDDicNode > 0) CKTdltNNum(ckt, here->B3SOIDDicNode); - here->B3SOIDDicNode = 0; - } - if (here->B3SOIDDidsNode) - { + here->B3SOIDDicNode = 0; + + if (here->B3SOIDDidsNode > 0) CKTdltNNum(ckt, here->B3SOIDDidsNode); - here->B3SOIDDidsNode = 0; - } - if (here->B3SOIDDvbsNode) - { + here->B3SOIDDidsNode = 0; + + if (here->B3SOIDDvbsNode > 0) CKTdltNNum(ckt, here->B3SOIDDvbsNode); - here->B3SOIDDvbsNode = 0; - } + here->B3SOIDDvbsNode = 0; + - if (here->B3SOIDDtempNode && + if (here->B3SOIDDtempNode > 0 && here->B3SOIDDtempNode != here->B3SOIDDtempNodeExt && here->B3SOIDDtempNode != here->B3SOIDDbNodeExt && here->B3SOIDDtempNode != here->B3SOIDDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIDDtempNode); - here->B3SOIDDtempNode = 0; - } - if (here->B3SOIDDbNode && + here->B3SOIDDtempNode = 0; + + if (here->B3SOIDDbNode > 0 && here->B3SOIDDbNode != here->B3SOIDDbNodeExt && here->B3SOIDDbNode != here->B3SOIDDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIDDbNode); - here->B3SOIDDbNode = 0; - } + here->B3SOIDDbNode = 0; + here->B3SOIDDpNode = 0; - if (here->B3SOIDDsNodePrime + if (here->B3SOIDDsNodePrime > 0 && here->B3SOIDDsNodePrime != here->B3SOIDDsNode) - { CKTdltNNum(ckt, here->B3SOIDDsNodePrime); - here->B3SOIDDsNodePrime = 0; - } - if (here->B3SOIDDdNodePrime + here->B3SOIDDsNodePrime = 0; + + if (here->B3SOIDDdNodePrime > 0 && here->B3SOIDDdNodePrime != here->B3SOIDDdNode) - { CKTdltNNum(ckt, here->B3SOIDDdNodePrime); - here->B3SOIDDdNodePrime = 0; - } + here->B3SOIDDdNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3soi_fd/b3soifdset.c b/src/spicelib/devices/bsim3soi_fd/b3soifdset.c index 12980107f..c29bbaa26 100644 --- a/src/spicelib/devices/bsim3soi_fd/b3soifdset.c +++ b/src/spicelib/devices/bsim3soi_fd/b3soifdset.c @@ -1352,251 +1352,203 @@ B3SOIFDunsetup(GENmodel *inModel, CKTcircuit *ckt) here=here->B3SOIFDnextInstance) { /* here for debugging purpose only */ - if (here->B3SOIFDdum5Node) - { + if (here->B3SOIFDdum5Node > 0) CKTdltNNum(ckt, here->B3SOIFDdum5Node); - here->B3SOIFDdum5Node = 0; - } - if (here->B3SOIFDdum4Node) - { + here->B3SOIFDdum5Node = 0; + + if (here->B3SOIFDdum4Node > 0) CKTdltNNum(ckt, here->B3SOIFDdum4Node); - here->B3SOIFDdum4Node = 0; - } - if (here->B3SOIFDdum3Node) - { + here->B3SOIFDdum4Node = 0; + + if (here->B3SOIFDdum3Node > 0) CKTdltNNum(ckt, here->B3SOIFDdum3Node); - here->B3SOIFDdum3Node = 0; - } - if (here->B3SOIFDdum2Node) - { + here->B3SOIFDdum3Node = 0; + + if (here->B3SOIFDdum2Node > 0) CKTdltNNum(ckt, here->B3SOIFDdum2Node); - here->B3SOIFDdum2Node = 0; - } - if (here->B3SOIFDdum1Node) - { + here->B3SOIFDdum2Node = 0; + + if (here->B3SOIFDdum1Node > 0) CKTdltNNum(ckt, here->B3SOIFDdum1Node); - here->B3SOIFDdum1Node = 0; - } - if (here->B3SOIFDcbeNode) - { + here->B3SOIFDdum1Node = 0; + + if (here->B3SOIFDcbeNode > 0) CKTdltNNum(ckt, here->B3SOIFDcbeNode); - here->B3SOIFDcbeNode = 0; - } - if (here->B3SOIFDvcscvNode) - { + here->B3SOIFDcbeNode = 0; + + if (here->B3SOIFDvcscvNode > 0) CKTdltNNum(ckt, here->B3SOIFDvcscvNode); - here->B3SOIFDvcscvNode = 0; - } - if (here->B3SOIFDvdscvNode) - { + here->B3SOIFDvcscvNode = 0; + + if (here->B3SOIFDvdscvNode > 0) CKTdltNNum(ckt, here->B3SOIFDvdscvNode); - here->B3SOIFDvdscvNode = 0; - } - if (here->B3SOIFDqgNode) - { + here->B3SOIFDvdscvNode = 0; + + if (here->B3SOIFDqgNode > 0) CKTdltNNum(ckt, here->B3SOIFDqgNode); - here->B3SOIFDqgNode = 0; - } - if (here->B3SOIFDqdNode) - { + here->B3SOIFDqgNode = 0; + + if (here->B3SOIFDqdNode > 0) CKTdltNNum(ckt, here->B3SOIFDqdNode); - here->B3SOIFDqdNode = 0; - } - if (here->B3SOIFDqeNode) - { + here->B3SOIFDqdNode = 0; + + if (here->B3SOIFDqeNode > 0) CKTdltNNum(ckt, here->B3SOIFDqeNode); - here->B3SOIFDqeNode = 0; - } - if (here->B3SOIFDqsubs2Node) - { + here->B3SOIFDqeNode = 0; + + if (here->B3SOIFDqsubs2Node > 0) CKTdltNNum(ckt, here->B3SOIFDqsubs2Node); - here->B3SOIFDqsubs2Node = 0; - } - if (here->B3SOIFDqsubs1Node) - { + here->B3SOIFDqsubs2Node = 0; + + if (here->B3SOIFDqsubs1Node > 0) CKTdltNNum(ckt, here->B3SOIFDqsubs1Node); - here->B3SOIFDqsubs1Node = 0; - } - if (here->B3SOIFDqsub0Node) - { + here->B3SOIFDqsubs1Node = 0; + + if (here->B3SOIFDqsub0Node > 0) CKTdltNNum(ckt, here->B3SOIFDqsub0Node); - here->B3SOIFDqsub0Node = 0; - } - if (here->B3SOIFDqaccNode) - { + here->B3SOIFDqsub0Node = 0; + + if (here->B3SOIFDqaccNode > 0) CKTdltNNum(ckt, here->B3SOIFDqaccNode); - here->B3SOIFDqaccNode = 0; - } - if (here->B3SOIFDxcsatNode) - { + here->B3SOIFDqaccNode = 0; + + if (here->B3SOIFDxcsatNode > 0) CKTdltNNum(ckt, here->B3SOIFDxcsatNode); - here->B3SOIFDxcsatNode = 0; - } - if (here->B3SOIFDvgsteffNode) - { + here->B3SOIFDxcsatNode = 0; + + if (here->B3SOIFDvgsteffNode > 0) CKTdltNNum(ckt, here->B3SOIFDvgsteffNode); - here->B3SOIFDvgsteffNode = 0; - } - if (here->B3SOIFDvthNode) - { + here->B3SOIFDvgsteffNode = 0; + + if (here->B3SOIFDvthNode > 0) CKTdltNNum(ckt, here->B3SOIFDvthNode); - here->B3SOIFDvthNode = 0; - } - if (here->B3SOIFDvbs0teffNode) - { + here->B3SOIFDvthNode = 0; + + if (here->B3SOIFDvbs0teffNode > 0) CKTdltNNum(ckt, here->B3SOIFDvbs0teffNode); - here->B3SOIFDvbs0teffNode = 0; - } - if (here->B3SOIFDgmeNode) - { + here->B3SOIFDvbs0teffNode = 0; + + if (here->B3SOIFDgmeNode > 0) CKTdltNNum(ckt, here->B3SOIFDgmeNode); - here->B3SOIFDgmeNode = 0; - } - if (here->B3SOIFDgdsNode) - { + here->B3SOIFDgmeNode = 0; + + if (here->B3SOIFDgdsNode > 0) CKTdltNNum(ckt, here->B3SOIFDgdsNode); - here->B3SOIFDgdsNode = 0; - } - if (here->B3SOIFDgmbsNode) - { + here->B3SOIFDgdsNode = 0; + + if (here->B3SOIFDgmbsNode > 0) CKTdltNNum(ckt, here->B3SOIFDgmbsNode); - here->B3SOIFDgmbsNode = 0; - } - if (here->B3SOIFDgmNode) - { + here->B3SOIFDgmbsNode = 0; + + if (here->B3SOIFDgmNode > 0) CKTdltNNum(ckt, here->B3SOIFDgmNode); - here->B3SOIFDgmNode = 0; - } - if (here->B3SOIFDqjdNode) - { + here->B3SOIFDgmNode = 0; + + if (here->B3SOIFDqjdNode > 0) CKTdltNNum(ckt, here->B3SOIFDqjdNode); - here->B3SOIFDqjdNode = 0; - } - if (here->B3SOIFDqjsNode) - { + here->B3SOIFDqjdNode = 0; + + if (here->B3SOIFDqjsNode > 0) CKTdltNNum(ckt, here->B3SOIFDqjsNode); - here->B3SOIFDqjsNode = 0; - } - if (here->B3SOIFDqbfNode) - { + here->B3SOIFDqjsNode = 0; + + if (here->B3SOIFDqbfNode > 0) CKTdltNNum(ckt, here->B3SOIFDqbfNode); - here->B3SOIFDqbfNode = 0; - } - if (here->B3SOIFDqbNode) - { + here->B3SOIFDqbfNode = 0; + + if (here->B3SOIFDqbNode > 0) CKTdltNNum(ckt, here->B3SOIFDqbNode); - here->B3SOIFDqbNode = 0; - } - if (here->B3SOIFDcbgNode) - { + here->B3SOIFDqbNode = 0; + + if (here->B3SOIFDcbgNode > 0) CKTdltNNum(ckt, here->B3SOIFDcbgNode); - here->B3SOIFDcbgNode = 0; - } - if (here->B3SOIFDcbdNode) - { + here->B3SOIFDcbgNode = 0; + + if (here->B3SOIFDcbdNode > 0) CKTdltNNum(ckt, here->B3SOIFDcbdNode); - here->B3SOIFDcbdNode = 0; - } - if (here->B3SOIFDcbbNode) - { + here->B3SOIFDcbdNode = 0; + + if (here->B3SOIFDcbbNode > 0) CKTdltNNum(ckt, here->B3SOIFDcbbNode); - here->B3SOIFDcbbNode = 0; - } - if (here->B3SOIFDxcNode) - { + here->B3SOIFDcbbNode = 0; + + if (here->B3SOIFDxcNode > 0) CKTdltNNum(ckt, here->B3SOIFDxcNode); - here->B3SOIFDxcNode = 0; - } - if (here->B3SOIFDvbseffNode) - { + here->B3SOIFDxcNode = 0; + + if (here->B3SOIFDvbseffNode > 0) CKTdltNNum(ckt, here->B3SOIFDvbseffNode); - here->B3SOIFDvbseffNode = 0; - } - if (here->B3SOIFDvbs0effNode) - { + here->B3SOIFDvbseffNode = 0; + + if (here->B3SOIFDvbs0effNode > 0) CKTdltNNum(ckt, here->B3SOIFDvbs0effNode); - here->B3SOIFDvbs0effNode = 0; - } - if (here->B3SOIFDabeffNode) - { + here->B3SOIFDvbs0effNode = 0; + + if (here->B3SOIFDabeffNode > 0) CKTdltNNum(ckt, here->B3SOIFDabeffNode); - here->B3SOIFDabeffNode = 0; - } - if (here->B3SOIFDibpNode) - { + here->B3SOIFDabeffNode = 0; + + if (here->B3SOIFDibpNode > 0) CKTdltNNum(ckt, here->B3SOIFDibpNode); - here->B3SOIFDibpNode = 0; - } - if (here->B3SOIFDitunNode) - { + here->B3SOIFDibpNode = 0; + + if (here->B3SOIFDitunNode > 0) CKTdltNNum(ckt, here->B3SOIFDitunNode); - here->B3SOIFDitunNode = 0; - } - if (here->B3SOIFDigidlNode) - { + here->B3SOIFDitunNode = 0; + + if (here->B3SOIFDigidlNode > 0) CKTdltNNum(ckt, here->B3SOIFDigidlNode); - here->B3SOIFDigidlNode = 0; - } - if (here->B3SOIFDiiiNode) - { + here->B3SOIFDigidlNode = 0; + + if (here->B3SOIFDiiiNode > 0) CKTdltNNum(ckt, here->B3SOIFDiiiNode); - here->B3SOIFDiiiNode = 0; - } - if (here->B3SOIFDibdNode) - { + here->B3SOIFDiiiNode = 0; + + if (here->B3SOIFDibdNode > 0) CKTdltNNum(ckt, here->B3SOIFDibdNode); - here->B3SOIFDibdNode = 0; - } - if (here->B3SOIFDibsNode) - { + here->B3SOIFDibdNode = 0; + + if (here->B3SOIFDibsNode > 0) CKTdltNNum(ckt, here->B3SOIFDibsNode); - here->B3SOIFDibsNode = 0; - } - if (here->B3SOIFDicNode) - { + here->B3SOIFDibsNode = 0; + + if (here->B3SOIFDicNode > 0) CKTdltNNum(ckt, here->B3SOIFDicNode); - here->B3SOIFDicNode = 0; - } - if (here->B3SOIFDidsNode) - { + here->B3SOIFDicNode = 0; + + if (here->B3SOIFDidsNode > 0) CKTdltNNum(ckt, here->B3SOIFDidsNode); - here->B3SOIFDidsNode = 0; - } - if (here->B3SOIFDvbsNode) - { + here->B3SOIFDidsNode = 0; + + if (here->B3SOIFDvbsNode > 0) CKTdltNNum(ckt, here->B3SOIFDvbsNode); - here->B3SOIFDvbsNode = 0; - } + here->B3SOIFDvbsNode = 0; + - if (here->B3SOIFDtempNode && + if (here->B3SOIFDtempNode > 0 && here->B3SOIFDtempNode != here->B3SOIFDtempNodeExt && here->B3SOIFDtempNode != here->B3SOIFDbNodeExt && here->B3SOIFDtempNode != here->B3SOIFDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIFDtempNode); - here->B3SOIFDtempNode = 0; - } - if (here->B3SOIFDbNode && + here->B3SOIFDtempNode = 0; + + if (here->B3SOIFDbNode > 0 && here->B3SOIFDbNode != here->B3SOIFDbNodeExt && here->B3SOIFDbNode != here->B3SOIFDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIFDbNode); - here->B3SOIFDbNode = 0; - } + here->B3SOIFDbNode = 0; + here->B3SOIFDpNode = 0; - if (here->B3SOIFDsNodePrime + if (here->B3SOIFDsNodePrime > 0 && here->B3SOIFDsNodePrime != here->B3SOIFDsNode) - { CKTdltNNum(ckt, here->B3SOIFDsNodePrime); - here->B3SOIFDsNodePrime = 0; - } - if (here->B3SOIFDdNodePrime + here->B3SOIFDsNodePrime = 0; + + if (here->B3SOIFDdNodePrime > 0 && here->B3SOIFDdNodePrime != here->B3SOIFDdNode) - { CKTdltNNum(ckt, here->B3SOIFDdNodePrime); - here->B3SOIFDdNodePrime = 0; - } + here->B3SOIFDdNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3soi_pd/b3soipdset.c b/src/spicelib/devices/bsim3soi_pd/b3soipdset.c index 681102226..9f9af542f 100644 --- a/src/spicelib/devices/bsim3soi_pd/b3soipdset.c +++ b/src/spicelib/devices/bsim3soi_pd/b3soipdset.c @@ -1467,131 +1467,107 @@ B3SOIPDunsetup( here=here->B3SOIPDnextInstance) { /* here for debugging purpose only */ - if (here->B3SOIPDqjdNode) - { + if (here->B3SOIPDqjdNode > 0) CKTdltNNum(ckt, here->B3SOIPDqjdNode); - here->B3SOIPDqjdNode = 0; - } - if (here->B3SOIPDqjsNode) - { + here->B3SOIPDqjdNode = 0; + + if (here->B3SOIPDqjsNode > 0) CKTdltNNum(ckt, here->B3SOIPDqjsNode); - here->B3SOIPDqjsNode = 0; - } - if (here->B3SOIPDqbfNode) - { + here->B3SOIPDqjsNode = 0; + + if (here->B3SOIPDqbfNode > 0) CKTdltNNum(ckt, here->B3SOIPDqbfNode); - here->B3SOIPDqbfNode = 0; - } - if (here->B3SOIPDcbgNode) - { + here->B3SOIPDqbfNode = 0; + + if (here->B3SOIPDcbgNode > 0) CKTdltNNum(ckt, here->B3SOIPDcbgNode); - here->B3SOIPDcbgNode = 0; - } - if (here->B3SOIPDcbdNode) - { + here->B3SOIPDcbgNode = 0; + + if (here->B3SOIPDcbdNode > 0) CKTdltNNum(ckt, here->B3SOIPDcbdNode); - here->B3SOIPDcbdNode = 0; - } - if (here->B3SOIPDcbbNode) - { + here->B3SOIPDcbdNode = 0; + + if (here->B3SOIPDcbbNode > 0) CKTdltNNum(ckt, here->B3SOIPDcbbNode); - here->B3SOIPDcbbNode = 0; - } - if (here->B3SOIPDibpNode) - { + here->B3SOIPDcbbNode = 0; + + if (here->B3SOIPDibpNode > 0) CKTdltNNum(ckt, here->B3SOIPDibpNode); - here->B3SOIPDibpNode = 0; - } - if (here->B3SOIPDitunNode) - { + here->B3SOIPDibpNode = 0; + + if (here->B3SOIPDitunNode > 0) CKTdltNNum(ckt, here->B3SOIPDitunNode); - here->B3SOIPDitunNode = 0; - } - if (here->B3SOIPDigidlNode) - { + here->B3SOIPDitunNode = 0; + + if (here->B3SOIPDigidlNode > 0) CKTdltNNum(ckt, here->B3SOIPDigidlNode); - here->B3SOIPDigidlNode = 0; - } - if (here->B3SOIPDgigbNode) - { + here->B3SOIPDigidlNode = 0; + + if (here->B3SOIPDgigbNode > 0) CKTdltNNum(ckt, here->B3SOIPDgigbNode); - here->B3SOIPDgigbNode = 0; - } - if (here->B3SOIPDgigdNode) - { + here->B3SOIPDgigbNode = 0; + + if (here->B3SOIPDgigdNode > 0) CKTdltNNum(ckt, here->B3SOIPDgigdNode); - here->B3SOIPDgigdNode = 0; - } - if (here->B3SOIPDgiggNode) - { + here->B3SOIPDgigdNode = 0; + + if (here->B3SOIPDgiggNode > 0) CKTdltNNum(ckt, here->B3SOIPDgiggNode); - here->B3SOIPDgiggNode = 0; - } - if (here->B3SOIPDigNode) - { + here->B3SOIPDgiggNode = 0; + + if (here->B3SOIPDigNode > 0) CKTdltNNum(ckt, here->B3SOIPDigNode); - here->B3SOIPDigNode = 0; - } - if (here->B3SOIPDiiiNode) - { + here->B3SOIPDigNode = 0; + + if (here->B3SOIPDiiiNode > 0) CKTdltNNum(ckt, here->B3SOIPDiiiNode); - here->B3SOIPDiiiNode = 0; - } - if (here->B3SOIPDibdNode) - { + here->B3SOIPDiiiNode = 0; + + if (here->B3SOIPDibdNode > 0) CKTdltNNum(ckt, here->B3SOIPDibdNode); - here->B3SOIPDibdNode = 0; - } - if (here->B3SOIPDibsNode) - { + here->B3SOIPDibdNode = 0; + + if (here->B3SOIPDibsNode > 0) CKTdltNNum(ckt, here->B3SOIPDibsNode); - here->B3SOIPDibsNode = 0; - } - if (here->B3SOIPDicNode) - { + here->B3SOIPDibsNode = 0; + + if (here->B3SOIPDicNode > 0) CKTdltNNum(ckt, here->B3SOIPDicNode); - here->B3SOIPDicNode = 0; - } - if (here->B3SOIPDidsNode) - { + here->B3SOIPDicNode = 0; + + if (here->B3SOIPDidsNode > 0) CKTdltNNum(ckt, here->B3SOIPDidsNode); - here->B3SOIPDidsNode = 0; - } - if (here->B3SOIPDvbsNode) - { + here->B3SOIPDidsNode = 0; + + if (here->B3SOIPDvbsNode > 0) CKTdltNNum(ckt, here->B3SOIPDvbsNode); - here->B3SOIPDvbsNode = 0; - } + here->B3SOIPDvbsNode = 0; + - if (here->B3SOIPDtempNode && + if (here->B3SOIPDtempNode > 0 && here->B3SOIPDtempNode != here->B3SOIPDtempNodeExt && here->B3SOIPDtempNode != here->B3SOIPDbNodeExt && here->B3SOIPDtempNode != here->B3SOIPDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIPDtempNode); - here->B3SOIPDtempNode = 0; - } - if (here->B3SOIPDbNode && + here->B3SOIPDtempNode = 0; + + if (here->B3SOIPDbNode > 0 && here->B3SOIPDbNode != here->B3SOIPDbNodeExt && here->B3SOIPDbNode != here->B3SOIPDpNodeExt) - { CKTdltNNum(ckt, here->B3SOIPDbNode); - here->B3SOIPDbNode = 0; - } + here->B3SOIPDbNode = 0; + here->B3SOIPDpNode = 0; - if (here->B3SOIPDsNodePrime + if (here->B3SOIPDsNodePrime > 0 && here->B3SOIPDsNodePrime != here->B3SOIPDsNode) - { CKTdltNNum(ckt, here->B3SOIPDsNodePrime); - here->B3SOIPDsNodePrime = 0; - } - if (here->B3SOIPDdNodePrime + here->B3SOIPDsNodePrime = 0; + + if (here->B3SOIPDdNodePrime > 0 && here->B3SOIPDdNodePrime != here->B3SOIPDdNode) - { CKTdltNNum(ckt, here->B3SOIPDdNodePrime); - here->B3SOIPDdNodePrime = 0; - } + here->B3SOIPDdNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3v0/b3v0set.c b/src/spicelib/devices/bsim3v0/b3v0set.c index 45f6e0051..db9a3dc69 100644 --- a/src/spicelib/devices/bsim3v0/b3v0set.c +++ b/src/spicelib/devices/bsim3v0/b3v0set.c @@ -904,23 +904,19 @@ BSIM3v0unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->BSIM3v0instances; here != NULL; here=here->BSIM3v0nextInstance) { - if (here->BSIM3v0qNode) - { + if (here->BSIM3v0qNode > 0) CKTdltNNum(ckt, here->BSIM3v0qNode); - here->BSIM3v0qNode = 0; - } - if (here->BSIM3v0sNodePrime + here->BSIM3v0qNode = 0; + + if (here->BSIM3v0sNodePrime > 0 && here->BSIM3v0sNodePrime != here->BSIM3v0sNode) - { CKTdltNNum(ckt, here->BSIM3v0sNodePrime); - here->BSIM3v0sNodePrime = 0; - } - if (here->BSIM3v0dNodePrime + here->BSIM3v0sNodePrime = 0; + + if (here->BSIM3v0dNodePrime > 0 && here->BSIM3v0dNodePrime != here->BSIM3v0dNode) - { CKTdltNNum(ckt, here->BSIM3v0dNodePrime); - here->BSIM3v0dNodePrime = 0; - } + here->BSIM3v0dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3v1/b3v1set.c b/src/spicelib/devices/bsim3v1/b3v1set.c index a62924027..ea3c85be5 100644 --- a/src/spicelib/devices/bsim3v1/b3v1set.c +++ b/src/spicelib/devices/bsim3v1/b3v1set.c @@ -964,23 +964,19 @@ BSIM3v1unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->BSIM3v1instances; here != NULL; here=here->BSIM3v1nextInstance) { - if (here->BSIM3v1qNode) - { + if (here->BSIM3v1qNode > 0) CKTdltNNum(ckt, here->BSIM3v1qNode); - here->BSIM3v1qNode = 0; - } - if (here->BSIM3v1sNodePrime + here->BSIM3v1qNode = 0; + + if (here->BSIM3v1sNodePrime > 0 && here->BSIM3v1sNodePrime != here->BSIM3v1sNode) - { CKTdltNNum(ckt, here->BSIM3v1sNodePrime); - here->BSIM3v1sNodePrime = 0; - } - if (here->BSIM3v1dNodePrime + here->BSIM3v1sNodePrime = 0; + + if (here->BSIM3v1dNodePrime > 0 && here->BSIM3v1dNodePrime != here->BSIM3v1dNode) - { CKTdltNNum(ckt, here->BSIM3v1dNodePrime); - here->BSIM3v1dNodePrime = 0; - } + here->BSIM3v1dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim3v32/b3v32set.c b/src/spicelib/devices/bsim3v32/b3v32set.c index ca3353e40..9be77e723 100644 --- a/src/spicelib/devices/bsim3v32/b3v32set.c +++ b/src/spicelib/devices/bsim3v32/b3v32set.c @@ -1156,23 +1156,19 @@ BSIM3v32unsetup( for (here = model->BSIM3v32instances; here != NULL; here=here->BSIM3v32nextInstance) { - if (here->BSIM3v32qNode) - { + if (here->BSIM3v32qNode > 0) CKTdltNNum(ckt, here->BSIM3v32qNode); - here->BSIM3v32qNode = 0; - } - if (here->BSIM3v32sNodePrime + here->BSIM3v32qNode = 0; + + if (here->BSIM3v32sNodePrime > 0 && here->BSIM3v32sNodePrime != here->BSIM3v32sNode) - { CKTdltNNum(ckt, here->BSIM3v32sNodePrime); - here->BSIM3v32sNodePrime = 0; - } - if (here->BSIM3v32dNodePrime + here->BSIM3v32sNodePrime = 0; + + if (here->BSIM3v32dNodePrime > 0 && here->BSIM3v32dNodePrime != here->BSIM3v32dNode) - { CKTdltNNum(ckt, here->BSIM3v32dNodePrime); - here->BSIM3v32dNodePrime = 0; - } + here->BSIM3v32dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/bsim4/b4set.c b/src/spicelib/devices/bsim4/b4set.c index 5a6dc82b4..e23fbe341 100644 --- a/src/spicelib/devices/bsim4/b4set.c +++ b/src/spicelib/devices/bsim4/b4set.c @@ -2765,53 +2765,44 @@ CKTcircuit *ckt) for (here = model->BSIM4instances; here != NULL; here=here->BSIM4nextInstance) { - if (here->BSIM4qNode) - { + if (here->BSIM4qNode > 0) CKTdltNNum(ckt, here->BSIM4qNode); - here->BSIM4qNode = 0; - } - if (here->BSIM4sbNode && + here->BSIM4qNode = 0; + + if (here->BSIM4sbNode > 0 && here->BSIM4sbNode != here->BSIM4bNode) - { CKTdltNNum(ckt, here->BSIM4sbNode); - here->BSIM4sbNode = 0; - } - if (here->BSIM4bNodePrime && + here->BSIM4sbNode = 0; + + if (here->BSIM4bNodePrime > 0 && here->BSIM4bNodePrime != here->BSIM4bNode) - { CKTdltNNum(ckt, here->BSIM4bNodePrime); - here->BSIM4bNodePrime = 0; - } - if (here->BSIM4dbNode && + here->BSIM4bNodePrime = 0; + + if (here->BSIM4dbNode > 0 && here->BSIM4dbNode != here->BSIM4bNode) - { CKTdltNNum(ckt, here->BSIM4dbNode); - here->BSIM4dbNode = 0; - } - if (here->BSIM4gNodeMid && + here->BSIM4dbNode = 0; + + if (here->BSIM4gNodeMid > 0 && here->BSIM4gNodeMid != here->BSIM4gNodeExt) - { CKTdltNNum(ckt, here->BSIM4gNodeMid); - here->BSIM4gNodeMid = 0; - } - if (here->BSIM4gNodePrime && + here->BSIM4gNodeMid = 0; + + if (here->BSIM4gNodePrime > 0 && here->BSIM4gNodePrime != here->BSIM4gNodeExt) - { CKTdltNNum(ckt, here->BSIM4gNodePrime); - here->BSIM4gNodePrime = 0; - } - if (here->BSIM4sNodePrime + here->BSIM4gNodePrime = 0; + + if (here->BSIM4sNodePrime > 0 && here->BSIM4sNodePrime != here->BSIM4sNode) - { CKTdltNNum(ckt, here->BSIM4sNodePrime); - here->BSIM4sNodePrime = 0; - } - if (here->BSIM4dNodePrime + here->BSIM4sNodePrime = 0; + + if (here->BSIM4dNodePrime > 0 && here->BSIM4dNodePrime != here->BSIM4dNode) - { CKTdltNNum(ckt, here->BSIM4dNodePrime); - here->BSIM4dNodePrime = 0; - } + here->BSIM4dNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/bsim4v5/b4v5set.c b/src/spicelib/devices/bsim4v5/b4v5set.c index 0bbe859a7..47cc0ae50 100644 --- a/src/spicelib/devices/bsim4v5/b4v5set.c +++ b/src/spicelib/devices/bsim4v5/b4v5set.c @@ -2143,53 +2143,44 @@ BSIM4v5unsetup( for (here = model->BSIM4v5instances; here != NULL; here=here->BSIM4v5nextInstance) { - if (here->BSIM4v5qNode) - { + if (here->BSIM4v5qNode > 0) CKTdltNNum(ckt, here->BSIM4v5qNode); - here->BSIM4v5qNode = 0; - } - if (here->BSIM4v5sbNode && + here->BSIM4v5qNode = 0; + + if (here->BSIM4v5sbNode > 0 && here->BSIM4v5sbNode != here->BSIM4v5bNode) - { CKTdltNNum(ckt, here->BSIM4v5sbNode); - here->BSIM4v5sbNode = 0; - } - if (here->BSIM4v5bNodePrime && + here->BSIM4v5sbNode = 0; + + if (here->BSIM4v5bNodePrime > 0 && here->BSIM4v5bNodePrime != here->BSIM4v5bNode) - { CKTdltNNum(ckt, here->BSIM4v5bNodePrime); - here->BSIM4v5bNodePrime = 0; - } - if (here->BSIM4v5dbNode && + here->BSIM4v5bNodePrime = 0; + + if (here->BSIM4v5dbNode > 0 && here->BSIM4v5dbNode != here->BSIM4v5bNode) - { CKTdltNNum(ckt, here->BSIM4v5dbNode); - here->BSIM4v5dbNode = 0; - } - if (here->BSIM4v5gNodeMid && + here->BSIM4v5dbNode = 0; + + if (here->BSIM4v5gNodeMid > 0 && here->BSIM4v5gNodeMid != here->BSIM4v5gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v5gNodeMid); - here->BSIM4v5gNodeMid = 0; - } - if (here->BSIM4v5gNodePrime && + here->BSIM4v5gNodeMid = 0; + + if (here->BSIM4v5gNodePrime > 0 && here->BSIM4v5gNodePrime != here->BSIM4v5gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v5gNodePrime); - here->BSIM4v5gNodePrime = 0; - } - if (here->BSIM4v5sNodePrime + here->BSIM4v5gNodePrime = 0; + + if (here->BSIM4v5sNodePrime > 0 && here->BSIM4v5sNodePrime != here->BSIM4v5sNode) - { CKTdltNNum(ckt, here->BSIM4v5sNodePrime); - here->BSIM4v5sNodePrime = 0; - } - if (here->BSIM4v5dNodePrime + here->BSIM4v5sNodePrime = 0; + + if (here->BSIM4v5dNodePrime > 0 && here->BSIM4v5dNodePrime != here->BSIM4v5dNode) - { CKTdltNNum(ckt, here->BSIM4v5dNodePrime); - here->BSIM4v5dNodePrime = 0; - } + here->BSIM4v5dNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/bsim4v6/b4v6set.c b/src/spicelib/devices/bsim4v6/b4v6set.c index b356634dd..c819eeee5 100644 --- a/src/spicelib/devices/bsim4v6/b4v6set.c +++ b/src/spicelib/devices/bsim4v6/b4v6set.c @@ -2476,53 +2476,44 @@ BSIM4v6unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->BSIM4v6instances; here != NULL; here=here->BSIM4v6nextInstance) { - if (here->BSIM4v6qNode) - { + if (here->BSIM4v6qNode > 0) CKTdltNNum(ckt, here->BSIM4v6qNode); - here->BSIM4v6qNode = 0; - } - if (here->BSIM4v6sbNode && + here->BSIM4v6qNode = 0; + + if (here->BSIM4v6sbNode > 0 && here->BSIM4v6sbNode != here->BSIM4v6bNode) - { CKTdltNNum(ckt, here->BSIM4v6sbNode); - here->BSIM4v6sbNode = 0; - } - if (here->BSIM4v6bNodePrime && + here->BSIM4v6sbNode = 0; + + if (here->BSIM4v6bNodePrime > 0 && here->BSIM4v6bNodePrime != here->BSIM4v6bNode) - { CKTdltNNum(ckt, here->BSIM4v6bNodePrime); - here->BSIM4v6bNodePrime = 0; - } - if (here->BSIM4v6dbNode && + here->BSIM4v6bNodePrime = 0; + + if (here->BSIM4v6dbNode > 0 && here->BSIM4v6dbNode != here->BSIM4v6bNode) - { CKTdltNNum(ckt, here->BSIM4v6dbNode); - here->BSIM4v6dbNode = 0; - } - if (here->BSIM4v6gNodeMid && + here->BSIM4v6dbNode = 0; + + if (here->BSIM4v6gNodeMid > 0 && here->BSIM4v6gNodeMid != here->BSIM4v6gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v6gNodeMid); - here->BSIM4v6gNodeMid = 0; - } - if (here->BSIM4v6gNodePrime && + here->BSIM4v6gNodeMid = 0; + + if (here->BSIM4v6gNodePrime > 0 && here->BSIM4v6gNodePrime != here->BSIM4v6gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v6gNodePrime); - here->BSIM4v6gNodePrime = 0; - } - if (here->BSIM4v6sNodePrime + here->BSIM4v6gNodePrime = 0; + + if (here->BSIM4v6sNodePrime > 0 && here->BSIM4v6sNodePrime != here->BSIM4v6sNode) - { CKTdltNNum(ckt, here->BSIM4v6sNodePrime); - here->BSIM4v6sNodePrime = 0; - } - if (here->BSIM4v6dNodePrime + here->BSIM4v6sNodePrime = 0; + + if (here->BSIM4v6dNodePrime > 0 && here->BSIM4v6dNodePrime != here->BSIM4v6dNode) - { CKTdltNNum(ckt, here->BSIM4v6dNodePrime); - here->BSIM4v6dNodePrime = 0; - } + here->BSIM4v6dNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/bsim4v7/b4v7set.c b/src/spicelib/devices/bsim4v7/b4v7set.c index 8edc59aed..28c3c1dcd 100644 --- a/src/spicelib/devices/bsim4v7/b4v7set.c +++ b/src/spicelib/devices/bsim4v7/b4v7set.c @@ -2633,53 +2633,45 @@ CKTcircuit *ckt) for (here = model->BSIM4v7instances; here != NULL; here=here->BSIM4v7nextInstance) { - if (here->BSIM4v7qNode) - { + if (here->BSIM4v7qNode > 0) CKTdltNNum(ckt, here->BSIM4v7qNode); - here->BSIM4v7qNode = 0; - } - if (here->BSIM4v7sbNode && + here->BSIM4v7qNode = 0; + + if (here->BSIM4v7sbNode > 0 && here->BSIM4v7sbNode != here->BSIM4v7bNode) - { CKTdltNNum(ckt, here->BSIM4v7sbNode); - here->BSIM4v7sbNode = 0; - } - if (here->BSIM4v7bNodePrime && + here->BSIM4v7sbNode = 0; + + if (here->BSIM4v7bNodePrime > 0 && here->BSIM4v7bNodePrime != here->BSIM4v7bNode) - { CKTdltNNum(ckt, here->BSIM4v7bNodePrime); - here->BSIM4v7bNodePrime = 0; - } - if (here->BSIM4v7dbNode && + here->BSIM4v7bNodePrime = 0; + + if (here->BSIM4v7dbNode > 0 && here->BSIM4v7dbNode != here->BSIM4v7bNode) - { CKTdltNNum(ckt, here->BSIM4v7dbNode); - here->BSIM4v7dbNode = 0; - } - if (here->BSIM4v7gNodeMid && + here->BSIM4v7dbNode = 0; + + if (here->BSIM4v7gNodeMid > 0 && here->BSIM4v7gNodeMid != here->BSIM4v7gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v7gNodeMid); - here->BSIM4v7gNodeMid = 0; - } - if (here->BSIM4v7gNodePrime && + here->BSIM4v7gNodeMid = 0; + + if (here->BSIM4v7gNodePrime > 0 && here->BSIM4v7gNodePrime != here->BSIM4v7gNodeExt) - { CKTdltNNum(ckt, here->BSIM4v7gNodePrime); - here->BSIM4v7gNodePrime = 0; - } - if (here->BSIM4v7sNodePrime + here->BSIM4v7gNodePrime = 0; + + if (here->BSIM4v7sNodePrime > 0 && here->BSIM4v7sNodePrime != here->BSIM4v7sNode) - { CKTdltNNum(ckt, here->BSIM4v7sNodePrime); - here->BSIM4v7sNodePrime = 0; - } - if (here->BSIM4v7dNodePrime + here->BSIM4v7sNodePrime = 0; + + if (here->BSIM4v7dNodePrime > 0 && here->BSIM4v7dNodePrime != here->BSIM4v7dNode) - { CKTdltNNum(ckt, here->BSIM4v7dNodePrime); - here->BSIM4v7dNodePrime = 0; - } + here->BSIM4v7dNodePrime = 0; + } } #endif diff --git a/src/spicelib/devices/bsimsoi/b4soiset.c b/src/spicelib/devices/bsimsoi/b4soiset.c index 792a1d9b0..ebc546a7a 100644 --- a/src/spicelib/devices/bsimsoi/b4soiset.c +++ b/src/spicelib/devices/bsimsoi/b4soiset.c @@ -2771,156 +2771,126 @@ B4SOIunsetup( here=here->B4SOInextInstance) { /* here for debugging purpose only */ - if (here->B4SOIqjdNode) - { + if (here->B4SOIqjdNode > 0) CKTdltNNum(ckt, here->B4SOIqjdNode); - here->B4SOIqjdNode = 0; - } - if (here->B4SOIqjsNode) - { + here->B4SOIqjdNode = 0; + + if (here->B4SOIqjsNode > 0) CKTdltNNum(ckt, here->B4SOIqjsNode); - here->B4SOIqjsNode = 0; - } - if (here->B4SOIqbfNode) - { + here->B4SOIqjsNode = 0; + + if (here->B4SOIqbfNode > 0) CKTdltNNum(ckt, here->B4SOIqbfNode); - here->B4SOIqbfNode = 0; - } - if (here->B4SOIcbgNode) - { + here->B4SOIqbfNode = 0; + + if (here->B4SOIcbgNode > 0) CKTdltNNum(ckt, here->B4SOIcbgNode); - here->B4SOIcbgNode = 0; - } - if (here->B4SOIcbdNode) - { + here->B4SOIcbgNode = 0; + + if (here->B4SOIcbdNode > 0) CKTdltNNum(ckt, here->B4SOIcbdNode); - here->B4SOIcbdNode = 0; - } - if (here->B4SOIcbbNode) - { + here->B4SOIcbdNode = 0; + + if (here->B4SOIcbbNode > 0) CKTdltNNum(ckt, here->B4SOIcbbNode); - here->B4SOIcbbNode = 0; - } - if (here->B4SOIibpNode) - { + here->B4SOIcbbNode = 0; + + if (here->B4SOIibpNode > 0) CKTdltNNum(ckt, here->B4SOIibpNode); - here->B4SOIibpNode = 0; - } - if (here->B4SOIitunNode) - { + here->B4SOIibpNode = 0; + + if (here->B4SOIitunNode > 0) CKTdltNNum(ckt, here->B4SOIitunNode); - here->B4SOIitunNode = 0; - } - if (here->B4SOIigidlNode) - { + here->B4SOIitunNode = 0; + + if (here->B4SOIigidlNode > 0) CKTdltNNum(ckt, here->B4SOIigidlNode); - here->B4SOIigidlNode = 0; - } - if (here->B4SOIgigbNode) - { + here->B4SOIigidlNode = 0; + + if (here->B4SOIgigbNode > 0) CKTdltNNum(ckt, here->B4SOIgigbNode); - here->B4SOIgigbNode = 0; - } - if (here->B4SOIgigdNode) - { + here->B4SOIgigbNode = 0; + + if (here->B4SOIgigdNode > 0) CKTdltNNum(ckt, here->B4SOIgigdNode); - here->B4SOIgigdNode = 0; - } - if (here->B4SOIgiggNode) - { + here->B4SOIgigdNode = 0; + + if (here->B4SOIgiggNode > 0) CKTdltNNum(ckt, here->B4SOIgiggNode); - here->B4SOIgiggNode = 0; - } - if (here->B4SOIigNode) - { + here->B4SOIgiggNode = 0; + + if (here->B4SOIigNode > 0) CKTdltNNum(ckt, here->B4SOIigNode); - here->B4SOIigNode = 0; - } - if (here->B4SOIiiiNode) - { + here->B4SOIigNode = 0; + + if (here->B4SOIiiiNode > 0) CKTdltNNum(ckt, here->B4SOIiiiNode); - here->B4SOIiiiNode = 0; - } - if (here->B4SOIibdNode) - { + here->B4SOIiiiNode = 0; + + if (here->B4SOIibdNode > 0) CKTdltNNum(ckt, here->B4SOIibdNode); - here->B4SOIibdNode = 0; - } - if (here->B4SOIibsNode) - { + here->B4SOIibdNode = 0; + + if (here->B4SOIibsNode > 0) CKTdltNNum(ckt, here->B4SOIibsNode); - here->B4SOIibsNode = 0; - } - if (here->B4SOIicNode) - { + here->B4SOIibsNode = 0; + + if (here->B4SOIicNode > 0) CKTdltNNum(ckt, here->B4SOIicNode); - here->B4SOIicNode = 0; - } - if (here->B4SOIidsNode) - { + here->B4SOIicNode = 0; + + if (here->B4SOIidsNode > 0) CKTdltNNum(ckt, here->B4SOIidsNode); - here->B4SOIidsNode = 0; - } - if (here->B4SOIvbsNode) - { + here->B4SOIidsNode = 0; + + if (here->B4SOIvbsNode > 0) CKTdltNNum(ckt, here->B4SOIvbsNode); - here->B4SOIvbsNode = 0; - } + here->B4SOIvbsNode = 0; - if (here->B4SOIsbNode && + if (here->B4SOIsbNode > 0 && here->B4SOIsbNode != here->B4SOIbNode) - { CKTdltNNum(ckt, here->B4SOIsbNode); - here->B4SOIsbNode = 0; - } - if (here->B4SOIdbNode && + here->B4SOIsbNode = 0; + + if (here->B4SOIdbNode > 0 && here->B4SOIdbNode != here->B4SOIbNode) - { CKTdltNNum(ckt, here->B4SOIdbNode); - here->B4SOIdbNode = 0; - } - if (here->B4SOIgNodeMid && + here->B4SOIdbNode = 0; + + if (here->B4SOIgNodeMid > 0 && here->B4SOIgNodeMid != here->B4SOIgNodeExt) - { CKTdltNNum(ckt, here->B4SOIgNodeMid); - here->B4SOIgNodeMid = 0; - } - if (here->B4SOIgNode && + here->B4SOIgNodeMid = 0; + + if (here->B4SOIgNode > 0 && here->B4SOIgNode != here->B4SOIgNodeExt) - { CKTdltNNum(ckt, here->B4SOIgNode); - here->B4SOIgNode = 0; - } + here->B4SOIgNode = 0; - if (here->B4SOItempNode && + if (here->B4SOItempNode > 0 && here->B4SOItempNode != here->B4SOItempNodeExt && here->B4SOItempNode != here->B4SOIbNodeExt && here->B4SOItempNode != here->B4SOIpNodeExt) - { CKTdltNNum(ckt, here->B4SOItempNode); - here->B4SOItempNode = 0; - } - if (here->B4SOIbNode && + here->B4SOItempNode = 0; + + if (here->B4SOIbNode > 0 && here->B4SOIbNode != here->B4SOIbNodeExt && here->B4SOIbNode != here->B4SOIpNodeExt) - { CKTdltNNum(ckt, here->B4SOIbNode); - here->B4SOIbNode = 0; - } + here->B4SOIbNode = 0; + here->B4SOIpNode = 0; - if (here->B4SOIsNodePrime + if (here->B4SOIsNodePrime > 0 && here->B4SOIsNodePrime != here->B4SOIsNode) - { CKTdltNNum(ckt, here->B4SOIsNodePrime); - here->B4SOIsNodePrime = 0; - } - if (here->B4SOIdNodePrime + here->B4SOIsNodePrime = 0; + + if (here->B4SOIdNodePrime > 0 && here->B4SOIdNodePrime != here->B4SOIdNode) - { CKTdltNNum(ckt, here->B4SOIdNodePrime); - here->B4SOIdNodePrime = 0; - } + here->B4SOIdNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/dio/diosetup.c b/src/spicelib/devices/dio/diosetup.c index 9181e6823..3ef214e74 100644 --- a/src/spicelib/devices/dio/diosetup.c +++ b/src/spicelib/devices/dio/diosetup.c @@ -256,12 +256,10 @@ DIOunsetup( here=here->DIOnextInstance) { - if (here->DIOposPrimeNode + if (here->DIOposPrimeNode > 0 && here->DIOposPrimeNode != here->DIOposNode) - { CKTdltNNum(ckt, here->DIOposPrimeNode); - here->DIOposPrimeNode = 0; - } + here->DIOposPrimeNode = 0; } } return OK; diff --git a/src/spicelib/devices/hfet1/hfetsetup.c b/src/spicelib/devices/hfet1/hfetsetup.c index ffa735fef..845f67296 100644 --- a/src/spicelib/devices/hfet1/hfetsetup.c +++ b/src/spicelib/devices/hfet1/hfetsetup.c @@ -412,37 +412,30 @@ HFETAunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->HFETAinstances; here != NULL; here=here->HFETAnextInstance) { - if (here->HFETAsourcePrmPrmNode + if (here->HFETAsourcePrmPrmNode > 0 && here->HFETAsourcePrmPrmNode != here->HFETAsourcePrimeNode) - { CKTdltNNum(ckt, here->HFETAsourcePrmPrmNode); - here->HFETAsourcePrmPrmNode = 0; - } - if (here->HFETAdrainPrmPrmNode + here->HFETAsourcePrmPrmNode = 0; + + if (here->HFETAdrainPrmPrmNode > 0 && here->HFETAdrainPrmPrmNode != here->HFETAdrainPrimeNode) - { CKTdltNNum(ckt, here->HFETAdrainPrmPrmNode); - here->HFETAdrainPrmPrmNode = 0; - } - if (here->HFETAgatePrimeNode + here->HFETAdrainPrmPrmNode = 0; + + if (here->HFETAgatePrimeNode > 0 && here->HFETAgatePrimeNode != here->HFETAgateNode) - { CKTdltNNum(ckt, here->HFETAgatePrimeNode); - here->HFETAgatePrimeNode = 0; - } + here->HFETAgatePrimeNode = 0; - if (here->HFETAdrainPrimeNode + if (here->HFETAdrainPrimeNode > 0 && here->HFETAdrainPrimeNode != here->HFETAdrainNode) - { CKTdltNNum(ckt, here->HFETAdrainPrimeNode); - here->HFETAdrainPrimeNode = 0; - } - if (here->HFETAsourcePrimeNode + here->HFETAdrainPrimeNode = 0; + + if (here->HFETAsourcePrimeNode > 0 && here->HFETAsourcePrimeNode != here->HFETAsourceNode) - { CKTdltNNum(ckt, here->HFETAsourcePrimeNode); - here->HFETAsourcePrimeNode = 0; - } + here->HFETAsourcePrimeNode = 0; } } diff --git a/src/spicelib/devices/hfet2/hfet2setup.c b/src/spicelib/devices/hfet2/hfet2setup.c index 96044f989..dc267a3f1 100644 --- a/src/spicelib/devices/hfet2/hfet2setup.c +++ b/src/spicelib/devices/hfet2/hfet2setup.c @@ -216,18 +216,15 @@ HFET2unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->HFET2instances; here != NULL; here=here->HFET2nextInstance) { - if (here->HFET2drainPrimeNode + if (here->HFET2drainPrimeNode > 0 && here->HFET2drainPrimeNode != here->HFET2drainNode) - { CKTdltNNum(ckt, here->HFET2drainPrimeNode); - here->HFET2drainPrimeNode = 0; - } - if (here->HFET2sourcePrimeNode + here->HFET2drainPrimeNode = 0; + + if (here->HFET2sourcePrimeNode > 0 && here->HFET2sourcePrimeNode != here->HFET2sourceNode) - { CKTdltNNum(ckt, here->HFET2sourcePrimeNode); - here->HFET2sourcePrimeNode = 0; - } + here->HFET2sourcePrimeNode = 0; } } diff --git a/src/spicelib/devices/hisim2/hsm2set.c b/src/spicelib/devices/hisim2/hsm2set.c index c20ec99e2..d9f346241 100644 --- a/src/spicelib/devices/hisim2/hsm2set.c +++ b/src/spicelib/devices/hisim2/hsm2set.c @@ -1312,42 +1312,35 @@ HSM2unsetup( for (here = model->HSM2instances; here != NULL; here=here->HSM2nextInstance) { - if (here->HSM2sbNode + if (here->HSM2sbNode > 0 && here->HSM2sbNode != here->HSM2bNode) - { CKTdltNNum(ckt, here->HSM2sbNode); - here->HSM2sbNode = 0; - } - if (here->HSM2bNodePrime + here->HSM2sbNode = 0; + + if (here->HSM2bNodePrime > 0 && here->HSM2bNodePrime != here->HSM2bNode) - { CKTdltNNum(ckt, here->HSM2bNodePrime); - here->HSM2bNodePrime = 0; - } - if (here->HSM2dbNode + here->HSM2bNodePrime = 0; + + if (here->HSM2dbNode > 0 && here->HSM2dbNode != here->HSM2bNode) - { CKTdltNNum(ckt, here->HSM2dbNode); - here->HSM2dbNode = 0; - } - if (here->HSM2gNodePrime + here->HSM2dbNode = 0; + + if (here->HSM2gNodePrime > 0 && here->HSM2gNodePrime != here->HSM2gNode) - { CKTdltNNum(ckt, here->HSM2gNodePrime); - here->HSM2gNodePrime = 0; - } - if (here->HSM2sNodePrime + here->HSM2gNodePrime = 0; + + if (here->HSM2sNodePrime > 0 && here->HSM2sNodePrime != here->HSM2sNode) - { CKTdltNNum(ckt, here->HSM2sNodePrime); - here->HSM2sNodePrime = 0; - } - if (here->HSM2dNodePrime + here->HSM2sNodePrime = 0; + + if (here->HSM2dNodePrime > 0 && here->HSM2dNodePrime != here->HSM2dNode) - { CKTdltNNum(ckt, here->HSM2dNodePrime); - here->HSM2dNodePrime = 0; - } + here->HSM2dNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/hisimhv1/hsmhvset.c b/src/spicelib/devices/hisimhv1/hsmhvset.c index fef19d8cf..dc23db325 100644 --- a/src/spicelib/devices/hisimhv1/hsmhvset.c +++ b/src/spicelib/devices/hisimhv1/hsmhvset.c @@ -1476,62 +1476,52 @@ HSMHVunsetup( for (here = model->HSMHVinstances; here != NULL; here=here->HSMHVnextInstance) { - if (here->HSMHVqbNode) - { + if (here->HSMHVqbNode > 0) CKTdltNNum(ckt, here->HSMHVqbNode); - here->HSMHVqbNode = 0; - } - if (here->HSMHVqiNode) - { + here->HSMHVqbNode = 0; + + if (here->HSMHVqiNode > 0) CKTdltNNum(ckt, here->HSMHVqiNode); - here->HSMHVqiNode = 0; - } + here->HSMHVqiNode = 0; if (here->HSMHVtempNode > 0 && here->HSMHVtempNode != here->HSMHVtempNodeExt && here->HSMHVtempNode != here->HSMHVsubNodeExt) - { CKTdltNNum(ckt, here->HSMHVtempNode); - here->HSMHVtempNode = 0; - } + here->HSMHVtempNode = 0; + here->HSMHVsubNode = 0; - if (here->HSMHVsbNode + if (here->HSMHVsbNode > 0 && here->HSMHVsbNode != here->HSMHVbNode) - { CKTdltNNum(ckt, here->HSMHVsbNode); - here->HSMHVsbNode = 0; - } - if (here->HSMHVbNodePrime + here->HSMHVsbNode = 0; + + if (here->HSMHVbNodePrime > 0 && here->HSMHVbNodePrime != here->HSMHVbNode) - { CKTdltNNum(ckt, here->HSMHVbNodePrime); - here->HSMHVbNodePrime = 0; - } - if (here->HSMHVdbNode + here->HSMHVbNodePrime = 0; + + if (here->HSMHVdbNode > 0 && here->HSMHVdbNode != here->HSMHVbNode) - { CKTdltNNum(ckt, here->HSMHVdbNode); - here->HSMHVdbNode = 0; - } - if (here->HSMHVgNodePrime + here->HSMHVdbNode = 0; + + if (here->HSMHVgNodePrime > 0 && here->HSMHVgNodePrime != here->HSMHVgNode) - { CKTdltNNum(ckt, here->HSMHVgNodePrime); - here->HSMHVgNodePrime = 0; - } - if (here->HSMHVsNodePrime + here->HSMHVgNodePrime = 0; + + if (here->HSMHVsNodePrime > 0 && here->HSMHVsNodePrime != here->HSMHVsNode) - { CKTdltNNum(ckt, here->HSMHVsNodePrime); - here->HSMHVsNodePrime = 0; - } - if (here->HSMHVdNodePrime + here->HSMHVsNodePrime = 0; + + if (here->HSMHVdNodePrime > 0 && here->HSMHVdNodePrime != here->HSMHVdNode) - { CKTdltNNum(ckt, here->HSMHVdNodePrime); - here->HSMHVdNodePrime = 0; - } + here->HSMHVdNodePrime = 0; + } } #endif diff --git a/src/spicelib/devices/hisimhv2/hsmhv2set.c b/src/spicelib/devices/hisimhv2/hsmhv2set.c index 5ac4033e9..4b3a8cc77 100644 --- a/src/spicelib/devices/hisimhv2/hsmhv2set.c +++ b/src/spicelib/devices/hisimhv2/hsmhv2set.c @@ -1747,58 +1747,48 @@ HSMHV2unsetup( if (here->HSMHV2tempNode > 0 && here->HSMHV2tempNode != here->HSMHV2tempNodeExt && here->HSMHV2tempNode != here->HSMHV2subNodeExt) - { CKTdltNNum(ckt, here->HSMHV2tempNode); - here->HSMHV2tempNode = 0; - } + here->HSMHV2tempNode = 0; + here->HSMHV2subNode = 0; - if (here->HSMHV2qbNode) - { + if (here->HSMHV2qbNode > 0) CKTdltNNum(ckt, here->HSMHV2qbNode); - here->HSMHV2qbNode = 0; - } - if (here->HSMHV2qiNode) - { + here->HSMHV2qbNode = 0; + + if (here->HSMHV2qiNode > 0) CKTdltNNum(ckt, here->HSMHV2qiNode); - here->HSMHV2qiNode = 0; - } - if (here->HSMHV2sbNode + here->HSMHV2qiNode = 0; + + if (here->HSMHV2sbNode > 0 && here->HSMHV2sbNode != here->HSMHV2bNode) - { CKTdltNNum(ckt, here->HSMHV2sbNode); - here->HSMHV2sbNode = 0; - } - if (here->HSMHV2bNodePrime + here->HSMHV2sbNode = 0; + + if (here->HSMHV2bNodePrime > 0 && here->HSMHV2bNodePrime != here->HSMHV2bNode) - { CKTdltNNum(ckt, here->HSMHV2bNodePrime); - here->HSMHV2bNodePrime = 0; - } - if (here->HSMHV2dbNode + here->HSMHV2bNodePrime = 0; + + if (here->HSMHV2dbNode > 0 && here->HSMHV2dbNode != here->HSMHV2bNode) - { CKTdltNNum(ckt, here->HSMHV2dbNode); - here->HSMHV2dbNode = 0; - } - if (here->HSMHV2gNodePrime + here->HSMHV2dbNode = 0; + + if (here->HSMHV2gNodePrime > 0 && here->HSMHV2gNodePrime != here->HSMHV2gNode) - { CKTdltNNum(ckt, here->HSMHV2gNodePrime); - here->HSMHV2gNodePrime = 0; - } - if (here->HSMHV2sNodePrime + here->HSMHV2gNodePrime = 0; + + if (here->HSMHV2sNodePrime > 0 && here->HSMHV2sNodePrime != here->HSMHV2sNode) - { CKTdltNNum(ckt, here->HSMHV2sNodePrime); - here->HSMHV2sNodePrime = 0; - } - if (here->HSMHV2dNodePrime + here->HSMHV2sNodePrime = 0; + + if (here->HSMHV2dNodePrime > 0 && here->HSMHV2dNodePrime != here->HSMHV2dNode) - { CKTdltNNum(ckt, here->HSMHV2dNodePrime); - here->HSMHV2dNodePrime = 0; - } + here->HSMHV2dNodePrime = 0; } } #endif diff --git a/src/spicelib/devices/ind/indsetup.c b/src/spicelib/devices/ind/indsetup.c index ba3d603d6..362064a96 100644 --- a/src/spicelib/devices/ind/indsetup.c +++ b/src/spicelib/devices/ind/indsetup.c @@ -118,10 +118,9 @@ INDunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->INDinstances; here != NULL; here=here->INDnextInstance) { - if (here->INDbrEq) { + if (here->INDbrEq > 0) CKTdltNNum(ckt, here->INDbrEq); - here->INDbrEq = 0; - } + here->INDbrEq = 0; } } return OK; diff --git a/src/spicelib/devices/jfet/jfetset.c b/src/spicelib/devices/jfet/jfetset.c index 40ef04bd5..1ee580749 100644 --- a/src/spicelib/devices/jfet/jfetset.c +++ b/src/spicelib/devices/jfet/jfetset.c @@ -195,18 +195,15 @@ JFETunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->JFETinstances; here != NULL; here=here->JFETnextInstance) { - if (here->JFETdrainPrimeNode + if (here->JFETdrainPrimeNode > 0 && here->JFETdrainPrimeNode != here->JFETdrainNode) - { CKTdltNNum(ckt, here->JFETdrainPrimeNode); - here->JFETdrainPrimeNode = 0; - } - if (here->JFETsourcePrimeNode + here->JFETdrainPrimeNode = 0; + + if (here->JFETsourcePrimeNode > 0 && here->JFETsourcePrimeNode != here->JFETsourceNode) - { CKTdltNNum(ckt, here->JFETsourcePrimeNode); - here->JFETsourcePrimeNode = 0; - } + here->JFETsourcePrimeNode = 0; } } return OK; diff --git a/src/spicelib/devices/jfet2/jfet2set.c b/src/spicelib/devices/jfet2/jfet2set.c index d5805aedb..9ba95678c 100644 --- a/src/spicelib/devices/jfet2/jfet2set.c +++ b/src/spicelib/devices/jfet2/jfet2set.c @@ -135,18 +135,15 @@ JFET2unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->JFET2instances; here != NULL; here=here->JFET2nextInstance) { - if (here->JFET2drainPrimeNode + if (here->JFET2drainPrimeNode > 0 && here->JFET2drainPrimeNode != here->JFET2drainNode) - { CKTdltNNum(ckt, here->JFET2drainPrimeNode); - here->JFET2drainPrimeNode = 0; - } - if (here->JFET2sourcePrimeNode + here->JFET2drainPrimeNode = 0; + + if (here->JFET2sourcePrimeNode > 0 && here->JFET2sourcePrimeNode != here->JFET2sourceNode) - { CKTdltNNum(ckt, here->JFET2sourcePrimeNode); - here->JFET2sourcePrimeNode = 0; - } + here->JFET2sourcePrimeNode = 0; } } return OK; diff --git a/src/spicelib/devices/ltra/ltraset.c b/src/spicelib/devices/ltra/ltraset.c index 847f38c33..30f21b3a1 100644 --- a/src/spicelib/devices/ltra/ltraset.c +++ b/src/spicelib/devices/ltra/ltraset.c @@ -229,14 +229,13 @@ LTRAunsetup(GENmodel *inModel, CKTcircuit *ckt) model = model->LTRAnextModel) { for (here = model->LTRAinstances; here != NULL; here = here->LTRAnextInstance) { - if (here->LTRAbrEq2) { + if (here->LTRAbrEq2 > 0) CKTdltNNum(ckt, here->LTRAbrEq2); - here->LTRAbrEq2 = 0; - } - if (here->LTRAbrEq1) { + here->LTRAbrEq2 = 0; + + if (here->LTRAbrEq1 > 0) CKTdltNNum(ckt, here->LTRAbrEq1); - here->LTRAbrEq1 = 0; - } + here->LTRAbrEq1 = 0; } } return OK; diff --git a/src/spicelib/devices/mes/messetup.c b/src/spicelib/devices/mes/messetup.c index 56b18d9e6..e7c885361 100644 --- a/src/spicelib/devices/mes/messetup.c +++ b/src/spicelib/devices/mes/messetup.c @@ -168,18 +168,15 @@ MESunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MESinstances; here != NULL; here=here->MESnextInstance) { - if (here->MESdrainPrimeNode + if (here->MESdrainPrimeNode > 0 && here->MESdrainPrimeNode != here->MESdrainNode) - { CKTdltNNum(ckt, here->MESdrainPrimeNode); - here->MESdrainPrimeNode = 0; - } - if (here->MESsourcePrimeNode + here->MESdrainPrimeNode = 0; + + if (here->MESsourcePrimeNode > 0 && here->MESsourcePrimeNode != here->MESsourceNode) - { CKTdltNNum(ckt, here->MESsourcePrimeNode); - here->MESsourcePrimeNode = 0; - } + here->MESsourcePrimeNode = 0; } } return OK; diff --git a/src/spicelib/devices/mesa/mesasetup.c b/src/spicelib/devices/mesa/mesasetup.c index 88176a2ed..b11ebac5b 100644 --- a/src/spicelib/devices/mesa/mesasetup.c +++ b/src/spicelib/devices/mesa/mesasetup.c @@ -419,36 +419,31 @@ MESAunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MESAinstances; here != NULL; here=here->MESAnextInstance) { - if (here->MESAdrainPrmPrmNode + if (here->MESAdrainPrmPrmNode > 0 && here->MESAdrainPrmPrmNode != here->MESAdrainPrimeNode) - { CKTdltNNum(ckt, here->MESAdrainPrmPrmNode); - here->MESAdrainPrmPrmNode = 0; - } - if (here->MESAsourcePrmPrmNode + here->MESAdrainPrmPrmNode = 0; + + if (here->MESAsourcePrmPrmNode > 0 && here->MESAsourcePrmPrmNode != here->MESAsourcePrimeNode) - { CKTdltNNum(ckt, here->MESAsourcePrmPrmNode); - here->MESAsourcePrmPrmNode = 0; - } - if (here->MESAgatePrimeNode + here->MESAsourcePrmPrmNode = 0; + + if (here->MESAgatePrimeNode > 0 && here->MESAgatePrimeNode != here->MESAgateNode) - { CKTdltNNum(ckt, here->MESAgatePrimeNode); - here->MESAgatePrimeNode = 0; - } - if (here->MESAdrainPrimeNode + here->MESAgatePrimeNode = 0; + + if (here->MESAdrainPrimeNode > 0 && here->MESAdrainPrimeNode != here->MESAdrainNode) - { CKTdltNNum(ckt, here->MESAdrainPrimeNode); - here->MESAdrainPrimeNode = 0; - } - if (here->MESAsourcePrimeNode + here->MESAdrainPrimeNode = 0; + + if (here->MESAsourcePrimeNode > 0 && here->MESAsourcePrimeNode != here->MESAsourceNode) - { CKTdltNNum(ckt, here->MESAsourcePrimeNode); - here->MESAsourcePrimeNode = 0; - } + here->MESAsourcePrimeNode = 0; + } } diff --git a/src/spicelib/devices/mos1/mos1set.c b/src/spicelib/devices/mos1/mos1set.c index 2dacbcfa0..128c6769e 100644 --- a/src/spicelib/devices/mos1/mos1set.c +++ b/src/spicelib/devices/mos1/mos1set.c @@ -223,18 +223,15 @@ MOS1unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MOS1instances; here != NULL; here=here->MOS1nextInstance) { - if (here->MOS1sNodePrime + if (here->MOS1sNodePrime > 0 && here->MOS1sNodePrime != here->MOS1sNode) - { CKTdltNNum(ckt, here->MOS1sNodePrime); - here->MOS1sNodePrime= 0; - } - if (here->MOS1dNodePrime + here->MOS1sNodePrime= 0; + + if (here->MOS1dNodePrime > 0 && here->MOS1dNodePrime != here->MOS1dNode) - { CKTdltNNum(ckt, here->MOS1dNodePrime); - here->MOS1dNodePrime= 0; - } + here->MOS1dNodePrime= 0; } } return OK; diff --git a/src/spicelib/devices/mos2/mos2set.c b/src/spicelib/devices/mos2/mos2set.c index c86daaf37..5ed8d5ce8 100644 --- a/src/spicelib/devices/mos2/mos2set.c +++ b/src/spicelib/devices/mos2/mos2set.c @@ -246,18 +246,15 @@ MOS2unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MOS2instances; here != NULL; here=here->MOS2nextInstance) { - if (here->MOS2sNodePrime + if (here->MOS2sNodePrime > 0 && here->MOS2sNodePrime != here->MOS2sNode) - { CKTdltNNum(ckt, here->MOS2sNodePrime); - here->MOS2sNodePrime = 0; - } - if (here->MOS2dNodePrime + here->MOS2sNodePrime = 0; + + if (here->MOS2dNodePrime > 0 && here->MOS2dNodePrime != here->MOS2dNode) - { CKTdltNNum(ckt, here->MOS2dNodePrime); - here->MOS2dNodePrime = 0; - } + here->MOS2dNodePrime = 0; } } return OK; diff --git a/src/spicelib/devices/mos3/mos3set.c b/src/spicelib/devices/mos3/mos3set.c index ee646f63d..1e8cac082 100644 --- a/src/spicelib/devices/mos3/mos3set.c +++ b/src/spicelib/devices/mos3/mos3set.c @@ -271,18 +271,15 @@ MOS3unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MOS3instances; here != NULL; here=here->MOS3nextInstance) { - if (here->MOS3sNodePrime + if (here->MOS3sNodePrime > 0 && here->MOS3sNodePrime != here->MOS3sNode) - { CKTdltNNum(ckt, here->MOS3sNodePrime); - here->MOS3sNodePrime= 0; - } - if (here->MOS3dNodePrime + here->MOS3sNodePrime= 0; + + if (here->MOS3dNodePrime > 0 && here->MOS3dNodePrime != here->MOS3dNode) - { CKTdltNNum(ckt, here->MOS3dNodePrime); - here->MOS3dNodePrime= 0; - } + here->MOS3dNodePrime= 0; } } return OK; diff --git a/src/spicelib/devices/mos6/mos6set.c b/src/spicelib/devices/mos6/mos6set.c index 2daad6b5a..5e8a913b3 100644 --- a/src/spicelib/devices/mos6/mos6set.c +++ b/src/spicelib/devices/mos6/mos6set.c @@ -233,18 +233,15 @@ MOS6unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MOS6instances; here != NULL; here=here->MOS6nextInstance) { - if (here->MOS6sNodePrime + if (here->MOS6sNodePrime > 0 && here->MOS6sNodePrime != here->MOS6sNode) - { CKTdltNNum(ckt, here->MOS6sNodePrime); - here->MOS6sNodePrime= 0; - } - if (here->MOS6dNodePrime + here->MOS6sNodePrime= 0; + + if (here->MOS6dNodePrime > 0 && here->MOS6dNodePrime != here->MOS6dNode) - { CKTdltNNum(ckt, here->MOS6dNodePrime); - here->MOS6dNodePrime= 0; - } + here->MOS6dNodePrime= 0; } } return OK; diff --git a/src/spicelib/devices/mos9/mos9set.c b/src/spicelib/devices/mos9/mos9set.c index 51c1f67fc..78d4abe47 100644 --- a/src/spicelib/devices/mos9/mos9set.c +++ b/src/spicelib/devices/mos9/mos9set.c @@ -271,18 +271,15 @@ MOS9unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->MOS9instances; here != NULL; here=here->MOS9nextInstance) { - if (here->MOS9sNodePrime + if (here->MOS9sNodePrime > 0 && here->MOS9sNodePrime != here->MOS9sNode) - { CKTdltNNum(ckt, here->MOS9sNodePrime); - here->MOS9sNodePrime= 0; - } - if (here->MOS9dNodePrime + here->MOS9sNodePrime= 0; + + if (here->MOS9dNodePrime > 0 && here->MOS9dNodePrime != here->MOS9dNode) - { CKTdltNNum(ckt, here->MOS9dNodePrime); - here->MOS9dNodePrime= 0; - } + here->MOS9dNodePrime= 0; } } return OK; diff --git a/src/spicelib/devices/soi3/soi3set.c b/src/spicelib/devices/soi3/soi3set.c index e1a4abc96..fa526700d 100644 --- a/src/spicelib/devices/soi3/soi3set.c +++ b/src/spicelib/devices/soi3/soi3set.c @@ -674,43 +674,36 @@ SOI3unsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->SOI3instances; here != NULL; here=here->SOI3nextInstance) { - if (here->SOI3tout4Node) - { + if (here->SOI3tout4Node > 0) CKTdltNNum(ckt, here->SOI3tout4Node); - here->SOI3tout4Node = 0; - } - if (here->SOI3tout3Node) - { + here->SOI3tout4Node = 0; + + if (here->SOI3tout3Node > 0) CKTdltNNum(ckt, here->SOI3tout3Node); - here->SOI3tout3Node = 0; - } - if (here->SOI3tout2Node) - { + here->SOI3tout3Node = 0; + + if (here->SOI3tout2Node > 0) CKTdltNNum(ckt, here->SOI3tout2Node); - here->SOI3tout2Node = 0; - } - if (here->SOI3tout1Node) - { + here->SOI3tout2Node = 0; + + if (here->SOI3tout1Node > 0) CKTdltNNum(ckt, here->SOI3tout1Node); - here->SOI3tout1Node = 0; - } - if (here->SOI3branch) - { + here->SOI3tout1Node = 0; + + if (here->SOI3branch > 0) CKTdltNNum(ckt, here->SOI3branch); - here->SOI3branch=0; - } - if (here->SOI3sNodePrime + here->SOI3branch=0; + + if (here->SOI3sNodePrime > 0 && here->SOI3sNodePrime != here->SOI3sNode) - { CKTdltNNum(ckt, here->SOI3sNodePrime); - here->SOI3sNodePrime= 0; - } - if (here->SOI3dNodePrime + here->SOI3sNodePrime= 0; + + if (here->SOI3dNodePrime > 0 && here->SOI3dNodePrime != here->SOI3dNode) - { CKTdltNNum(ckt, here->SOI3dNodePrime); - here->SOI3dNodePrime= 0; - } + here->SOI3dNodePrime= 0; + } } return OK; diff --git a/src/spicelib/devices/tra/trasetup.c b/src/spicelib/devices/tra/trasetup.c index df6abd7fb..bdf83a243 100644 --- a/src/spicelib/devices/tra/trasetup.c +++ b/src/spicelib/devices/tra/trasetup.c @@ -126,22 +126,21 @@ TRAunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->TRAinstances; here != NULL; here=here->TRAnextInstance) { - if (here->TRAintNode2) { + if (here->TRAintNode2 > 0) CKTdltNNum(ckt, here->TRAintNode2); - here->TRAintNode2= 0; - } - if (here->TRAintNode1) { + here->TRAintNode2= 0; + + if (here->TRAintNode1 > 0) CKTdltNNum(ckt, here->TRAintNode1); - here->TRAintNode1= 0; - } - if (here->TRAbrEq2) { + here->TRAintNode1= 0; + + if (here->TRAbrEq2 > 0) CKTdltNNum(ckt, here->TRAbrEq2); - here->TRAbrEq2= 0; - } - if (here->TRAbrEq1) { + here->TRAbrEq2= 0; + + if (here->TRAbrEq1 > 0) CKTdltNNum(ckt, here->TRAbrEq1); - here->TRAbrEq1= 0; - } + here->TRAbrEq1= 0; } } return OK; diff --git a/src/spicelib/devices/vbic/vbicsetup.c b/src/spicelib/devices/vbic/vbicsetup.c index f5f351ece..7c483a8aa 100644 --- a/src/spicelib/devices/vbic/vbicsetup.c +++ b/src/spicelib/devices/vbic/vbicsetup.c @@ -558,45 +558,37 @@ VBICunsetup( for (here = model->VBICinstances; here != NULL; here=here->VBICnextInstance) { - if (here->VBICbaseBINode) - { + if (here->VBICbaseBINode > 0) CKTdltNNum(ckt, here->VBICbaseBINode); - here->VBICbaseBINode = 0; - } - if (here->VBICbaseBPNode) - { + here->VBICbaseBINode = 0; + + if (here->VBICbaseBPNode > 0) CKTdltNNum(ckt, here->VBICbaseBPNode); - here->VBICbaseBPNode = 0; - } - if (here->VBICcollCINode) - { + here->VBICbaseBPNode = 0; + + if (here->VBICcollCINode > 0) CKTdltNNum(ckt, here->VBICcollCINode); - here->VBICcollCINode = 0; - } - if (here->VBICsubsSINode + here->VBICcollCINode = 0; + + if (here->VBICsubsSINode > 0 && here->VBICsubsSINode != here->VBICsubsNode) - { CKTdltNNum(ckt, here->VBICsubsSINode); - here->VBICsubsSINode = 0; - } - if (here->VBICemitEINode + here->VBICsubsSINode = 0; + + if (here->VBICemitEINode > 0 && here->VBICemitEINode != here->VBICemitNode) - { CKTdltNNum(ckt, here->VBICemitEINode); - here->VBICemitEINode = 0; - } - if (here->VBICbaseBXNode + here->VBICemitEINode = 0; + + if (here->VBICbaseBXNode > 0 && here->VBICbaseBXNode != here->VBICbaseNode) - { CKTdltNNum(ckt, here->VBICbaseBXNode); - here->VBICbaseBXNode = 0; - } - if (here->VBICcollCXNode + here->VBICbaseBXNode = 0; + + if (here->VBICcollCXNode > 0 && here->VBICcollCXNode != here->VBICcollNode) - { CKTdltNNum(ckt, here->VBICcollCXNode); - here->VBICcollCXNode = 0; - } + here->VBICcollCXNode = 0; } } return OK; diff --git a/src/spicelib/devices/vcvs/vcvsset.c b/src/spicelib/devices/vcvs/vcvsset.c index a917937ae..981f8af79 100644 --- a/src/spicelib/devices/vcvs/vcvsset.c +++ b/src/spicelib/devices/vcvs/vcvsset.c @@ -73,10 +73,9 @@ VCVSunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->VCVSinstances; here != NULL; here=here->VCVSnextInstance) { - if (here->VCVSbranch) { + if (here->VCVSbranch > 0) CKTdltNNum(ckt, here->VCVSbranch); - here->VCVSbranch = 0; - } + here->VCVSbranch = 0; } } return OK; diff --git a/src/spicelib/devices/vsrc/vsrcset.c b/src/spicelib/devices/vsrc/vsrcset.c index 215dcceaa..32d8de3b8 100644 --- a/src/spicelib/devices/vsrc/vsrcset.c +++ b/src/spicelib/devices/vsrc/vsrcset.c @@ -70,10 +70,9 @@ VSRCunsetup(GENmodel *inModel, CKTcircuit *ckt) for (here = model->VSRCinstances; here != NULL; here=here->VSRCnextInstance) { - if (here->VSRCbranch) { + if (here->VSRCbranch > 0) CKTdltNNum(ckt, here->VSRCbranch); - here->VSRCbranch = 0; - } + here->VSRCbranch = 0; } } return OK;