cleanup, use an array for struct GENinstance.GENnode

This commit is contained in:
rlar 2017-01-07 12:05:20 +01:00
parent 4eb32ab566
commit 239780ebef
3 changed files with 15 additions and 56 deletions

View File

@ -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 */

View File

@ -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) {

View File

@ -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;