1 /**********
2 Copyright 1990 Regents of the University of California. All rights reserved.
3 Author: 1985 Thomas L. Quarles
4 **********/
5 /*
6 */
7
8 /* CKTmkCur
9 * make the given name a 'node' of type current in the
10 * specified circuit
11 */
12
13 #include "ngspice/ngspice.h"
14 #include "ngspice/ifsim.h"
15 #include "ngspice/sperror.h"
16 #include "ngspice/cktdefs.h"
17
18
19
20 /* ARGSUSED */
21 int
CKTmkCur(CKTcircuit * ckt,CKTnode ** node,IFuid basename,char * suffix)22 CKTmkCur(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
23 {
24 IFuid uid;
25 int error;
26 CKTnode *mynode;
27 CKTnode *checknode;
28
29 error = CKTmkNode(ckt,&mynode);
30 if(error) return(error);
31 checknode = mynode;
32 error = SPfrontEnd->IFnewUid (ckt, &uid, basename, suffix, UID_SIGNAL, &checknode);
33 if(error) {
34 FREE(mynode);
35 if(node) *node = checknode;
36 return(error);
37 }
38 mynode->name = uid;
39 mynode->type = SP_CURRENT;
40 if(node) *node = mynode;
41 error = CKTlinkEq(ckt,mynode);
42 return(error);
43 }
44