cleanup, use an array for struct GENinstance.GENnode
This commit is contained in:
parent
4eb32ab566
commit
239780ebef
|
|
@ -21,15 +21,19 @@ struct GENinstance {
|
|||
* current model*/
|
||||
IFuid GENname; /* pointer to character string naming this instance */
|
||||
int GENstate; /* state index number */
|
||||
int GENnode1; /* appropriate node numbers */
|
||||
int GENnode2; /* appropriate node numbers */
|
||||
int GENnode3; /* appropriate node numbers */
|
||||
int GENnode4; /* appropriate node numbers */
|
||||
int GENnode5; /* appropriate node numbers */
|
||||
int GENnode6; /* added to create body node 01/06/99 */
|
||||
int GENnode7; /* added to create temp node 2/03/99 */
|
||||
int GENnode[7]; /* node numbers to which this instance is connected to */
|
||||
/* carefull, thats overlayed into the actual device structs */
|
||||
};
|
||||
|
||||
/* argh, terminals are counted from 1 */
|
||||
#define GENnode1 GENnode[0]
|
||||
#define GENnode2 GENnode[1]
|
||||
#define GENnode3 GENnode[2]
|
||||
#define GENnode4 GENnode[3]
|
||||
#define GENnode5 GENnode[4]
|
||||
#define GENnode6 GENnode[5]
|
||||
#define GENnode7 GENnode[6]
|
||||
|
||||
|
||||
/* per model data */
|
||||
|
||||
|
|
|
|||
|
|
@ -29,30 +29,8 @@ CKTinst2Node(CKTcircuit *ckt, void *instPtr, int terminal, CKTnode **node, IFuid
|
|||
type = ((GENinstance *)instPtr)->GENmodPtr->GENmodType;
|
||||
|
||||
if(*(DEVices[type]->DEVpublic.terms) >= terminal && terminal > 0) {
|
||||
switch(terminal) {
|
||||
default: return(E_NOTERM);
|
||||
case 1:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode1;
|
||||
break;
|
||||
case 2:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode2;
|
||||
break;
|
||||
case 3:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode3;
|
||||
break;
|
||||
case 4:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode4;
|
||||
break;
|
||||
case 5:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode5;
|
||||
break;
|
||||
case 6:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode6;
|
||||
break;
|
||||
case 7:
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode7;
|
||||
break;
|
||||
}
|
||||
/* argh, terminals are counted from 1 */
|
||||
nodenum = ((GENinstance *)instPtr)->GENnode[terminal - 1];
|
||||
/* ok, now we know its number, so we just have to find it.*/
|
||||
for(here = ckt->CKTnodes;here;here = here->next) {
|
||||
if(here->number == nodenum) {
|
||||
|
|
|
|||
|
|
@ -28,31 +28,8 @@ CKTbindNode(CKTcircuit *ckt, GENinstance *instance, int term, CKTnode *node)
|
|||
mappednode = node->number;
|
||||
|
||||
if (*(devs[type]->DEVpublic.terms) >= term && term > 0) {
|
||||
switch(term) {
|
||||
default:
|
||||
return E_NOTERM;
|
||||
case 1:
|
||||
instance->GENnode1 = mappednode;
|
||||
break;
|
||||
case 2:
|
||||
instance->GENnode2 = mappednode;
|
||||
break;
|
||||
case 3:
|
||||
instance->GENnode3 = mappednode;
|
||||
break;
|
||||
case 4:
|
||||
instance->GENnode4 = mappednode;
|
||||
break;
|
||||
case 5:
|
||||
instance->GENnode5 = mappednode;
|
||||
break;
|
||||
case 6:/* added to consider the body node 01/06/99 */
|
||||
instance->GENnode6 = mappednode;
|
||||
break;
|
||||
case 7:/* added to consider the temp node 02/03/99 */
|
||||
instance->GENnode7 = mappednode;
|
||||
break;
|
||||
}
|
||||
/* argh, terminals are counted from 1 */
|
||||
instance->GENnode[term - 1] = mappednode;
|
||||
return OK;
|
||||
} else {
|
||||
return E_NOTERM;
|
||||
|
|
|
|||
Loading…
Reference in New Issue