use the type CKTnode instead of void*
This commit is contained in:
parent
773670b38f
commit
44a182c1ba
62
ChangeLog
62
ChangeLog
|
|
@ -1,3 +1,65 @@
|
||||||
|
2010-08-11 Robert Larice
|
||||||
|
* src/include/cktdefs.h ,
|
||||||
|
* src/include/ifsim.h ,
|
||||||
|
* src/include/inpdefs.h ,
|
||||||
|
* src/include/noisedef.h ,
|
||||||
|
* src/spicelib/analysis/ckt.h ,
|
||||||
|
* src/spicelib/analysis/cktasknq.c ,
|
||||||
|
* src/spicelib/analysis/cktdltn.c ,
|
||||||
|
* src/spicelib/analysis/cktfnode.c ,
|
||||||
|
* src/spicelib/analysis/cktgrnd.c ,
|
||||||
|
* src/spicelib/analysis/cktmapn.c ,
|
||||||
|
* src/spicelib/analysis/cktmkcur.c ,
|
||||||
|
* src/spicelib/analysis/cktmkvol.c ,
|
||||||
|
* src/spicelib/analysis/cktneweq.c ,
|
||||||
|
* src/spicelib/analysis/cktnewn.c ,
|
||||||
|
* src/spicelib/analysis/cktsetnp.c ,
|
||||||
|
* src/spicelib/analysis/noisean.c ,
|
||||||
|
* src/spicelib/analysis/pzaskq.c ,
|
||||||
|
* src/spicelib/analysis/pzsetp.c ,
|
||||||
|
* src/spicelib/analysis/senssetp.c ,
|
||||||
|
* src/spicelib/analysis/tfsetp.c ,
|
||||||
|
* src/spicelib/devices/asrc/asrcconv.c ,
|
||||||
|
* src/spicelib/devices/asrc/asrcload.c ,
|
||||||
|
* src/spicelib/devices/asrc/asrcpzld.c ,
|
||||||
|
* src/spicelib/devices/asrc/asrcset.c ,
|
||||||
|
* src/spicelib/devices/cktbindnode.c ,
|
||||||
|
* src/spicelib/devices/ndev/ndevdefs.h ,
|
||||||
|
* src/spicelib/devices/ndev/ndevset.c ,
|
||||||
|
* src/spicelib/devices/urc/urcsetup.c ,
|
||||||
|
* src/spicelib/parser/ifnewuid.c ,
|
||||||
|
* src/spicelib/parser/inp.h ,
|
||||||
|
* src/spicelib/parser/inp2b.c ,
|
||||||
|
* src/spicelib/parser/inp2c.c ,
|
||||||
|
* src/spicelib/parser/inp2d.c ,
|
||||||
|
* src/spicelib/parser/inp2dot.c ,
|
||||||
|
* src/spicelib/parser/inp2e.c ,
|
||||||
|
* src/spicelib/parser/inp2f.c ,
|
||||||
|
* src/spicelib/parser/inp2g.c ,
|
||||||
|
* src/spicelib/parser/inp2h.c ,
|
||||||
|
* src/spicelib/parser/inp2i.c ,
|
||||||
|
* src/spicelib/parser/inp2j.c ,
|
||||||
|
* src/spicelib/parser/inp2l.c ,
|
||||||
|
* src/spicelib/parser/inp2m.c ,
|
||||||
|
* src/spicelib/parser/inp2n.c ,
|
||||||
|
* src/spicelib/parser/inp2o.c ,
|
||||||
|
* src/spicelib/parser/inp2p.c ,
|
||||||
|
* src/spicelib/parser/inp2q.c ,
|
||||||
|
* src/spicelib/parser/inp2r.c ,
|
||||||
|
* src/spicelib/parser/inp2s.c ,
|
||||||
|
* src/spicelib/parser/inp2t.c ,
|
||||||
|
* src/spicelib/parser/inp2u.c ,
|
||||||
|
* src/spicelib/parser/inp2v.c ,
|
||||||
|
* src/spicelib/parser/inp2w.c ,
|
||||||
|
* src/spicelib/parser/inp2y.c ,
|
||||||
|
* src/spicelib/parser/inp2z.c ,
|
||||||
|
* src/spicelib/parser/inppas2.c ,
|
||||||
|
* src/spicelib/parser/inppas3.c ,
|
||||||
|
* src/spicelib/parser/inpptree.c ,
|
||||||
|
* src/spicelib/parser/inpsymt.c ,
|
||||||
|
* src/xspice/mif/mif_inp2.c :
|
||||||
|
use the type CKTnode instead of void*
|
||||||
|
|
||||||
2010-08-11 Robert Larice
|
2010-08-11 Robert Larice
|
||||||
* src/spicelib/devices/cktinit.c ,
|
* src/spicelib/devices/cktinit.c ,
|
||||||
* src/spicelib/parser/inp2b.c :
|
* src/spicelib/parser/inp2b.c :
|
||||||
|
|
|
||||||
|
|
@ -277,8 +277,8 @@ extern int CKTaccept(CKTcircuit *);
|
||||||
extern int CKTacct(CKTcircuit *, void *, int , IFvalue *);
|
extern int CKTacct(CKTcircuit *, void *, int , IFvalue *);
|
||||||
extern int CKTask(CKTcircuit *, GENinstance *, int , IFvalue *, IFvalue *);
|
extern int CKTask(CKTcircuit *, GENinstance *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTaskAnalQ(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
extern int CKTaskAnalQ(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTaskNodQst(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
extern int CKTaskNodQst(CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTbindNode(CKTcircuit *, GENinstance *, int , void *);
|
extern int CKTbindNode(CKTcircuit *, GENinstance *, int , CKTnode *);
|
||||||
extern void CKTbreakDump(CKTcircuit *);
|
extern void CKTbreakDump(CKTcircuit *);
|
||||||
extern int CKTclrBreak(CKTcircuit *);
|
extern int CKTclrBreak(CKTcircuit *);
|
||||||
extern int CKTconvTest(CKTcircuit *);
|
extern int CKTconvTest(CKTcircuit *);
|
||||||
|
|
@ -289,7 +289,7 @@ extern int CKTdltAnal(void *, void *, void *);
|
||||||
extern int CKTdltInst(CKTcircuit *, void *);
|
extern int CKTdltInst(CKTcircuit *, void *);
|
||||||
extern int CKTdltMod(CKTcircuit *, GENmodel *);
|
extern int CKTdltMod(CKTcircuit *, GENmodel *);
|
||||||
extern int CKTdltNNum(CKTcircuit *, int);
|
extern int CKTdltNNum(CKTcircuit *, int);
|
||||||
extern int CKTdltNod(CKTcircuit *, void *);
|
extern int CKTdltNod(CKTcircuit *, CKTnode *);
|
||||||
extern int CKTdoJob(CKTcircuit *, int , void *);
|
extern int CKTdoJob(CKTcircuit *, int , void *);
|
||||||
extern void CKTdump(CKTcircuit *, double, void *);
|
extern void CKTdump(CKTcircuit *, double, void *);
|
||||||
#ifdef CIDER
|
#ifdef CIDER
|
||||||
|
|
@ -300,15 +300,15 @@ extern int CKTfndAnal(CKTcircuit *, int *, void **, IFuid , void *, IFuid);
|
||||||
extern int CKTfndBranch(CKTcircuit *, IFuid);
|
extern int CKTfndBranch(CKTcircuit *, IFuid);
|
||||||
extern int CKTfndDev(CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid);
|
extern int CKTfndDev(CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid);
|
||||||
extern int CKTfndMod(CKTcircuit *, int *, GENmodel **, IFuid);
|
extern int CKTfndMod(CKTcircuit *, int *, GENmodel **, IFuid);
|
||||||
extern int CKTfndNode(CKTcircuit *, void **, IFuid);
|
extern int CKTfndNode(CKTcircuit *, CKTnode **, IFuid);
|
||||||
extern int CKTfndTask(CKTcircuit *, void **, IFuid );
|
extern int CKTfndTask(CKTcircuit *, void **, IFuid );
|
||||||
extern int CKTground(CKTcircuit *, void **, IFuid);
|
extern int CKTground(CKTcircuit *, CKTnode **, IFuid);
|
||||||
extern int CKTic(CKTcircuit *);
|
extern int CKTic(CKTcircuit *);
|
||||||
extern int CKTinit(CKTcircuit **);
|
extern int CKTinit(CKTcircuit **);
|
||||||
extern int CKTinst2Node(CKTcircuit *, void *, int , CKTnode **, IFuid *);
|
extern int CKTinst2Node(CKTcircuit *, void *, int , CKTnode **, IFuid *);
|
||||||
extern int CKTlinkEq(CKTcircuit *, CKTnode *);
|
extern int CKTlinkEq(CKTcircuit *, CKTnode *);
|
||||||
extern int CKTload(CKTcircuit *);
|
extern int CKTload(CKTcircuit *);
|
||||||
extern int CKTmapNode(CKTcircuit *, void **, IFuid);
|
extern int CKTmapNode(CKTcircuit *, CKTnode **, IFuid);
|
||||||
extern int CKTmkCur(CKTcircuit *, CKTnode **, IFuid , char *);
|
extern int CKTmkCur(CKTcircuit *, CKTnode **, IFuid , char *);
|
||||||
extern int CKTmkNode(CKTcircuit *, CKTnode **);
|
extern int CKTmkNode(CKTcircuit *, CKTnode **);
|
||||||
extern int CKTmkVolt(CKTcircuit *, CKTnode **, IFuid , char *);
|
extern int CKTmkVolt(CKTcircuit *, CKTnode **, IFuid , char *);
|
||||||
|
|
@ -317,8 +317,8 @@ extern int CKTmodCrt(CKTcircuit *, int , GENmodel **, IFuid);
|
||||||
extern int CKTmodParam(CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
extern int CKTmodParam(CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTnames(CKTcircuit *, int *, IFuid **);
|
extern int CKTnames(CKTcircuit *, int *, IFuid **);
|
||||||
extern int CKTnewAnal(CKTcircuit *, int , IFuid , void **, void *);
|
extern int CKTnewAnal(CKTcircuit *, int , IFuid , void **, void *);
|
||||||
extern int CKTnewEq(CKTcircuit *, void **, IFuid);
|
extern int CKTnewEq(CKTcircuit *, CKTnode **, IFuid);
|
||||||
extern int CKTnewNode(CKTcircuit *, void **, IFuid);
|
extern int CKTnewNode(CKTcircuit *, CKTnode **, IFuid);
|
||||||
extern int CKTnewTask(CKTcircuit *, void **, IFuid, void **);
|
extern int CKTnewTask(CKTcircuit *, void **, IFuid, void **);
|
||||||
extern int CKTnoise (CKTcircuit *ckt, int mode, int operation, Ndata *data);
|
extern int CKTnoise (CKTcircuit *ckt, int mode, int operation, Ndata *data);
|
||||||
extern IFuid CKTnodName(CKTcircuit *, int);
|
extern IFuid CKTnodName(CKTcircuit *, int);
|
||||||
|
|
@ -341,7 +341,7 @@ extern int CKTsenSetup(CKTcircuit *);
|
||||||
extern int CKTsenUpdate(CKTcircuit *);
|
extern int CKTsenUpdate(CKTcircuit *);
|
||||||
extern int CKTsetAnalPm(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
extern int CKTsetAnalPm(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTsetBreak(CKTcircuit *, double);
|
extern int CKTsetBreak(CKTcircuit *, double);
|
||||||
extern int CKTsetNodPm(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
extern int CKTsetNodPm(CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||||
extern int CKTsetOpt(CKTcircuit *, void *, int , IFvalue *);
|
extern int CKTsetOpt(CKTcircuit *, void *, int , IFvalue *);
|
||||||
extern int CKTsetup(CKTcircuit *);
|
extern int CKTsetup(CKTcircuit *);
|
||||||
extern int CKTunsetup(CKTcircuit *);
|
extern int CKTunsetup(CKTcircuit *);
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ union IFvalue {
|
||||||
IFcomplex cValue; /* complex valued data */
|
IFcomplex cValue; /* complex valued data */
|
||||||
char *sValue; /* string valued data */
|
char *sValue; /* string valued data */
|
||||||
IFuid uValue; /* UID valued data */
|
IFuid uValue; /* UID valued data */
|
||||||
IFnode nValue; /* node valued data */
|
CKTnode *nValue; /* node valued data */
|
||||||
IFparseTree *tValue; /* parse tree */
|
IFparseTree *tValue; /* parse tree */
|
||||||
struct {
|
struct {
|
||||||
int numValue; /* length of vector */
|
int numValue; /* length of vector */
|
||||||
|
|
@ -347,21 +347,21 @@ struct IFsimulator {
|
||||||
int (*deleteCircuit) (CKTcircuit *);
|
int (*deleteCircuit) (CKTcircuit *);
|
||||||
/* destroy old circuit's data structures*/
|
/* destroy old circuit's data structures*/
|
||||||
|
|
||||||
int (*newNode) (CKTcircuit *, void **, IFuid);
|
int (*newNode) (CKTcircuit *, CKTnode **, IFuid);
|
||||||
/* create new node */
|
/* create new node */
|
||||||
int (*groundNode) (CKTcircuit *, void **, IFuid);
|
int (*groundNode) (CKTcircuit *, CKTnode **, IFuid);
|
||||||
/* create ground node */
|
/* create ground node */
|
||||||
int (*bindNode) (CKTcircuit *, GENinstance *, int, void *);
|
int (*bindNode) (CKTcircuit *, GENinstance *, int, CKTnode *);
|
||||||
/* bind a node to a terminal */
|
/* bind a node to a terminal */
|
||||||
int (*findNode) (CKTcircuit *, void **, IFuid);
|
int (*findNode) (CKTcircuit *, CKTnode **, IFuid);
|
||||||
/* find a node by name */
|
/* find a node by name */
|
||||||
int (*instToNode) (CKTcircuit *, void *, int, void **, IFuid *);
|
int (*instToNode) (CKTcircuit *, void *, int, void **, IFuid *);
|
||||||
/* find the node attached to a terminal */
|
/* find the node attached to a terminal */
|
||||||
int (*setNodeParm) (CKTcircuit *, void *, int, IFvalue *, IFvalue *);
|
int (*setNodeParm) (CKTcircuit *, CKTnode *, int, IFvalue *, IFvalue *);
|
||||||
/* set a parameter on a node */
|
/* set a parameter on a node */
|
||||||
int (*askNodeQuest) (CKTcircuit *, void *, int, IFvalue *, IFvalue *);
|
int (*askNodeQuest) (CKTcircuit *, CKTnode *, int, IFvalue *, IFvalue *);
|
||||||
/* ask a question about a node */
|
/* ask a question about a node */
|
||||||
int (*deleteNode) (CKTcircuit *, void *);
|
int (*deleteNode) (CKTcircuit *, CKTnode *);
|
||||||
/* delete a node from the circuit */
|
/* delete a node from the circuit */
|
||||||
|
|
||||||
int (*newInstance) (CKTcircuit *, GENmodel *, GENinstance **, IFuid);
|
int (*newInstance) (CKTcircuit *, GENmodel *, GENinstance **, IFuid);
|
||||||
|
|
@ -429,7 +429,7 @@ struct IFsimulator {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct IFfrontEnd {
|
struct IFfrontEnd {
|
||||||
int (*IFnewUid) (CKTcircuit *, IFuid *, IFuid, char *, int, void **);
|
int (*IFnewUid) (CKTcircuit *, IFuid *, IFuid, char *, int, CKTnode **);
|
||||||
/* create a new UID in the circuit */
|
/* create a new UID in the circuit */
|
||||||
int (*IFdelUid) (CKTcircuit *, IFuid, int);
|
int (*IFdelUid) (CKTcircuit *, IFuid, int);
|
||||||
/* create a new UID in the circuit */
|
/* create a new UID in the circuit */
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ struct INPtab {
|
||||||
|
|
||||||
struct INPnTab {
|
struct INPnTab {
|
||||||
char *t_ent;
|
char *t_ent;
|
||||||
void *t_node;
|
CKTnode *t_node;
|
||||||
struct INPnTab *t_next;
|
struct INPnTab *t_next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -86,7 +86,7 @@ struct INPmodel{
|
||||||
#define LOGICAL 1
|
#define LOGICAL 1
|
||||||
#define PHYSICAL 2
|
#define PHYSICAL 2
|
||||||
|
|
||||||
int IFnewUid(CKTcircuit *, IFuid *, IFuid, char *, int, void **);
|
int IFnewUid(CKTcircuit *, IFuid *, IFuid, char *, int, CKTnode **);
|
||||||
int IFdelUid(CKTcircuit *, IFuid, int);
|
int IFdelUid(CKTcircuit *, IFuid, int);
|
||||||
int INPaName(char *, IFvalue *, CKTcircuit *, int *, char *, GENinstance **, IFsimulator *, int *,
|
int INPaName(char *, IFvalue *, CKTcircuit *, int *, char *, GENinstance **, IFsimulator *, int *,
|
||||||
IFvalue *);
|
IFvalue *);
|
||||||
|
|
@ -105,7 +105,7 @@ int INPgetTok(char **, char **, int);
|
||||||
int INPgetNetTok(char **, char **, int);
|
int INPgetNetTok(char **, char **, int);
|
||||||
void INPgetTree(char **, INPparseTree **, CKTcircuit *, INPtables *);
|
void INPgetTree(char **, INPparseTree **, CKTcircuit *, INPtables *);
|
||||||
IFvalue *INPgetValue(CKTcircuit *, char **, int, INPtables *);
|
IFvalue *INPgetValue(CKTcircuit *, char **, int, INPtables *);
|
||||||
int INPgndInsert(CKTcircuit *, char **, INPtables *, void **);
|
int INPgndInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||||
int INPinsertNofree(char **token, INPtables *tab);
|
int INPinsertNofree(char **token, INPtables *tab);
|
||||||
int INPinsert(char **, INPtables *);
|
int INPinsert(char **, INPtables *);
|
||||||
int INPretrieve(char **, INPtables *);
|
int INPretrieve(char **, INPtables *);
|
||||||
|
|
@ -117,8 +117,8 @@ void INPpas1(CKTcircuit *, card *, INPtables *);
|
||||||
void INPpas2(CKTcircuit *, card *, INPtables *, void *);
|
void INPpas2(CKTcircuit *, card *, INPtables *, void *);
|
||||||
void INPpas3(CKTcircuit *, card *, INPtables *, void *, IFparm *, int);
|
void INPpas3(CKTcircuit *, card *, INPtables *, void *, IFparm *, int);
|
||||||
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
||||||
int INPtermInsert(CKTcircuit *, char **, INPtables *, void **);
|
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||||
int INPmkTerm(CKTcircuit *, char **, INPtables *, void **);
|
int INPmkTerm(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||||
int INPtypelook(char *);
|
int INPtypelook(char *);
|
||||||
void INP2B(CKTcircuit *, INPtables *, card *);
|
void INP2B(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2C(CKTcircuit *, INPtables *, card *);
|
void INP2C(CKTcircuit *, INPtables *, card *);
|
||||||
|
|
@ -135,7 +135,7 @@ void INP2M(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2N(CKTcircuit *, INPtables *, card *);
|
void INP2N(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2O(CKTcircuit *, INPtables *, card *);
|
void INP2O(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2P(CKTcircuit *, INPtables *, card *);
|
void INP2P(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2Q(CKTcircuit *, INPtables *, card *, void *);
|
void INP2Q(CKTcircuit *, INPtables *, card *, CKTnode *);
|
||||||
void INP2R(CKTcircuit *, INPtables *, card *);
|
void INP2R(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2S(CKTcircuit *, INPtables *, card *);
|
void INP2S(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2T(CKTcircuit *, INPtables *, card *);
|
void INP2T(CKTcircuit *, INPtables *, card *);
|
||||||
|
|
@ -144,7 +144,7 @@ void INP2V(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2W(CKTcircuit *, INPtables *, card *);
|
void INP2W(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2Y(CKTcircuit *, INPtables *, card *);
|
void INP2Y(CKTcircuit *, INPtables *, card *);
|
||||||
void INP2Z(CKTcircuit *, INPtables *, card *);
|
void INP2Z(CKTcircuit *, INPtables *, card *);
|
||||||
int INP2dot(CKTcircuit *, INPtables *, card *, void *, void *);
|
int INP2dot(CKTcircuit *, INPtables *, card *, void *, CKTnode *);
|
||||||
INPtables *INPtabInit(int);
|
INPtables *INPtabInit(int);
|
||||||
void INPkillMods(void);
|
void INPkillMods(void);
|
||||||
void INPtabEnd(INPtables *);
|
void INPtabEnd(INPtables *);
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ typedef struct {
|
||||||
int JOBtype;
|
int JOBtype;
|
||||||
JOB *JOBnextJob; /* pointer to next thing to do */
|
JOB *JOBnextJob; /* pointer to next thing to do */
|
||||||
char *JOBname; /* name of this job */
|
char *JOBname; /* name of this job */
|
||||||
IFnode output; /* noise output summation node */
|
CKTnode *output; /* noise output summation node */
|
||||||
IFnode outputRef; /* noise output reference node */
|
CKTnode *outputRef; /* noise output reference node */
|
||||||
IFuid input; /* name of the AC source used as input reference */
|
IFuid input; /* name of the AC source used as input reference */
|
||||||
double NstartFreq;
|
double NstartFreq;
|
||||||
double NstopFreq;
|
double NstopFreq;
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ int CKTaccept( CKTcircuit *);
|
||||||
int CKTacct( CKTcircuit *, void *, int , IFvalue *);
|
int CKTacct( CKTcircuit *, void *, int , IFvalue *);
|
||||||
int CKTask( CKTcircuit *, GENinstance *, int , IFvalue *, IFvalue *);
|
int CKTask( CKTcircuit *, GENinstance *, int , IFvalue *, IFvalue *);
|
||||||
int CKTaskAnalQ( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
int CKTaskAnalQ( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||||
int CKTaskNodQst( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
int CKTaskNodQst( CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||||
int CKTbindNode( CKTcircuit *, GENinstance *, int , void *);
|
int CKTbindNode( CKTcircuit *, GENinstance *, int , CKTnode *);
|
||||||
void CKTbreakDump( CKTcircuit *);
|
void CKTbreakDump( CKTcircuit *);
|
||||||
int CKTclrBreak( CKTcircuit *);
|
int CKTclrBreak( CKTcircuit *);
|
||||||
int CKTconvTest( CKTcircuit *);
|
int CKTconvTest( CKTcircuit *);
|
||||||
|
|
@ -31,22 +31,22 @@ int CKTdestroy( CKTcircuit *);
|
||||||
int CKTdltAnal( void *, void *, void *);
|
int CKTdltAnal( void *, void *, void *);
|
||||||
int CKTdltInst( CKTcircuit *, void *);
|
int CKTdltInst( CKTcircuit *, void *);
|
||||||
int CKTdltMod( CKTcircuit *, GENmodel *);
|
int CKTdltMod( CKTcircuit *, GENmodel *);
|
||||||
int CKTdltNod( CKTcircuit *, void *);
|
int CKTdltNod( CKTcircuit *, CKTnode *);
|
||||||
int CKTdoJob( CKTcircuit *, int , void *);
|
int CKTdoJob( CKTcircuit *, int , void *);
|
||||||
void CKTdump( CKTcircuit *, double, void *);
|
void CKTdump( CKTcircuit *, double, void *);
|
||||||
int CKTfndAnal( CKTcircuit *, int *, void **, IFuid , void *, IFuid );
|
int CKTfndAnal( CKTcircuit *, int *, void **, IFuid , void *, IFuid );
|
||||||
int CKTfndBranch( CKTcircuit *, IFuid);
|
int CKTfndBranch( CKTcircuit *, IFuid);
|
||||||
int CKTfndDev( CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid );
|
int CKTfndDev( CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid );
|
||||||
int CKTfndMod( CKTcircuit *, int *, GENmodel **, IFuid );
|
int CKTfndMod( CKTcircuit *, int *, GENmodel **, IFuid );
|
||||||
int CKTfndNode( CKTcircuit *, void **, IFuid );
|
int CKTfndNode( CKTcircuit *, CKTnode **, IFuid );
|
||||||
int CKTfndTask( CKTcircuit *, void **, IFuid );
|
int CKTfndTask( CKTcircuit *, void **, IFuid );
|
||||||
int CKTground( CKTcircuit *, void **, IFuid );
|
int CKTground( CKTcircuit *, CKTnode **, IFuid );
|
||||||
int CKTic( CKTcircuit *);
|
int CKTic( CKTcircuit *);
|
||||||
int CKTinit( CKTcircuit **);
|
int CKTinit( CKTcircuit **);
|
||||||
int CKTinst2Node( CKTcircuit *, void *, int , CKTnode **, IFuid *);
|
int CKTinst2Node( CKTcircuit *, void *, int , CKTnode **, IFuid *);
|
||||||
int CKTlinkEq(CKTcircuit*,CKTnode*);
|
int CKTlinkEq(CKTcircuit*,CKTnode*);
|
||||||
int CKTload( CKTcircuit *);
|
int CKTload( CKTcircuit *);
|
||||||
int CKTmapNode( CKTcircuit *, void **, IFuid );
|
int CKTmapNode( CKTcircuit *, CKTnode **, IFuid );
|
||||||
int CKTmkCur( CKTcircuit *, CKTnode **, IFuid , char *);
|
int CKTmkCur( CKTcircuit *, CKTnode **, IFuid , char *);
|
||||||
int CKTmkNode(CKTcircuit*,CKTnode**);
|
int CKTmkNode(CKTcircuit*,CKTnode**);
|
||||||
int CKTmkVolt( CKTcircuit *, CKTnode **, IFuid , char *);
|
int CKTmkVolt( CKTcircuit *, CKTnode **, IFuid , char *);
|
||||||
|
|
@ -55,8 +55,8 @@ int CKTmodCrt( CKTcircuit *, int , GENmodel **, IFuid );
|
||||||
int CKTmodParam( CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
int CKTmodParam( CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
||||||
int CKTnames(CKTcircuit *, int *, IFuid **);
|
int CKTnames(CKTcircuit *, int *, IFuid **);
|
||||||
int CKTnewAnal( CKTcircuit *, int , IFuid , void **, void *);
|
int CKTnewAnal( CKTcircuit *, int , IFuid , void **, void *);
|
||||||
int CKTnewEq( CKTcircuit *, void **, IFuid );
|
int CKTnewEq( CKTcircuit *, CKTnode **, IFuid );
|
||||||
int CKTnewNode( CKTcircuit *, void **, IFuid );
|
int CKTnewNode( CKTcircuit *, CKTnode **, IFuid );
|
||||||
int CKTnewTask( CKTcircuit *, void **, IFuid );
|
int CKTnewTask( CKTcircuit *, void **, IFuid );
|
||||||
IFuid CKTnodName( CKTcircuit *, int );
|
IFuid CKTnodName( CKTcircuit *, int );
|
||||||
void CKTnodOut( CKTcircuit *);
|
void CKTnodOut( CKTcircuit *);
|
||||||
|
|
@ -77,7 +77,7 @@ int CKTsenSetup( CKTcircuit *);
|
||||||
int CKTsenUpdate( CKTcircuit *);
|
int CKTsenUpdate( CKTcircuit *);
|
||||||
int CKTsetAnalPm( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
int CKTsetAnalPm( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||||
int CKTsetBreak( CKTcircuit *, double );
|
int CKTsetBreak( CKTcircuit *, double );
|
||||||
int CKTsetNodPm( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
int CKTsetNodPm( CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||||
int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *);
|
int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *);
|
||||||
int CKTsetup( CKTcircuit *);
|
int CKTsetup( CKTcircuit *);
|
||||||
int CKTunsetup(CKTcircuit *ckt);
|
int CKTunsetup(CKTcircuit *ckt);
|
||||||
|
|
|
||||||
|
|
@ -19,21 +19,21 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
int
|
int
|
||||||
CKTaskNodQst(CKTcircuit *ckt, void *node, int parm, IFvalue *value, IFvalue *selector)
|
CKTaskNodQst(CKTcircuit *ckt, CKTnode *node, int parm, IFvalue *value, IFvalue *selector)
|
||||||
{
|
{
|
||||||
if(!node) return(E_BADPARM);
|
if(!node) return(E_BADPARM);
|
||||||
switch(parm) {
|
switch(parm) {
|
||||||
|
|
||||||
case PARM_NS:
|
case PARM_NS:
|
||||||
value->rValue = ((CKTnode *)node)->nodeset;
|
value->rValue = node->nodeset;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARM_IC:
|
case PARM_IC:
|
||||||
value->rValue = ((CKTnode *)node)->ic;
|
value->rValue = node->ic;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARM_NODETYPE:
|
case PARM_NODETYPE:
|
||||||
value->iValue = ((CKTnode *)node)->type;
|
value->iValue = node->type;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ int CKTdltNNum(CKTcircuit *cktp, int num);
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
int
|
int
|
||||||
CKTdltNod(CKTcircuit *ckt, void *node)
|
CKTdltNod(CKTcircuit *ckt, CKTnode *node)
|
||||||
{
|
{
|
||||||
return CKTdltNNum(ckt, ((CKTnode *) node)->number);
|
return CKTdltNNum(ckt, node->number);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
int
|
int
|
||||||
CKTfndNode(CKTcircuit *ckt, void **node, IFuid name)
|
CKTfndNode(CKTcircuit *ckt, CKTnode **node, IFuid name)
|
||||||
{
|
{
|
||||||
CKTnode *here;
|
CKTnode *here;
|
||||||
|
|
||||||
for (here = ckt->CKTnodes; here; here = here->next) {
|
for (here = ckt->CKTnodes; here; here = here->next) {
|
||||||
if(here->name == name) {
|
if(here->name == name) {
|
||||||
if(node) *node = (char *)here;
|
if(node) *node = here;
|
||||||
return(OK);
|
return(OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,14 +17,14 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
CKTground(CKTcircuit *inCkt, void **node, IFuid name)
|
CKTground(CKTcircuit *inCkt, CKTnode **node, IFuid name)
|
||||||
{
|
{
|
||||||
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
||||||
|
|
||||||
if(ckt->CKTnodes) {
|
if(ckt->CKTnodes) {
|
||||||
if(ckt->CKTnodes->name) {
|
if(ckt->CKTnodes->name) {
|
||||||
/*already exists - keep old name, but return it */
|
/*already exists - keep old name, but return it */
|
||||||
if(node)*node = (char *)ckt->CKTnodes;
|
if(node) *node = ckt->CKTnodes;
|
||||||
return(E_EXISTS);
|
return(E_EXISTS);
|
||||||
}
|
}
|
||||||
ckt->CKTnodes->name = name;
|
ckt->CKTnodes->name = name;
|
||||||
|
|
@ -39,7 +39,7 @@ CKTground(CKTcircuit *inCkt, void **node, IFuid name)
|
||||||
ckt->CKTnodes->next = (CKTnode *)NULL;
|
ckt->CKTnodes->next = (CKTnode *)NULL;
|
||||||
ckt->CKTlastNode = ckt->CKTnodes;
|
ckt->CKTlastNode = ckt->CKTnodes;
|
||||||
}
|
}
|
||||||
if(node)*node = (char *)ckt->CKTnodes;
|
if(node) *node = ckt->CKTnodes;
|
||||||
return(OK);
|
return(OK);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
/* ARGSUSED *//* fixme abandoned */
|
/* ARGSUSED *//* fixme abandoned */
|
||||||
int
|
int
|
||||||
CKTmapNode(CKTcircuit *ckt, void **node, IFuid name)
|
CKTmapNode(CKTcircuit *ckt, CKTnode **node, IFuid name)
|
||||||
{
|
{
|
||||||
CKTnode *here;
|
CKTnode *here;
|
||||||
int error;
|
int error;
|
||||||
|
|
@ -28,7 +28,7 @@ CKTmapNode(CKTcircuit *ckt, void **node, IFuid name)
|
||||||
|
|
||||||
for (here = ckt->CKTnodes; here; here = here->next) {
|
for (here = ckt->CKTnodes; here; here = here->next) {
|
||||||
if(here->name == name) {
|
if(here->name == name) {
|
||||||
if(node) *node = (char *)here;
|
if(node) *node = here;
|
||||||
return(E_EXISTS);
|
return(E_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -40,11 +40,11 @@ CKTmapNode(CKTcircuit *ckt, void **node, IFuid name)
|
||||||
(IFuid) NULL,
|
(IFuid) NULL,
|
||||||
name,
|
name,
|
||||||
UID_SIGNAL,
|
UID_SIGNAL,
|
||||||
(void**)&mynode); /* get a uid for it */
|
&mynode); /* get a uid for it */
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
mynode->name = uid; /* set the info we have */
|
mynode->name = uid; /* set the info we have */
|
||||||
mynode->type = SP_VOLTAGE;
|
mynode->type = SP_VOLTAGE;
|
||||||
error = CKTlinkEq(ckt,mynode); /* and link it in */
|
error = CKTlinkEq(ckt,mynode); /* and link it in */
|
||||||
if(node) *node = (void *)mynode; /* and finally, return it */
|
if(node) *node = mynode; /* and finally, return it */
|
||||||
return(OK);
|
return(OK);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ CKTmkCur(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
checknode = mynode;
|
checknode = mynode;
|
||||||
error = (*(SPfrontEnd->IFnewUid))(ckt,&uid,basename,
|
error = (*(SPfrontEnd->IFnewUid))(ckt,&uid,basename,
|
||||||
suffix,UID_SIGNAL,(void**)&checknode);
|
suffix, UID_SIGNAL, &checknode);
|
||||||
if(error) {
|
if(error) {
|
||||||
FREE(mynode);
|
FREE(mynode);
|
||||||
if(node) *node = checknode;
|
if(node) *node = checknode;
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ CKTmkVolt(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
checknode = mynode;
|
checknode = mynode;
|
||||||
error = (*(SPfrontEnd->IFnewUid))(ckt,&uid,basename,
|
error = (*(SPfrontEnd->IFnewUid))(ckt,&uid,basename,
|
||||||
suffix,UID_SIGNAL,(void**)&checknode);
|
suffix, UID_SIGNAL, &checknode);
|
||||||
if(error) {
|
if(error) {
|
||||||
FREE(mynode);
|
FREE(mynode);
|
||||||
if(node) *node = checknode;
|
if(node) *node = checknode;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
CKTnewEq(CKTcircuit *inCkt, void **node, IFuid name)
|
CKTnewEq(CKTcircuit *inCkt, CKTnode **node, IFuid name)
|
||||||
{
|
{
|
||||||
CKTnode *mynode;
|
CKTnode *mynode;
|
||||||
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
||||||
|
|
@ -28,7 +28,7 @@ CKTnewEq(CKTcircuit *inCkt, void **node, IFuid name)
|
||||||
error = CKTmkNode(ckt,&mynode);
|
error = CKTmkNode(ckt,&mynode);
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
|
|
||||||
if(node) *node = (void *)mynode;
|
if(node) *node = mynode;
|
||||||
mynode->name = name;
|
mynode->name = name;
|
||||||
|
|
||||||
error = CKTlinkEq(ckt,mynode);
|
error = CKTlinkEq(ckt,mynode);
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
/* should just call CKTnewEQ and set node type afterwards */
|
/* should just call CKTnewEQ and set node type afterwards */
|
||||||
int
|
int
|
||||||
CKTnewNode(CKTcircuit *inCkt, void **node, IFuid name)
|
CKTnewNode(CKTcircuit *inCkt, CKTnode **node, IFuid name)
|
||||||
{
|
{
|
||||||
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
||||||
if(!(ckt->CKTnodes)) { /* starting the list - allocate both ground and 1 */
|
if(!(ckt->CKTnodes)) { /* starting the list - allocate both ground and 1 */
|
||||||
|
|
@ -39,6 +39,6 @@ CKTnewNode(CKTcircuit *inCkt, void **node, IFuid name)
|
||||||
ckt->CKTlastNode->type = SP_VOLTAGE;
|
ckt->CKTlastNode->type = SP_VOLTAGE;
|
||||||
ckt->CKTlastNode->next = (CKTnode *)NULL;
|
ckt->CKTlastNode->next = (CKTnode *)NULL;
|
||||||
|
|
||||||
if(node) *node = (void *)ckt->CKTlastNode;
|
if(node) *node = ckt->CKTlastNode;
|
||||||
return(OK);
|
return(OK);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,23 +18,23 @@ Author: 1985 Thomas L. Quarles
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
int
|
int
|
||||||
CKTsetNodPm(CKTcircuit *ckt, void *node, int parm, IFvalue *value, IFvalue *selector)
|
CKTsetNodPm(CKTcircuit *ckt, CKTnode *node, int parm, IFvalue *value, IFvalue *selector)
|
||||||
{
|
{
|
||||||
if(!node) return(E_BADPARM);
|
if(!node) return(E_BADPARM);
|
||||||
switch(parm) {
|
switch(parm) {
|
||||||
|
|
||||||
case PARM_NS:
|
case PARM_NS:
|
||||||
((CKTnode *)node)->nodeset = value->rValue;
|
node->nodeset = value->rValue;
|
||||||
((CKTnode *)node)->nsGiven = 1;
|
node->nsGiven = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARM_IC:
|
case PARM_IC:
|
||||||
((CKTnode *)node)->ic = value->rValue;
|
node->ic = value->rValue;
|
||||||
((CKTnode *)node)->icGiven = 1;
|
node->icGiven = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PARM_NODETYPE:
|
case PARM_NODETYPE:
|
||||||
((CKTnode *)node)->type = value->iValue;
|
node->type = value->iValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ NOISEan (CKTcircuit *ckt, int restart)
|
||||||
NOISEAN *job = (NOISEAN*) (ckt->CKTcurJob);
|
NOISEAN *job = (NOISEAN*) (ckt->CKTcurJob);
|
||||||
static char *noacinput = "noise input source has no AC value";
|
static char *noacinput = "noise input source has no AC value";
|
||||||
|
|
||||||
posOutNode = ((CKTnode*) (job->output))->number;
|
posOutNode = (job->output) -> number;
|
||||||
negOutNode = ((CKTnode*) (job->outputRef))->number;
|
negOutNode = (job->outputRef) -> number;
|
||||||
|
|
||||||
/* see if the source specified is AC */
|
/* see if the source specified is AC */
|
||||||
inst = NULL;
|
inst = NULL;
|
||||||
|
|
|
||||||
|
|
@ -18,19 +18,19 @@ PZaskQuest(CKTcircuit *ckt, void *anal, int which, IFvalue *value)
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case PZ_NODEI:
|
case PZ_NODEI:
|
||||||
value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZin_pos);
|
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_pos);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEG:
|
case PZ_NODEG:
|
||||||
value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZin_neg);
|
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_neg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEJ:
|
case PZ_NODEJ:
|
||||||
value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZout_pos);
|
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_pos);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEK:
|
case PZ_NODEK:
|
||||||
value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZout_neg);
|
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_neg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_V:
|
case PZ_V:
|
||||||
|
|
|
||||||
|
|
@ -19,19 +19,19 @@ PZsetParm(CKTcircuit *ckt, void *anal, int which, IFvalue *value)
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case PZ_NODEI:
|
case PZ_NODEI:
|
||||||
((PZAN*)anal)->PZin_pos = ((CKTnode*)value->nValue)->number;
|
((PZAN*)anal)->PZin_pos = (value->nValue)->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEG:
|
case PZ_NODEG:
|
||||||
((PZAN*)anal)->PZin_neg = ((CKTnode*)value->nValue)->number;
|
((PZAN*)anal)->PZin_neg = (value->nValue)->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEJ:
|
case PZ_NODEJ:
|
||||||
((PZAN*)anal)->PZout_pos = ((CKTnode*)value->nValue)->number;
|
((PZAN*)anal)->PZout_pos = (value->nValue)->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEK:
|
case PZ_NODEK:
|
||||||
((PZAN*)anal)->PZout_neg = ((CKTnode*)value->nValue)->number;
|
((PZAN*)anal)->PZout_neg = (value->nValue)->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_V:
|
case PZ_V:
|
||||||
|
|
|
||||||
|
|
@ -19,14 +19,14 @@ SENSsetParam(CKTcircuit *ckt, void *anal, int which, IFvalue *value)
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case SENS_POS:
|
case SENS_POS:
|
||||||
sinfo->output_pos = (CKTnode *) value->nValue;
|
sinfo->output_pos = value->nValue;
|
||||||
sinfo->output_neg = NULL;
|
sinfo->output_neg = NULL;
|
||||||
sinfo->output_volt = 1;
|
sinfo->output_volt = 1;
|
||||||
sinfo->step_type = SENS_DC;
|
sinfo->step_type = SENS_DC;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SENS_NEG:
|
case SENS_NEG:
|
||||||
sinfo->output_neg = (CKTnode *) value->nValue;
|
sinfo->output_neg = value->nValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SENS_SRC:
|
case SENS_SRC:
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,12 @@ TFsetParm(CKTcircuit *ckt, void *anal, int which, IFvalue *value)
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case TF_OUTPOS:
|
case TF_OUTPOS:
|
||||||
((TFan *)anal)->TFoutPos = (CKTnode *)value->nValue;
|
((TFan *)anal)->TFoutPos = value->nValue;
|
||||||
((TFan *)anal)->TFoutIsV = TRUE;
|
((TFan *)anal)->TFoutIsV = TRUE;
|
||||||
((TFan *)anal)->TFoutIsI = FALSE;
|
((TFan *)anal)->TFoutIsI = FALSE;
|
||||||
break;
|
break;
|
||||||
case TF_OUTNEG:
|
case TF_OUTNEG:
|
||||||
((TFan *)anal)->TFoutNeg = (CKTnode *)value->nValue;
|
((TFan *)anal)->TFoutNeg = value->nValue;
|
||||||
((TFan *)anal)->TFoutIsV = TRUE;
|
((TFan *)anal)->TFoutIsV = TRUE;
|
||||||
((TFan *)anal)->TFoutIsI = FALSE;
|
((TFan *)anal)->TFoutIsI = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ ASRCconvTest(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
branch = CKTfndBranch(ckt,here->ASRCtree->vars[i].uValue);
|
branch = CKTfndBranch(ckt,here->ASRCtree->vars[i].uValue);
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld+branch);
|
asrc_vals[i] = *(ckt->CKTrhsOld+branch);
|
||||||
} else {
|
} else {
|
||||||
node_num = ((CKTnode *)(here->ASRCtree->vars[i].nValue))
|
node_num = (here->ASRCtree->vars[i].nValue)
|
||||||
->number;
|
->number;
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld+node_num);
|
asrc_vals[i] = *(ckt->CKTrhsOld+node_num);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ ASRCload(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
int branch = CKTfndBranch(ckt, here->ASRCtree->vars[i].uValue);
|
int branch = CKTfndBranch(ckt, here->ASRCtree->vars[i].uValue);
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld + branch);
|
asrc_vals[i] = *(ckt->CKTrhsOld + branch);
|
||||||
} else {
|
} else {
|
||||||
int node_num = ((CKTnode *)(here->ASRCtree->vars[i]. nValue))->number;
|
int node_num = (here->ASRCtree->vars[i].nValue) -> number;
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld + node_num);
|
asrc_vals[i] = *(ckt->CKTrhsOld + node_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ ASRCpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
||||||
int branch = CKTfndBranch(ckt,here->ASRCtree->vars[i].uValue);
|
int branch = CKTfndBranch(ckt,here->ASRCtree->vars[i].uValue);
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld + branch);
|
asrc_vals[i] = *(ckt->CKTrhsOld + branch);
|
||||||
} else {
|
} else {
|
||||||
int node_num = ((CKTnode *)(here->ASRCtree->vars[i].nValue)) -> number;
|
int node_num = (here->ASRCtree->vars[i].nValue) -> number;
|
||||||
asrc_vals[i] = *(ckt->CKTrhsOld + node_num);
|
asrc_vals[i] = *(ckt->CKTrhsOld + node_num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ if((here->ptr = SMPmakeElt(matrix,here->first,here->second))==(double *)NULL){\
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MY_TSTALLOC(ptr,first,second) \
|
#define MY_TSTALLOC(ptr,first,second) \
|
||||||
if((here->ptr = SMPmakeElt(matrix,here->first,((CKTnode*)(second))->number))\
|
if((here->ptr = SMPmakeElt(matrix, here->first, (second)->number))\
|
||||||
==(double *)NULL){\
|
==(double *)NULL){\
|
||||||
return(E_NOMEM);\
|
return(E_NOMEM);\
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Author: 1985 Thomas L. Quarles
|
||||||
#include "dev.h"
|
#include "dev.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
CKTbindNode(CKTcircuit *ckt, GENinstance *fast, int term, void *node)
|
CKTbindNode(CKTcircuit *ckt, GENinstance *fast, int term, CKTnode *node)
|
||||||
{
|
{
|
||||||
int mappednode;
|
int mappednode;
|
||||||
SPICEdev **devs;
|
SPICEdev **devs;
|
||||||
|
|
@ -24,7 +24,7 @@ CKTbindNode(CKTcircuit *ckt, GENinstance *fast, int term, void *node)
|
||||||
int type = instance->GENmodPtr->GENmodType;
|
int type = instance->GENmodPtr->GENmodType;
|
||||||
|
|
||||||
devs = devices();
|
devs = devices();
|
||||||
mappednode = ((CKTnode *)node)->number;
|
mappednode = node->number;
|
||||||
|
|
||||||
if (*((*devs[type]).DEVpublic.terms) >= term && term >0 ) {
|
if (*((*devs[type]).DEVpublic.terms) >= term && term >0 ) {
|
||||||
switch(term) {
|
switch(term) {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ typedef struct sNDEVinstance {
|
||||||
int NDEVstate; /* pointer to start of state vector for diode */
|
int NDEVstate; /* pointer to start of state vector for diode */
|
||||||
int pin[7]; /* max 7 terminals are allowed */
|
int pin[7]; /* max 7 terminals are allowed */
|
||||||
int term; /* the real number of terminals */
|
int term; /* the real number of terminals */
|
||||||
void *node[7]; /* the array of CKT node's node pointer */
|
CKTnode *node[7]; /* the array of CKT node's node pointer */
|
||||||
char *bname[7]; /* the electrode boundary label for numerical solver */
|
char *bname[7]; /* the electrode boundary label for numerical solver */
|
||||||
sCKTinfo CKTInfo;
|
sCKTinfo CKTInfo;
|
||||||
sDeviceinfo Ndevinfo;
|
sDeviceinfo Ndevinfo;
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ if((here->ptr = SMPmakeElt(matrix,here->first,here->second))==(double *)NULL){\
|
||||||
|
|
||||||
for(i=0;i<here->term;i++)
|
for(i=0;i<here->term;i++)
|
||||||
{
|
{
|
||||||
node = (CKTnode *)here->node[i];
|
node = here->node[i];
|
||||||
here->PINinfos[i].pin=node->number;
|
here->PINinfos[i].pin=node->number;
|
||||||
strncpy(here->PINinfos[i].name,here->bname[i],32);
|
strncpy(here->PINinfos[i].name,here->bname[i],32);
|
||||||
here->PINinfos[i].V = 0.0;
|
here->PINinfos[i].V = 0.0;
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@ URCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
|
||||||
error = CKTbindNode(ckt,fast,1,lowr);
|
error = CKTbindNode(ckt,fast,1,lowr);
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
error = CKTbindNode(ckt,fast,2,
|
error = CKTbindNode(ckt,fast,2,
|
||||||
(void *)CKTnum2nod(ckt, here->URCgndNode));
|
CKTnum2nod(ckt, here->URCgndNode));
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
ptemp.rValue = prop;
|
ptemp.rValue = prop;
|
||||||
error = CKTpName("area",&ptemp,ckt,dtype,nameelt,&fast);
|
error = CKTpName("area",&ptemp,ckt,dtype,nameelt,&fast);
|
||||||
|
|
@ -212,7 +212,7 @@ URCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
|
||||||
error = CKTbindNode(ckt,fast,1,lowr);
|
error = CKTbindNode(ckt,fast,1,lowr);
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
error = CKTbindNode(ckt,fast,2,
|
error = CKTbindNode(ckt,fast,2,
|
||||||
(void *)CKTnum2nod(ckt, here->URCgndNode));
|
CKTnum2nod(ckt, here->URCgndNode));
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
ptemp.rValue = c;
|
ptemp.rValue = c;
|
||||||
error = CKTpName("capacitance",&ptemp,ckt,ctype,nameelt,
|
error = CKTpName("capacitance",&ptemp,ckt,ctype,nameelt,
|
||||||
|
|
@ -236,7 +236,7 @@ URCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
|
||||||
error = CKTbindNode(ckt,fast,1,hil);
|
error = CKTbindNode(ckt,fast,1,hil);
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
error = CKTbindNode(ckt,fast,2,
|
error = CKTbindNode(ckt,fast,2,
|
||||||
(void *)CKTnum2nod(ckt, here->URCgndNode));
|
CKTnum2nod(ckt, here->URCgndNode));
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
ptemp.rValue = prop;
|
ptemp.rValue = prop;
|
||||||
error=CKTpName("area",&ptemp,ckt,dtype,nameelt,&fast);
|
error=CKTpName("area",&ptemp,ckt,dtype,nameelt,&fast);
|
||||||
|
|
@ -256,7 +256,7 @@ URCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
|
||||||
error = CKTbindNode(ckt,fast,1,hil);
|
error = CKTbindNode(ckt,fast,1,hil);
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
error = CKTbindNode(ckt,fast,2,
|
error = CKTbindNode(ckt,fast,2,
|
||||||
(void *)CKTnum2nod(ckt, here->URCgndNode));
|
CKTnum2nod(ckt, here->URCgndNode));
|
||||||
if(error) return(error);
|
if(error) return(error);
|
||||||
ptemp.rValue = c;
|
ptemp.rValue = c;
|
||||||
error =CKTpName("capacitance",&ptemp,ckt,ctype,nameelt,
|
error =CKTpName("capacitance",&ptemp,ckt,ctype,nameelt,
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Author: 1988 Thomas L. Quarles
|
||||||
/* va: we should use tmalloc, whith also makes failure test */
|
/* va: we should use tmalloc, whith also makes failure test */
|
||||||
int
|
int
|
||||||
IFnewUid(CKTcircuit *ckt, IFuid * newuid, IFuid olduid, char *suffix, int type,
|
IFnewUid(CKTcircuit *ckt, IFuid * newuid, IFuid olduid, char *suffix, int type,
|
||||||
void **nodedata)
|
CKTnode **nodedata)
|
||||||
{
|
{
|
||||||
char *newname;
|
char *newname;
|
||||||
int error;
|
int error;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ int IFeval(IFparseTree *tree, double gmin, double *result, double *vals,
|
||||||
/* ifnewuid.c */
|
/* ifnewuid.c */
|
||||||
|
|
||||||
int IFnewUid(CKTcircuit *ckt, IFuid *newuid, IFuid olduid, char *suffix, int type,
|
int IFnewUid(CKTcircuit *ckt, IFuid *newuid, IFuid olduid, char *suffix, int type,
|
||||||
void **nodedata);
|
CKTnode **nodedata);
|
||||||
int IFdelUid(CKTcircuit *ckt, IFuid uid, int type);
|
int IFdelUid(CKTcircuit *ckt, IFuid uid, int type);
|
||||||
|
|
||||||
/* inp2xx.c */
|
/* inp2xx.c */
|
||||||
|
|
@ -33,7 +33,7 @@ void INP2L(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2M(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2M(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2O(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2O(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2P(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2P(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2Q(CKTcircuit *ckt, INPtables *tab, card *current, void *gnode);
|
void INP2Q(CKTcircuit *ckt, INPtables *tab, card *current, CKTnode *gnode);
|
||||||
void INP2R(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2R(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2S(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2S(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2T(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2T(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
|
|
@ -42,7 +42,7 @@ void INP2V(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2W(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2W(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2Y(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2Y(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
void INP2Z(CKTcircuit *ckt, INPtables *tab, card *current);
|
void INP2Z(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||||
int INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, void *gnode);
|
int INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, CKTnode *gnode);
|
||||||
|
|
||||||
/* inpxxxx.c */
|
/* inpxxxx.c */
|
||||||
|
|
||||||
|
|
@ -82,9 +82,9 @@ void INPgetTree(char **line, INPparseTree **pt, CKTcircuit *ckt, INPtables *tab)
|
||||||
/* inpsymt.c */
|
/* inpsymt.c */
|
||||||
|
|
||||||
INPtables * INPtabInit(int numlines);
|
INPtables * INPtabInit(int numlines);
|
||||||
int INPtermInsert(CKTcircuit *ckt, char **token, INPtables *tab, void **node);
|
int INPtermInsert(CKTcircuit *ckt, char **token, INPtables *tab, CKTnode **node);
|
||||||
int INPmkTerm(CKTcircuit *ckt, char **token, INPtables *tab, void **node);
|
int INPmkTerm(CKTcircuit *ckt, char **token, INPtables *tab, CKTnode **node);
|
||||||
int INPgndInsert(CKTcircuit *ckt, char **token, INPtables *tab, void **node);
|
int INPgndInsert(CKTcircuit *ckt, char **token, INPtables *tab, CKTnode **node);
|
||||||
int INPretrieve(char **token, INPtables *tab);
|
int INPretrieve(char **token, INPtables *tab);
|
||||||
int INPinsert(char **token, INPtables *tab);
|
int INPinsert(char **token, INPtables *tab);
|
||||||
int INPinsertNofree(char **token, INPtables *tab);
|
int INPinsertNofree(char **token, INPtables *tab);
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ void INP2B(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
int waslead; /* flag to indicate that funny unlabeled number was found */
|
int waslead; /* flag to indicate that funny unlabeled number was found */
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ void INP2C(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *model; /* the name of the capacitor's model */
|
char *model; /* the name of the capacitor's model */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
double val; /* temp to held resistance */
|
double val; /* temp to held resistance */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int error1; /* secondary error code temporary */
|
int error1; /* secondary error code temporary */
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@ void INP2D(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Modified: 2000 AlansFixes
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
void *task, void *gnode, void *foo)
|
void *task, CKTnode *gnode, void *foo)
|
||||||
{
|
{
|
||||||
int which; /* which analysis we are performing */
|
int which; /* which analysis we are performing */
|
||||||
int i; /* generic loop variable */
|
int i; /* generic loop variable */
|
||||||
|
|
@ -24,8 +24,8 @@ dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
IFvalue *parm; /* a pointer to a value struct for function returns */
|
IFvalue *parm; /* a pointer to a value struct for function returns */
|
||||||
char *steptype; /* ac analysis, type of stepping function */
|
char *steptype; /* ac analysis, type of stepping function */
|
||||||
|
|
@ -59,15 +59,15 @@ dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
|
|
||||||
INPgetNetTok(&line, &nname1, 0);
|
INPgetNetTok(&line, &nname1, 0);
|
||||||
INPtermInsert(ckt, &nname1, tab, &node1);
|
INPtermInsert(ckt, &nname1, tab, &node1);
|
||||||
ptemp.nValue = (IFnode) node1;
|
ptemp.nValue = node1;
|
||||||
GCA(INPapName, (ckt, which, foo, "output", &ptemp))
|
GCA(INPapName, (ckt, which, foo, "output", &ptemp))
|
||||||
|
|
||||||
if (*line != ')') {
|
if (*line != ')') {
|
||||||
INPgetNetTok(&line, &nname2, 1);
|
INPgetNetTok(&line, &nname2, 1);
|
||||||
INPtermInsert(ckt, &nname2, tab, &node2);
|
INPtermInsert(ckt, &nname2, tab, &node2);
|
||||||
ptemp.nValue = (IFnode) node2;
|
ptemp.nValue = node2;
|
||||||
} else {
|
} else {
|
||||||
ptemp.nValue = (IFnode) gnode;
|
ptemp.nValue = gnode;
|
||||||
}
|
}
|
||||||
GCA(INPapName, (ckt, which, foo, "outputref", &ptemp))
|
GCA(INPapName, (ckt, which, foo, "outputref", &ptemp))
|
||||||
|
|
||||||
|
|
@ -320,7 +320,7 @@ dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
void *task, void *gnode, void *foo)
|
void *task, CKTnode *gnode, void *foo)
|
||||||
{
|
{
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
|
|
@ -329,8 +329,8 @@ dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
int i; /* generic loop variable */
|
int i; /* generic loop variable */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
|
|
||||||
/* .tf v( node1, node2 ) src */
|
/* .tf v( node1, node2 ) src */
|
||||||
/* .tf vsrc2 src */
|
/* .tf vsrc2 src */
|
||||||
|
|
@ -354,12 +354,12 @@ dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
}
|
}
|
||||||
INPgetNetTok(&line, &nname1, 0);
|
INPgetNetTok(&line, &nname1, 0);
|
||||||
INPtermInsert(ckt, &nname1, tab, &node1);
|
INPtermInsert(ckt, &nname1, tab, &node1);
|
||||||
ptemp.nValue = (IFnode) node1;
|
ptemp.nValue = node1;
|
||||||
GCA(INPapName, (ckt, which, foo, "outpos", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outpos", &ptemp));
|
||||||
if (*line != ')') {
|
if (*line != ')') {
|
||||||
INPgetNetTok(&line, &nname2, 1);
|
INPgetNetTok(&line, &nname2, 1);
|
||||||
INPtermInsert(ckt, &nname2, tab, &node2);
|
INPtermInsert(ckt, &nname2, tab, &node2);
|
||||||
ptemp.nValue = (IFnode) node2;
|
ptemp.nValue = node2;
|
||||||
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
||||||
ptemp.sValue =
|
ptemp.sValue =
|
||||||
(char *) MALLOC(sizeof(char) *
|
(char *) MALLOC(sizeof(char) *
|
||||||
|
|
@ -367,7 +367,7 @@ dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
(void) sprintf(ptemp.sValue, "V(%s,%s)", nname1, nname2);
|
(void) sprintf(ptemp.sValue, "V(%s,%s)", nname1, nname2);
|
||||||
GCA(INPapName, (ckt, which, foo, "outname", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outname", &ptemp));
|
||||||
} else {
|
} else {
|
||||||
ptemp.nValue = (IFnode) gnode;
|
ptemp.nValue = gnode;
|
||||||
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
||||||
ptemp.sValue =
|
ptemp.sValue =
|
||||||
(char *) MALLOC(sizeof(char) * (4 + strlen(nname1)));
|
(char *) MALLOC(sizeof(char) * (4 + strlen(nname1)));
|
||||||
|
|
@ -447,7 +447,7 @@ dot_tran(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
void *task, void *gnode, void *foo)
|
void *task, CKTnode *gnode, void *foo)
|
||||||
{
|
{
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
|
|
@ -457,8 +457,8 @@ dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
int i; /* generic loop variable */
|
int i; /* generic loop variable */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
char *steptype; /* ac analysis, type of stepping function */
|
char *steptype; /* ac analysis, type of stepping function */
|
||||||
|
|
||||||
which = -1; /* Bug fix from Glao Dezai */
|
which = -1; /* Bug fix from Glao Dezai */
|
||||||
|
|
@ -489,13 +489,13 @@ dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
}
|
}
|
||||||
INPgetNetTok(&line, &nname1, 0);
|
INPgetNetTok(&line, &nname1, 0);
|
||||||
INPtermInsert(ckt, &nname1, tab, &node1);
|
INPtermInsert(ckt, &nname1, tab, &node1);
|
||||||
ptemp.nValue = (IFnode) node1;
|
ptemp.nValue = node1;
|
||||||
GCA(INPapName, (ckt, which, foo, "outpos", &ptemp))
|
GCA(INPapName, (ckt, which, foo, "outpos", &ptemp))
|
||||||
|
|
||||||
if (*line != ')') {
|
if (*line != ')') {
|
||||||
INPgetNetTok(&line, &nname2, 1);
|
INPgetNetTok(&line, &nname2, 1);
|
||||||
INPtermInsert(ckt, &nname2, tab, &node2);
|
INPtermInsert(ckt, &nname2, tab, &node2);
|
||||||
ptemp.nValue = (IFnode) node2;
|
ptemp.nValue = node2;
|
||||||
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
||||||
ptemp.sValue = (char *)
|
ptemp.sValue = (char *)
|
||||||
MALLOC(sizeof(char) *
|
MALLOC(sizeof(char) *
|
||||||
|
|
@ -503,7 +503,7 @@ dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
(void) sprintf(ptemp.sValue, "V(%s,%s)", nname1, nname2);
|
(void) sprintf(ptemp.sValue, "V(%s,%s)", nname1, nname2);
|
||||||
GCA(INPapName, (ckt, which, foo, "outname", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outname", &ptemp));
|
||||||
} else {
|
} else {
|
||||||
ptemp.nValue = (IFnode) gnode;
|
ptemp.nValue = gnode;
|
||||||
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
GCA(INPapName, (ckt, which, foo, "outneg", &ptemp));
|
||||||
ptemp.sValue =
|
ptemp.sValue =
|
||||||
(char *) MALLOC(sizeof(char) * (4 + strlen(nname1)));
|
(char *) MALLOC(sizeof(char) * (4 + strlen(nname1)));
|
||||||
|
|
@ -633,7 +633,7 @@ dot_options(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, void *gnode)
|
INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, CKTnode *gnode)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* .<something> Many possibilities */
|
/* .<something> Many possibilities */
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,10 @@ void INP2E(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
char *nname4; /* the fourth node's name */
|
char *nname4; /* the fourth node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@ void INP2F(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,10 @@ void INP2G(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
char *nname4; /* the fourth node's name */
|
char *nname4; /* the fourth node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@ void INP2H(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ void INP2I(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,9 @@ void INP2J(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ void INP2L(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *model; /* the name of the inductor's model */
|
char *model; /* the name of the inductor's model */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
double val; /* temp to held inductance */
|
double val; /* temp to held inductance */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int error1; /* secondary error code temporary */
|
int error1; /* secondary error code temporary */
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,13 @@ INP2M (CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname7; /* the seventh node's name */
|
char *nname7; /* the seventh node's name */
|
||||||
char *save; /* saj - used to save the posn of the start of
|
char *save; /* saj - used to save the posn of the start of
|
||||||
the parameters if the model is a mosfet*/
|
the parameters if the model is a mosfet*/
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
void *node5; /* the fifth node's node pointer */
|
CKTnode *node5; /* the fifth node's node pointer */
|
||||||
void *node6; /* the sixth node's node pointer */
|
CKTnode *node6; /* the sixth node's node pointer */
|
||||||
void *node7; /* the seventh node's node pointer */
|
CKTnode *node7; /* the seventh node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int nodeflag; /* flag indicating 4 or 5 (or 6 or 7) nodes */
|
int nodeflag; /* flag indicating 4 or 5 (or 6 or 7) nodes */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ void INP2N(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nnamex; /* serve as a temporary name */
|
char *nnamex; /* serve as a temporary name */
|
||||||
char *nname[7]; /* the array of CKT node's name */
|
char *nname[7]; /* the array of CKT node's name */
|
||||||
char *bname[7]; /* the array of NDEV electrode's name */
|
char *bname[7]; /* the array of NDEV electrode's name */
|
||||||
void *node[7]; /* the array of CKT node's node pointer */
|
CKTnode *node[7]; /* the array of CKT node's node pointer */
|
||||||
|
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int i;
|
int i;
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,10 @@ void INP2O(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
char *nname4; /* the fourth node's name */
|
char *nname4; /* the fourth node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
int waslead; /* flag to indicate that funny unlabeled number was found */
|
int waslead; /* flag to indicate that funny unlabeled number was found */
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,9 @@ char *model; /* the name of the cpl's model */
|
||||||
char **nname1; /* the first node's name */
|
char **nname1; /* the first node's name */
|
||||||
char **nname2; /* the second node's name */
|
char **nname2; /* the second node's name */
|
||||||
char *ground;
|
char *ground;
|
||||||
void **node1; /* the first node's node pointer */
|
CKTnode **node1; /* the first node's node pointer */
|
||||||
void **node2; /* the second node's node pointer */
|
CKTnode **node2; /* the second node's node pointer */
|
||||||
void *groundnode;
|
CKTnode *groundnode;
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int error1=0; /* secondary error code temporary */
|
int error1=0; /* secondary error code temporary */
|
||||||
INPmodel *thismodel; /* pointer to model structure describing our model */
|
INPmodel *thismodel; /* pointer to model structure describing our model */
|
||||||
|
|
@ -64,8 +64,8 @@ int num, i;
|
||||||
|
|
||||||
nname1 = (char **) tmalloc(num * sizeof(char *));
|
nname1 = (char **) tmalloc(num * sizeof(char *));
|
||||||
nname2 = (char **) tmalloc(num * sizeof(char *));
|
nname2 = (char **) tmalloc(num * sizeof(char *));
|
||||||
node1 = (void **) tmalloc(num * sizeof(void *));
|
node1 = (CKTnode **) tmalloc(num * sizeof(CKTnode *));
|
||||||
node2 = (void **) tmalloc(num * sizeof(void *));
|
node2 = (CKTnode **) tmalloc(num * sizeof(CKTnode *));
|
||||||
|
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
INPgetNetTok(&line,&(nname1[i]),1);
|
INPgetNetTok(&line,&(nname1[i]),1);
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ Modified: 2001 Paolo Nenzi (Cider Integration)
|
||||||
#include "error.h" /* controlled_exit() */
|
#include "error.h" /* controlled_exit() */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, void *gnode)
|
void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* Qname <node> <node> <node> [<node>] <model> [<val>] [OFF]
|
/* Qname <node> <node> <node> [<node>] <model> [<val>] [OFF]
|
||||||
|
|
@ -31,12 +31,12 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, void *gnode)
|
||||||
#ifdef ADMS
|
#ifdef ADMS
|
||||||
char *nname5; /* the fifth node's name */
|
char *nname5; /* the fifth node's name */
|
||||||
#endif
|
#endif
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
#ifdef ADMS
|
#ifdef ADMS
|
||||||
void *node5; /* the fifth node's node pointer */
|
CKTnode *node5; /* the fifth node's node pointer */
|
||||||
#endif
|
#endif
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int nodeflag; /* flag indicating 4 or 5 nodes */
|
int nodeflag; /* flag indicating 4 or 5 nodes */
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ void INP2R(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *model; /* the name of the resistor's model */
|
char *model; /* the name of the resistor's model */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
double val; /* temp to held resistance */
|
double val; /* temp to held resistance */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int error1; /* secondary error code temporary */
|
int error1; /* secondary error code temporary */
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,10 @@ void INP2S(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
char *nname4; /* the fourth node's name */
|
char *nname4; /* the fourth node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
INPmodel *thismodel; /* pointer to model structure describing our model */
|
INPmodel *thismodel; /* pointer to model structure describing our model */
|
||||||
GENmodel *mdfast; /* pointer to the actual model */
|
GENmodel *mdfast; /* pointer to the actual model */
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,10 @@ void INP2T(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
char *nname4; /* the fourth node's name */
|
char *nname4; /* the fourth node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
void *node4; /* the fourth node's node pointer */
|
CKTnode *node4; /* the fourth node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
int waslead; /* flag to indicate that funny unlabeled number was found */
|
int waslead; /* flag to indicate that funny unlabeled number was found */
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,9 @@ void INP2U(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
int waslead; /* flag to indicate that funny unlabeled number was found */
|
int waslead; /* flag to indicate that funny unlabeled number was found */
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ void INP2V(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *name; /* the resistor's name */
|
char *name; /* the resistor's name */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ void INP2W(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *model; /* the name of the resistor's model */
|
char *model; /* the name of the resistor's model */
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
INPmodel *thismodel; /* pointer to model structure describing our model */
|
INPmodel *thismodel; /* pointer to model structure describing our model */
|
||||||
GENmodel *mdfast; /* pointer to the actual model */
|
GENmodel *mdfast; /* pointer to the actual model */
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,9 @@ char rname1[10], rname2[10], rname3[10];
|
||||||
char cname1[10], cname2[10], cname3[10], cname4[10];
|
char cname1[10], cname2[10], cname3[10], cname4[10];
|
||||||
char *internal1, *internal2;
|
char *internal1, *internal2;
|
||||||
char *ground1, *ground2;
|
char *ground1, *ground2;
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *gnode1, *gnode2, *inode1, *inode2;
|
CKTnode *gnode1, *gnode2, *inode1, *inode2;
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
int error1=0; /* secondary error code temporary */
|
int error1=0; /* secondary error code temporary */
|
||||||
INPmodel *thismodel; /* pointer to model structure describing our model */
|
INPmodel *thismodel; /* pointer to model structure describing our model */
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@ void INP2Z(CKTcircuit *ckt, INPtables * tab, card * current)
|
||||||
char *nname1; /* the first node's name */
|
char *nname1; /* the first node's name */
|
||||||
char *nname2; /* the second node's name */
|
char *nname2; /* the second node's name */
|
||||||
char *nname3; /* the third node's name */
|
char *nname3; /* the third node's name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
void *node2; /* the second node's node pointer */
|
CKTnode *node2; /* the second node's node pointer */
|
||||||
void *node3; /* the third node's node pointer */
|
CKTnode *node3; /* the third node's node pointer */
|
||||||
int error; /* error code temporary */
|
int error; /* error code temporary */
|
||||||
GENinstance *fast; /* pointer to the actual instance */
|
GENinstance *fast; /* pointer to the actual instance */
|
||||||
IFvalue ptemp; /* a value structure to package resistance into */
|
IFvalue ptemp; /* a value structure to package resistance into */
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ void INPpas2(CKTcircuit *ckt, card * data, INPtables * tab, void *task)
|
||||||
char c;
|
char c;
|
||||||
char *groundname = "0";
|
char *groundname = "0";
|
||||||
char *gname;
|
char *gname;
|
||||||
void *gnode;
|
CKTnode *gnode;
|
||||||
int error; /* used by the macros defined above */
|
int error; /* used by the macros defined above */
|
||||||
#ifdef HAS_WINDOWS
|
#ifdef HAS_WINDOWS
|
||||||
int linecount = 0, actcount = 0;
|
int linecount = 0, actcount = 0;
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, void *task,
|
||||||
resistance into */
|
resistance into */
|
||||||
int which; /* which analysis we are performing */
|
int which; /* which analysis we are performing */
|
||||||
int length; /* length of a name */
|
int length; /* length of a name */
|
||||||
void *node1; /* the first node's node pointer */
|
CKTnode *node1; /* the first node's node pointer */
|
||||||
|
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
/* SDB debug statement */
|
/* SDB debug statement */
|
||||||
|
|
|
||||||
|
|
@ -833,7 +833,7 @@ static INPparseNode *mkfnode(const char *fname, INPparseNode * arg)
|
||||||
int i;
|
int i;
|
||||||
INPparseNode *p;
|
INPparseNode *p;
|
||||||
char buf[128], *name, *s;
|
char buf[128], *name, *s;
|
||||||
IFnode temp;
|
CKTnode *temp;
|
||||||
|
|
||||||
/* Make sure the case is ok. */
|
/* Make sure the case is ok. */
|
||||||
(void) strcpy(buf, fname);
|
(void) strcpy(buf, fname);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ INPtables *INPtabInit(int numlines)
|
||||||
/* insert 'token' into the terminal symbol table */
|
/* insert 'token' into the terminal symbol table */
|
||||||
/* create a NEW NODE and return a pointer to it in *node */
|
/* create a NEW NODE and return a pointer to it in *node */
|
||||||
|
|
||||||
int INPtermInsert(CKTcircuit *ckt, char **token, INPtables * tab, void **node)
|
int INPtermInsert(CKTcircuit *ckt, char **token, INPtables * tab, CKTnode **node)
|
||||||
{
|
{
|
||||||
int key;
|
int key;
|
||||||
int error;
|
int error;
|
||||||
|
|
@ -79,7 +79,7 @@ int INPtermInsert(CKTcircuit *ckt, char **token, INPtables * tab, void **node)
|
||||||
/* USE node as the node pointer */
|
/* USE node as the node pointer */
|
||||||
|
|
||||||
|
|
||||||
int INPmkTerm(CKTcircuit *ckt, char **token, INPtables * tab, void **node)
|
int INPmkTerm(CKTcircuit *ckt, char **token, INPtables * tab, CKTnode **node)
|
||||||
{
|
{
|
||||||
int key;
|
int key;
|
||||||
struct INPnTab *t;
|
struct INPnTab *t;
|
||||||
|
|
@ -107,7 +107,7 @@ int INPmkTerm(CKTcircuit *ckt, char **token, INPtables * tab, void **node)
|
||||||
|
|
||||||
/* insert 'token' into the terminal symbol table as a name for ground*/
|
/* insert 'token' into the terminal symbol table as a name for ground*/
|
||||||
|
|
||||||
int INPgndInsert(CKTcircuit *ckt, char **token, INPtables * tab, void **node)
|
int INPgndInsert(CKTcircuit *ckt, char **token, INPtables * tab, CKTnode **node)
|
||||||
{
|
{
|
||||||
int key;
|
int key;
|
||||||
int error;
|
int error;
|
||||||
|
|
|
||||||
|
|
@ -853,7 +853,7 @@ MIFget_port(
|
||||||
case MIF_DIFF_RESISTANCE:
|
case MIF_DIFF_RESISTANCE:
|
||||||
|
|
||||||
/* Call the spice3c1 function to put this node in the node list in ckt */
|
/* Call the spice3c1 function to put this node in the node list in ckt */
|
||||||
INPtermInsert(ckt, next_token, tab,(void **)pos_node);
|
INPtermInsert(ckt, next_token, tab, pos_node);
|
||||||
|
|
||||||
/* store the equation number and node identifier */
|
/* store the equation number and node identifier */
|
||||||
/* This is the equivalent of what CKTbindNode() does in 3C1 */
|
/* This is the equivalent of what CKTbindNode() does in 3C1 */
|
||||||
|
|
@ -920,7 +920,7 @@ MIFget_port(
|
||||||
// node = "0"; // deleted by K.A. March 5th 2000, this is incorrect, it creates a new pointer
|
// node = "0"; // deleted by K.A. March 5th 2000, this is incorrect, it creates a new pointer
|
||||||
// that cause a crash in INPtermInsert()
|
// that cause a crash in INPtermInsert()
|
||||||
|
|
||||||
INPtermInsert(ckt, &node, tab,(void **)neg_node);
|
INPtermInsert(ckt, &node, tab, neg_node);
|
||||||
|
|
||||||
fast->conn[conn_num]->port[port_num]->neg_node_str = node;
|
fast->conn[conn_num]->port[port_num]->neg_node_str = node;
|
||||||
fast->conn[conn_num]->port[port_num]->smp_data.neg_node = neg_node[0]->number;
|
fast->conn[conn_num]->port[port_num]->smp_data.neg_node = neg_node[0]->number;
|
||||||
|
|
@ -936,7 +936,7 @@ MIFget_port(
|
||||||
*status = MIF_ERROR;
|
*status = MIF_ERROR;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
INPtermInsert(ckt, next_token, tab,(void **)neg_node);
|
INPtermInsert(ckt, next_token, tab, neg_node);
|
||||||
fast->conn[conn_num]->port[port_num]->neg_node_str = *next_token;
|
fast->conn[conn_num]->port[port_num]->neg_node_str = *next_token;
|
||||||
fast->conn[conn_num]->port[port_num]->smp_data.neg_node = neg_node[0]->number;
|
fast->conn[conn_num]->port[port_num]->smp_data.neg_node = neg_node[0]->number;
|
||||||
*next_token = MIFget_token(line, next_token_type);
|
*next_token = MIFget_token(line, next_token_type);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue