whitespace change, cleanup, untabify

This commit is contained in:
rlar 2010-07-03 15:36:05 +00:00
parent a321d7f419
commit 68c0ee9cd3
7 changed files with 416 additions and 396 deletions

View File

@ -1,3 +1,12 @@
2010-07-03 Robert Larice
* src/include/cktdefs.h ,
* src/include/gendefs.h ,
* src/include/graph.h ,
* src/include/ifsim.h ,
* src/include/inpdefs.h ,
* src/include/tfdefs.h :
whitespace change, cleanup, untabify
2010-07-03 Robert Larice
* src/include/cktdefs.h ,
* src/include/gendefs.h ,

View File

@ -15,9 +15,9 @@
/* gtri - evt - wbk - 5/20/91 - add event-driven and enhancements data */
#define MAXNUMDEVS 64 /* Max number of possible devices PN:XXX may cause toubles*/
extern int DEVmaxnum; /* Not sure if still used */
#define MAXNUMDEVNODES 4 /* Max No. of nodes per device */
#define MAXNUMDEVS 64 /* Max number of possible devices PN:XXX may cause toubles*/
extern int DEVmaxnum; /* Not sure if still used */
#define MAXNUMDEVNODES 4 /* Max No. of nodes per device */
/* Need to change for SOI devs ? */
#include "smpdefs.h"
@ -33,6 +33,7 @@ extern int DEVmaxnum; /* Not sure if still used */
typedef struct CKTnode CKTnode;
typedef struct CKTcircuit CKTcircuit;
struct CKTnode {
IFuid name;
int type;
@ -42,20 +43,19 @@ struct CKTnode {
#define NODE_VOLTAGE SP_VOLTAGE
#define NODE_CURRENT SP_CURRENT
int number; /* Number of the node */
double ic; /* Value of the initial condition */
double nodeset; /* Value of the .nodeset option */
double *ptr; /* ??? */
CKTnode *next; /* pointer to the next node */
unsigned int icGiven:1; /* FLAG ic given */
unsigned int nsGiven:1; /* FLAG nodeset given */
int number; /* Number of the node */
double ic; /* Value of the initial condition */
double nodeset; /* Value of the .nodeset option */
double *ptr; /* ??? */
CKTnode *next; /* pointer to the next node */
unsigned int icGiven:1; /* FLAG ic given */
unsigned int nsGiven:1; /* FLAG nodeset given */
};
/* defines for node parameters */
#define PARM_NS 1
#define PARM_IC 2
#define PARM_NODETYPE 3
#define PARM_NS 1
#define PARM_IC 2
#define PARM_NODETYPE 3
struct CKTcircuit {
@ -75,8 +75,8 @@ struct CKTcircuit {
/* GENmodel *CKThead[MAXNUMDEVS]; maschmann : deleted */
STATistics *CKTstat; /* The STATistics structure */
double *(CKTstates[8]); /* Used as memory of past steps ??? */
STATistics *CKTstat; /* The STATistics structure */
double *(CKTstates[8]); /* Used as memory of past steps ??? */
/* Some shortcut for CKTstates */
#define CKTstate0 CKTstates[0]
@ -87,43 +87,43 @@ struct CKTcircuit {
#define CKTstate5 CKTstates[5]
#define CKTstate6 CKTstates[6]
#define CKTstate7 CKTstates[7]
double CKTtime; /* ??? */
double CKTdelta; /* ??? */
double CKTdeltaOld[7]; /* Memory for ??? */
double CKTtemp; /* Actual temperature of CKT */
double CKTnomTemp; /* Reference temperature 27 C ? */
double CKTvt; /* Thernmal voltage at CKTtemp */
double CKTag[7]; /* the gear variable coefficient matrix */
double CKTtime; /* ??? */
double CKTdelta; /* ??? */
double CKTdeltaOld[7]; /* Memory for ??? */
double CKTtemp; /* Actual temperature of CKT */
double CKTnomTemp; /* Reference temperature 27 C ? */
double CKTvt; /* Thernmal voltage at CKTtemp */
double CKTag[7]; /* the gear variable coefficient matrix */
#ifdef PREDICTOR
double CKTagp[7]; /* the gear predictor variable
double CKTagp[7]; /* the gear predictor variable
coefficient matrix */
#endif /*PREDICTOR*/
int CKTorder; /* the integration method order */
int CKTmaxOrder; /* maximum integration method order */
int CKTintegrateMethod; /* the integration method to be used */
int CKTorder; /* the integration method order */
int CKTmaxOrder; /* maximum integration method order */
int CKTintegrateMethod; /* the integration method to be used */
/* known integration methods */
#define TRAPEZOIDAL 1
#define GEAR 2
SMPmatrix *CKTmatrix; /* pointer to sparse matrix */
int CKTniState; /* internal state */
double *CKTrhs; /* current rhs value - being loaded */
double *CKTrhsOld; /* previous rhs value for convergence
SMPmatrix *CKTmatrix; /* pointer to sparse matrix */
int CKTniState; /* internal state */
double *CKTrhs; /* current rhs value - being loaded */
double *CKTrhsOld; /* previous rhs value for convergence
testing */
double *CKTrhsSpare; /* spare rhs value for reordering */
double *CKTirhs; /* current rhs value - being loaded
double *CKTrhsSpare; /* spare rhs value for reordering */
double *CKTirhs; /* current rhs value - being loaded
(imag) */
double *CKTirhsOld; /* previous rhs value (imaginary)*/
double *CKTirhsSpare; /* spare rhs value (imaginary)*/
double *CKTirhsOld; /* previous rhs value (imaginary)*/
double *CKTirhsSpare; /* spare rhs value (imaginary)*/
#ifdef PREDICTOR
double *CKTpred; /* predicted solution vector */
double *CKTsols[8]; /* previous 8 solutions */
double *CKTpred; /* predicted solution vector */
double *CKTsols[8]; /* previous 8 solutions */
#endif /* PREDICTOR */
double *CKTrhsOp; /* opearating point values */
double *CKTsenRhs; /* current sensitivity rhs values */
double *CKTseniRhs; /* current sensitivity rhs values
double *CKTrhsOp; /* opearating point values */
double *CKTsenRhs; /* current sensitivity rhs values */
double *CKTseniRhs; /* current sensitivity rhs values
(imag)*/
@ -133,17 +133,17 @@ struct CKTcircuit {
* What is their meaning ????
*/
#define NISHOULDREORDER 0x1
#define NIREORDERED 0x2
#define NIUNINITIALIZED 0x4
#define NIACSHOULDREORDER 0x10
#define NIACREORDERED 0x20
#define NIACUNINITIALIZED 0x40
#define NIDIDPREORDER 0x100
#define NIPZSHOULDREORDER 0x200
#define NISHOULDREORDER 0x1
#define NIREORDERED 0x2
#define NIUNINITIALIZED 0x4
#define NIACSHOULDREORDER 0x10
#define NIACREORDERED 0x20
#define NIACUNINITIALIZED 0x40
#define NIDIDPREORDER 0x100
#define NIPZSHOULDREORDER 0x200
int CKTmaxEqNum; /* And this ? */
int CKTcurrentAnalysis; /* the analysis in progress (if any) */
int CKTmaxEqNum; /* And this ? */
int CKTcurrentAnalysis; /* the analysis in progress (if any) */
/* defines for the value of CKTcurrentAnalysis */
/* are in TSKdefs.h */
@ -153,108 +153,108 @@ struct CKTcircuit {
/* This define should be somewhere else ??? */
#define NODENAME(ckt,nodenum) CKTnodName(ckt,nodenum)
int CKTnumStates; /* Number of sates effectively valid
int CKTnumStates; /* Number of sates effectively valid
??? */
long CKTmode; /* Mode of operation of the circuit
long CKTmode; /* Mode of operation of the circuit
??? */
/* defines for CKTmode */
/* old 'mode' parameters */
#define MODE 0x3
#define MODETRAN 0x1
#define MODEAC 0x2
#define MODE 0x3
#define MODETRAN 0x1
#define MODEAC 0x2
/* old 'modedc' parameters */
#define MODEDC 0x70
#define MODEDCOP 0x10
#define MODETRANOP 0x20
#define MODEDCTRANCURVE 0x40
#define MODEDC 0x70
#define MODEDCOP 0x10
#define MODETRANOP 0x20
#define MODEDCTRANCURVE 0x40
/* old 'initf' parameters */
#define INITF 0x3f00
#define MODEINITFLOAT 0x100
#define MODEINITJCT 0x200
#define MODEINITFIX 0x400
#define MODEINITSMSIG 0x800
#define MODEINITTRAN 0x1000
#define MODEINITPRED 0x2000
#define INITF 0x3f00
#define MODEINITFLOAT 0x100
#define MODEINITJCT 0x200
#define MODEINITFIX 0x400
#define MODEINITSMSIG 0x800
#define MODEINITTRAN 0x1000
#define MODEINITPRED 0x2000
/* old 'nosolv' paramater */
#define MODEUIC 0x10000l
int CKTbypass; /* bypass option, how does it work ? */
int CKTdcMaxIter; /* iteration limit for dc op. (itl1) */
int CKTdcTrcvMaxIter; /* iteration limit for dc tran. curv
int CKTbypass; /* bypass option, how does it work ? */
int CKTdcMaxIter; /* iteration limit for dc op. (itl1) */
int CKTdcTrcvMaxIter; /* iteration limit for dc tran. curv
(itl2) */
int CKTtranMaxIter; /* iteration limit for each timepoint
int CKTtranMaxIter; /* iteration limit for each timepoint
for tran*/
/* (itl4) */
int CKTbreakSize; /* ??? */
int CKTbreak; /* ??? */
double CKTsaveDelta; /* ??? */
double CKTminBreak; /* ??? */
double *CKTbreaks; /* List of breakpoints ??? */
double CKTabstol; /* --- */
double CKTpivotAbsTol; /* --- */
double CKTpivotRelTol; /* --- */
double CKTreltol; /* --- */
double CKTchgtol; /* --- */
double CKTvoltTol; /* --- */
int CKTbreakSize; /* ??? */
int CKTbreak; /* ??? */
double CKTsaveDelta; /* ??? */
double CKTminBreak; /* ??? */
double *CKTbreaks; /* List of breakpoints ??? */
double CKTabstol; /* --- */
double CKTpivotAbsTol; /* --- */
double CKTpivotRelTol; /* --- */
double CKTreltol; /* --- */
double CKTchgtol; /* --- */
double CKTvoltTol; /* --- */
/* What is this define for ? */
#ifdef NEWTRUNC
double CKTlteReltol;
double CKTlteReltol;
double CKTlteAbstol;
#endif /* NEWTRUNC */
double CKTgmin; /* Parallel Conductance --- */
double CKTgshunt;
double CKTdelmin; /* ??? */
double CKTtrtol; /* ??? */
double CKTfinalTime; /* ??? */
double CKTstep; /* ??? */
double CKTmaxStep; /* ??? */
double CKTinitTime; /* ??? */
double CKTomega; /* ??? */
double CKTsrcFact; /* ??? */
double CKTdiagGmin; /* ??? */
int CKTnumSrcSteps; /* ??? */
int CKTnumGminSteps; /* ??? */
double CKTgminFactor;
int CKTnoncon; /* ??? */
double CKTdefaultMosM;
double CKTdefaultMosL; /* Default Channel Lenght of MOS devices */
double CKTdefaultMosW; /* Default Channel Width of MOS devics */
double CKTdefaultMosAD; /* Default Drain Area of MOS */
double CKTdefaultMosAS; /* Default Source Area of MOS */
double CKTgmin; /* Parallel Conductance --- */
double CKTgshunt;
double CKTdelmin; /* ??? */
double CKTtrtol; /* ??? */
double CKTfinalTime; /* ??? */
double CKTstep; /* ??? */
double CKTmaxStep; /* ??? */
double CKTinitTime; /* ??? */
double CKTomega; /* ??? */
double CKTsrcFact; /* ??? */
double CKTdiagGmin; /* ??? */
int CKTnumSrcSteps; /* ??? */
int CKTnumGminSteps; /* ??? */
double CKTgminFactor;
int CKTnoncon; /* ??? */
double CKTdefaultMosM;
double CKTdefaultMosL; /* Default Channel Lenght of MOS devices */
double CKTdefaultMosW; /* Default Channel Width of MOS devics */
double CKTdefaultMosAD; /* Default Drain Area of MOS */
double CKTdefaultMosAS; /* Default Source Area of MOS */
unsigned int CKThadNodeset:1; /* ??? */
unsigned int CKTfixLimit:1; /* flag to indicate that the limiting
of MOSFETs should be done as in
SPICE2 */
unsigned int CKTnoOpIter:1; /* flag to indicate not to try the operating
point brute force, but to use gmin stepping
first */
unsigned int CKTisSetup:1; /* flag to indicate if CKTsetup done */
JOB *CKTcurJob; /* Next analysis to be performed ??? */
unsigned int CKTfixLimit:1; /* flag to indicate that the limiting
of MOSFETs should be done as in
SPICE2 */
unsigned int CKTnoOpIter:1; /* flag to indicate not to try the operating
point brute force, but to use gmin stepping
first */
unsigned int CKTisSetup:1; /* flag to indicate if CKTsetup done */
JOB *CKTcurJob; /* Next analysis to be performed ??? */
SENstruct *CKTsenInfo; /* the sensitivity information */
double *CKTtimePoints; /* list of all accepted timepoints in
the current transient simulation */
double *CKTdeltaList; /* list of all timesteps in the
current transient simulation */
int CKTtimeListSize; /* size of above lists */
int CKTtimeIndex; /* current position in above lists */
int CKTsizeIncr; /* amount to increment size of above
arrays when you run out of space */
SENstruct *CKTsenInfo; /* the sensitivity information */
double *CKTtimePoints; /* list of all accepted timepoints in
the current transient simulation */
double *CKTdeltaList; /* list of all timesteps in the
current transient simulation */
int CKTtimeListSize; /* size of above lists */
int CKTtimeIndex; /* current position in above lists */
int CKTsizeIncr; /* amount to increment size of above
arrays when you run out of space */
unsigned int CKTtryToCompact:1; /* try to compact past history for LTRA
lines */
unsigned int CKTbadMos3:1; /* Use old, unfixed MOS3 equations */
lines */
unsigned int CKTbadMos3:1; /* Use old, unfixed MOS3 equations */
unsigned int CKTkeepOpInfo:1; /* flag for small signal analyses */
unsigned int CKTcopyNodesets:1; /* NodesetFIX */
unsigned int CKTnodeDamping:1; /* flag for node damping fix */
double CKTabsDv; /* abs limit for iter-iter voltage change */
double CKTrelDv; /* rel limit for iter-iter voltage change */
int CKTtroubleNode; /* Non-convergent node number */
GENinstance *CKTtroubleElt; /* Non-convergent device instance */
double CKTabsDv; /* abs limit for iter-iter voltage change */
double CKTrelDv; /* rel limit for iter-iter voltage change */
int CKTtroubleNode; /* Non-convergent node number */
GENinstance *CKTtroubleElt; /* Non-convergent device instance */
int CKTvarHertz; /* variable HERTZ in B source */
/* gtri - evt - wbk - 5/20/91 - add event-driven and enhancements data */
#ifdef XSPICE
@ -265,132 +265,135 @@ struct CKTcircuit {
};
/* Now function prottypes */
extern int ACan( CKTcircuit *, int );
extern int ACaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int ACsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int CKTacDump( CKTcircuit *, double , void *);
extern int CKTacLoad( CKTcircuit *);
extern int CKTaccept( CKTcircuit *);
extern int CKTacct( CKTcircuit *, void *, int , IFvalue *);
extern int CKTask( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTaskAnalQ( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTaskNodQst( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTbindNode( void *, void *, int , void *);
extern void CKTbreakDump( CKTcircuit *);
extern int CKTclrBreak( CKTcircuit *);
extern int CKTconvTest( CKTcircuit *);
extern int CKTcrtElt( void *, void *, void **, IFuid );
extern int CKTdelTask( void *, void *);
extern int CKTdestroy( void *);
extern int CKTdltAnal( void *, void *, void *);
extern int CKTdltInst( void *, void *);
extern int CKTdltMod( void *, void *);
extern int CKTdltNNum(void *, int );
extern int CKTdltNod( void *, void *);
extern int CKTdoJob( void *, int , void *);
extern void CKTdump( CKTcircuit *, double, void *);
extern int ACan(CKTcircuit *, int);
extern int ACaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int ACsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int CKTacDump(CKTcircuit *, double , void *);
extern int CKTacLoad(CKTcircuit *);
extern int CKTaccept(CKTcircuit *);
extern int CKTacct(CKTcircuit *, void *, int , IFvalue *);
extern int CKTask(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTaskAnalQ(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTaskNodQst(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTbindNode(void *, void *, int , void *);
extern void CKTbreakDump(CKTcircuit *);
extern int CKTclrBreak(CKTcircuit *);
extern int CKTconvTest(CKTcircuit *);
extern int CKTcrtElt(void *, void *, void **, IFuid);
extern int CKTdelTask(void *, void *);
extern int CKTdestroy(void *);
extern int CKTdltAnal(void *, void *, void *);
extern int CKTdltInst(void *, void *);
extern int CKTdltMod(void *, void *);
extern int CKTdltNNum(void *, int);
extern int CKTdltNod(void *, void *);
extern int CKTdoJob(void *, int , void *);
extern void CKTdump(CKTcircuit *, double, void *);
#ifdef CIDER
extern void NDEVacct(CKTcircuit *ckt, FILE *file);
#endif /* CIDER */
extern void CKTncDump(CKTcircuit *);
extern int CKTfndAnal( void *, int *, void **, IFuid , void *, IFuid );
extern int CKTfndBranch( CKTcircuit *, IFuid);
extern int CKTfndDev( void *, int *, void **, IFuid , void *, IFuid );
extern int CKTfndMod( void *, int *, void **, IFuid );
extern int CKTfndNode( void *, void **, IFuid );
extern int CKTfndTask( void *, void **, IFuid );
extern int CKTground( void *, void **, IFuid );
extern int CKTic( CKTcircuit *);
extern int CKTinit( void **);
extern int CKTinst2Node( void *, void *, int , CKTnode **, IFuid *);
extern int CKTlinkEq(CKTcircuit*,CKTnode*);
extern int CKTload( CKTcircuit *);
extern int CKTmapNode( void *, void **, IFuid );
extern int CKTmkCur( CKTcircuit *, CKTnode **, IFuid , char *);
extern int CKTmkNode(CKTcircuit*,CKTnode**);
extern int CKTmkVolt( CKTcircuit *, CKTnode **, IFuid , char *);
extern int CKTmodAsk( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTmodCrt( void *, int , void **, IFuid );
extern int CKTmodParam( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTfndAnal(void *, int *, void **, IFuid , void *, IFuid);
extern int CKTfndBranch(CKTcircuit *, IFuid);
extern int CKTfndDev(void *, int *, void **, IFuid , void *, IFuid);
extern int CKTfndMod(void *, int *, void **, IFuid);
extern int CKTfndNode(void *, void **, IFuid);
extern int CKTfndTask(void *, void **, IFuid );
extern int CKTground(void *, void **, IFuid);
extern int CKTic(CKTcircuit *);
extern int CKTinit(void **);
extern int CKTinst2Node(void *, void *, int , CKTnode **, IFuid *);
extern int CKTlinkEq(CKTcircuit *, CKTnode *);
extern int CKTload(CKTcircuit *);
extern int CKTmapNode(void *, void **, IFuid);
extern int CKTmkCur(CKTcircuit *, CKTnode **, IFuid , char *);
extern int CKTmkNode(CKTcircuit *, CKTnode **);
extern int CKTmkVolt(CKTcircuit *, CKTnode **, IFuid , char *);
extern int CKTmodAsk(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTmodCrt(void *, int , void **, IFuid);
extern int CKTmodParam(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTnames(CKTcircuit *, int *, IFuid **);
extern int CKTnewAnal( void *, int , IFuid , void **, void *);
extern int CKTnewEq( void *, void **, IFuid );
extern int CKTnewNode( void *, void **, IFuid );
extern int CKTnewTask( void *, void **, IFuid, void ** );
extern int CKTnewAnal(void *, int , IFuid , void **, void *);
extern int CKTnewEq(void *, void **, IFuid);
extern int CKTnewNode(void *, void **, IFuid);
extern int CKTnewTask(void *, void **, IFuid, void **);
extern int CKTnoise (CKTcircuit *ckt, int mode, int operation, Ndata *data);
extern IFuid CKTnodName( CKTcircuit *, int );
extern void CKTnodOut( CKTcircuit *);
extern CKTnode * CKTnum2nod( CKTcircuit *, int );
extern int CKTop(CKTcircuit *, long, long, int );
extern int CKTpModName( char *, IFvalue *, CKTcircuit *, int , IFuid , GENmodel **);
extern int CKTpName( char *, IFvalue *, CKTcircuit *, int , char *, GENinstance **);
extern int CKTparam( void *, void *, int , IFvalue *, IFvalue *);
extern IFuid CKTnodName(CKTcircuit *, int);
extern void CKTnodOut(CKTcircuit *);
extern CKTnode * CKTnum2nod(CKTcircuit *, int);
extern int CKTop(CKTcircuit *, long, long, int);
extern int CKTpModName(char *, IFvalue *, CKTcircuit *, int , IFuid , GENmodel **);
extern int CKTpName(char *, IFvalue *, CKTcircuit *, int , char *, GENinstance **);
extern int CKTparam(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTpartition(register CKTcircuit *ckt);
extern int CKTpzFindZeros( CKTcircuit *, PZtrial **, int * );
extern int CKTpzLoad( CKTcircuit *, SPcomplex * );
extern int CKTpzSetup( CKTcircuit *, int);
extern int CKTsenAC( CKTcircuit *);
extern int CKTsenComp( CKTcircuit *);
extern int CKTsenDCtran( CKTcircuit *);
extern int CKTsenLoad( CKTcircuit *);
extern void CKTsenPrint( CKTcircuit *);
extern int CKTsenSetup( CKTcircuit *);
extern int CKTsenUpdate( CKTcircuit *);
extern int CKTsetAnalPm( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTsetBreak( CKTcircuit *, double );
extern int CKTsetNodPm( void *, void *, int , IFvalue *, IFvalue *);
extern int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *);
extern int CKTsetup( CKTcircuit *);
extern int CKTunsetup(CKTcircuit *);
extern int CKTtemp( CKTcircuit *);
extern int CKTpzFindZeros(CKTcircuit *, PZtrial **, int *);
extern int CKTpzLoad(CKTcircuit *, SPcomplex *);
extern int CKTpzSetup(CKTcircuit *, int);
extern int CKTsenAC(CKTcircuit *);
extern int CKTsenComp(CKTcircuit *);
extern int CKTsenDCtran(CKTcircuit *);
extern int CKTsenLoad(CKTcircuit *);
extern void CKTsenPrint(CKTcircuit *);
extern int CKTsenSetup(CKTcircuit *);
extern int CKTsenUpdate(CKTcircuit *);
extern int CKTsetAnalPm(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTsetBreak(CKTcircuit *, double);
extern int CKTsetNodPm(void *, void *, int , IFvalue *, IFvalue *);
extern int CKTsetOpt(CKTcircuit *, void *, int , IFvalue *);
extern int CKTsetup(CKTcircuit *);
extern int CKTunsetup(CKTcircuit *);
extern int CKTtemp(CKTcircuit *);
extern char *CKTtrouble(void *, char *);
extern void CKTterr( int , CKTcircuit *, double *);
extern int CKTtrunc( CKTcircuit *, double *);
extern int CKTtypelook( char *);
extern int DCOaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int DCOsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int DCTaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int DCTsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int DCop( CKTcircuit *ckt, int notused); /* va: notused avoids "init from incompatible pointer type" */
extern int DCtrCurv( CKTcircuit *, int );
extern int DCtran( CKTcircuit *, int );
extern void CKTterr(int , CKTcircuit *, double *);
extern int CKTtrunc(CKTcircuit *, double *);
extern int CKTtypelook(char *);
extern int DCOaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int DCOsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int DCTaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int DCTsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int DCop(CKTcircuit *ckt, int notused); /* va: notused avoids "init from incompatible pointer type" */
extern int DCtrCurv(CKTcircuit *, int);
extern int DCtran(CKTcircuit *, int);
extern int DISTOan(CKTcircuit *, int);
extern int NOISEan(CKTcircuit *, int);
extern int PZan( CKTcircuit *, int );
extern int PZinit( CKTcircuit * );
extern int PZpost( CKTcircuit * );
extern int PZaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int PZsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int SENaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern void SENdestroy( SENstruct *);
extern int SENsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int SENstartup( CKTcircuit *);
extern int SPIinit( IFfrontEnd *, IFsimulator **);
extern int TFanal( CKTcircuit *, int );
extern int TFaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int TFsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int TRANaskQuest( CKTcircuit *, void *, int , IFvalue *);
extern int TRANsetParm( CKTcircuit *, void *, int , IFvalue *);
extern int PZan(CKTcircuit *, int);
extern int PZinit(CKTcircuit *);
extern int PZpost(CKTcircuit *);
extern int PZaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int PZsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int SENaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern void SENdestroy(SENstruct *);
extern int SENsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int SENstartup(CKTcircuit *);
extern int SPIinit(IFfrontEnd *, IFsimulator **);
extern int TFanal(CKTcircuit *, int);
extern int TFaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int TFsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int TRANaskQuest(CKTcircuit *, void *, int , IFvalue *);
extern int TRANsetParm(CKTcircuit *, void *, int , IFvalue *);
extern int TRANinit(CKTcircuit *, JOB *);
extern int NaskQuest(CKTcircuit *, void *, int, IFvalue *);
extern int NsetParm(CKTcircuit *, void *, int, IFvalue *);
extern int NIacIter( CKTcircuit * );
extern int NIcomCof( CKTcircuit * );
extern int NIconvTest(CKTcircuit * );
extern void NIdestroy(CKTcircuit * );
extern int NIinit( CKTcircuit * );
extern int NIintegrate( CKTcircuit *, double *, double *, double , int );
extern int NIiter( CKTcircuit * , int );
extern int NIacIter(CKTcircuit *);
extern int NIcomCof(CKTcircuit *);
extern int NIconvTest(CKTcircuit *);
extern void NIdestroy(CKTcircuit *);
extern int NIinit(CKTcircuit *);
extern int NIintegrate(CKTcircuit *, double *, double *, double , int);
extern int NIiter(CKTcircuit * , int);
extern int NIpzMuller(PZtrial **, PZtrial *);
extern int NIpzComplex(PZtrial **, PZtrial *);
extern int NIpzSym(PZtrial **, PZtrial *);
extern int NIpzSym2(PZtrial **, PZtrial *);
extern int NIreinit( CKTcircuit *);
extern int NIsenReinit( CKTcircuit *);
extern int NIreinit(CKTcircuit *);
extern int NIsenReinit(CKTcircuit *);
extern int NIdIter (CKTcircuit *);
extern void NInzIter(CKTcircuit*, int, int );
extern void NInzIter(CKTcircuit *, int, int);
extern IFfrontEnd *SPfrontEnd;
#endif /*CKT*/

View File

@ -18,8 +18,8 @@ typedef struct GENmodel GENmodel;
struct GENinstance {
GENmodel *GENmodPtr; /* backpointer to model */
GENinstance *GENnextInstance; /* pointer to next instance of
* current model*/
GENinstance *GENnextInstance; /* pointer to next instance of
* current model*/
IFuid GENname; /* pointer to character string naming this instance */
int GENowner; /* number of owner process */
int GENstate; /* state index number */
@ -37,15 +37,16 @@ struct GENinstance {
typedef void GENcircuit;
/* per model data */
struct GENmodel { /* model structure for a resistor */
int GENmodType; /* type index of this device type */
GENmodel *GENnextModel; /* pointer to next possible model in
* linked list */
GENinstance * GENinstances; /* pointer to list of instances that have this
int GENmodType; /* type index of this device type */
GENmodel *GENnextModel; /* pointer to next possible model in
* linked list */
GENinstance *GENinstances; /* pointer to list of instances that have this
* model */
IFuid GENmodName; /* pointer to character string naming this model */
IFuid GENmodName; /* pointer to character string naming this model */
};
#endif /*GEN*/

View File

@ -27,8 +27,8 @@ struct graph {
struct dveclist *plotdata; /* normalized data */
char *plotname; /* name of plot this graph is in */
int onevalue; /* boolean variable,
true if plotting one value
against itself (real vs imaginary) */
true if plotting one value
against itself (real vs imaginary) */
int degree; /* degree of polynomial interpretation */
int currentcolor;
@ -73,26 +73,26 @@ struct graph {
int circular; /* TRUE if circular plot area */
union {
struct {
char units[16]; /* unit labels */
int spacing, numspace;
double distance, lowlimit, highlimit;
int mult;
int onedec; /* a boolean */
int hacked; /* true if hi - lo already hacked up */
double tenpowmag;
double tenpowmagx;
int digits;
char units[16]; /* unit labels */
int spacing, numspace;
double distance, lowlimit, highlimit;
int mult;
int onedec; /* a boolean */
int hacked; /* true if hi - lo already hacked up */
double tenpowmag;
double tenpowmagx;
int digits;
} lin;
struct {
char units[16]; /* unit labels */
int hmt, lmt, decsp, subs, pp;
char units[16]; /* unit labels */
int hmt, lmt, decsp, subs, pp;
} log;
struct {
char units[16]; /* unit labels */
int radius, center;
double mrad;
int lmt;
int hmt, mag; /* added, p.w.h. */
char units[16]; /* unit labels */
int radius, center;
double mrad;
int lmt;
int hmt, mag; /* added, p.w.h. */
} circular; /* bogus, rework when write polar grids, etc */
} xaxis, yaxis;
int xdatatype, ydatatype;
@ -117,7 +117,7 @@ struct graph {
int messageyoff;
/* characters the user typed on graph */
/* note: think up better names */
/* note: think up better names */
struct _keyed *keyed;
/* for zoomin */

View File

@ -24,7 +24,7 @@ typedef struct IFsimulator IFsimulator;
typedef struct IFfrontEnd IFfrontEnd;
/*
/*
* structure: IFparm
*
*
@ -55,8 +55,8 @@ struct IFparm {
char *description;
};
/*
*
* datatype: IFuid
*
* unique identifier for all name-type data in the simulator.
@ -68,7 +68,8 @@ struct IFparm {
typedef char *IFuid;
/*
/*
*
* types for IFnewUid
*
@ -82,12 +83,12 @@ typedef char *IFuid;
#define UID_OTHER 0x20
/*
/*
* dataType values:
*
* Note: These structures are put together by ORing together the
* appropriate bits from the fields below as is shown for the vector
* types.
* types.
* IF_REQUIRED indicates that the parameter must be specified.
* The front end does not NEED to check for this, but can to save time,
* since failure to do so will cause the simulator to fail.
@ -133,24 +134,25 @@ typedef char *IFuid;
#define IF_ASK 0x1000
/* If you AND with IF_UNIMP_MASK and get 0, it is recognized, but not
* implemented
* implemented
*/
#define IF_UNIMP_MASK (~0xfff)
/* Used by sensetivity to check if a parameter is or is not useful */
#define IF_REDUNDANT 0x0010000
#define IF_PRINCIPAL 0x0020000
#define IF_AC 0x0040000
#define IF_AC_ONLY 0x0080000
#define IF_NOISE 0x0100000
#define IF_NONSENSE 0x0200000
#define IF_REDUNDANT 0x0010000
#define IF_PRINCIPAL 0x0020000
#define IF_AC 0x0040000
#define IF_AC_ONLY 0x0080000
#define IF_NOISE 0x0100000
#define IF_NONSENSE 0x0200000
#define IF_SETQUERY 0x0400000
#define IF_ORQUERY 0x0800000
#define IF_CHKQUERY 0x1000000
#define IF_SETQUERY 0x0400000
#define IF_ORQUERY 0x0800000
#define IF_CHKQUERY 0x1000000
/* For "show" command: do not print value in a table by default */
#define IF_UNINTERESTING 0x2000000
#define IF_UNINTERESTING 0x2000000
/* Structure: IFparseTree
*
@ -160,7 +162,7 @@ typedef char *IFuid;
* It is expected that the front end will have a more extensive
* structure which this structure will be a prefix of.
*
* Note that the function pointer is provided as a hook for
* Note that the function pointer is provided as a hook for
* versions which may want to compile code for the parse trees
* if they are used heavily.
*
@ -169,11 +171,11 @@ typedef char *IFuid;
struct IFparseTree {
int numVars; /* number of variables used */
int *varTypes; /* array of types of variables */
IFvalue * vars; /* array of structures describing values */
IFvalue *vars; /* array of structures describing values */
#ifdef __STDC__
int ((*IFeval)(IFparseTree*,double,double*,double*,double*));
int (*IFeval) (IFparseTree *, double, double *, double *, double *);
#else
int ((*IFeval)()); /* function to call to get evaluated */
int (*IFeval) (); /* function to call to get evaluated */
#endif /* STDC */
};
@ -190,8 +192,8 @@ struct IFparseTree {
* should arrange to free it when appropriate.
*
* The responsibilities of the data supplier are:
* Any vectors referenced by the structure are to be tmalloc()'d
* and are assumed to have been turned over to the recipient and
* Any vectors referenced by the structure are to be tmalloc()'d
* and are assumed to have been turned over to the recipient and
* thus should not be re-used or tfree()'d.
*
* The responsibilities of the data recipient are:
@ -200,7 +202,7 @@ struct IFparseTree {
* and must be tfree()'d when no longer needed.
*
* Character strings are a special case: Since it is assumed
* that all character strings are directly descended from input
* that all character strings are directly descended from input
* tokens, it is assumed that they are static, thus nobody
* frees them until the circuit is deleted, when the front end
* may do so.
@ -215,18 +217,19 @@ struct IFparseTree {
/*
* Some preliminary definitions:
*
* IFnode's are returned by the simulator, thus we don't really
* IFnode's are returned by the simulator, thus we don't really
* know what they look like, just that we get to carry pointers
* to them around all the time, and will need to save them occasionally
*
*/
typedef void *IFnode;
typedef void * IFnode;
/*
* and of course, the standard complex data type
* and of course, the standard complex data type
*/
struct IFcomplex {
double real;
double imag;
@ -250,8 +253,8 @@ union IFvalue {
char **sVec; /* pointer to string vector */
IFuid *uVec; /* pointer to UID vector */
IFnode *nVec; /* pointer to node vector */
}vec;
}v;
} vec;
} v;
};
@ -289,10 +292,10 @@ struct IFdevice {
/* gtri - modify - wbk - 10/11/90 - add entries to hold data required */
/* by new parser */
#ifdef XSPICE
void ((*cm_func)(Mif_Private_t *)); /* pointer to code model function */
void (*cm_func) (Mif_Private_t *); /* pointer to code model function */
int num_conn; /* number of code model connections */
Mif_Conn_Info_t *conn; /* array of connection info for mif parser */
Mif_Conn_Info_t *conn; /* array of connection info for mif parser */
int num_param; /* number of parameters = numModelParms */
Mif_Param_Info_t *param; /* array of parameter info for mif parser */
@ -301,8 +304,8 @@ struct IFdevice {
Mif_Inst_Var_Info_t *inst_var; /* array of instance var info for mif parser */
/* gtri - end - wbk - 10/11/90 */
#endif
int flags; /* DEV_ */
int flags; /* DEV_ */
};
@ -311,7 +314,7 @@ struct IFdevice {
*
* This structure contains all the information available to the
* front end about a particular analysis type. The simulator will
* present the front end with an array of pointers to these structures
* present the front end with an array of pointers to these structures
* which it will use to determine legal analysis types and parameters.
*
* Note to simulators: As for IFdevice above, you pass an array of pointers
@ -326,7 +329,6 @@ struct IFanalysis {
int numParms; /* number of analysis parameter descriptors */
IFparm *analysisParms; /* array of analysis parameter descriptors */
};
@ -346,67 +348,67 @@ struct IFsimulator {
char *description; /* description of this simulator */
char *version; /* version or revision level of simulator*/
int ((*newCircuit)(void **));
int (*newCircuit) (void **);
/* create new circuit */
int ((*deleteCircuit)(void *));
int (*deleteCircuit) (void *);
/* destroy old circuit's data structures*/
int ((*newNode)(void *,void**,IFuid));
int (*newNode) (void *, void **, IFuid);
/* create new node */
int ((*groundNode)(void*,void**,IFuid));
int (*groundNode) (void *, void **, IFuid);
/* create ground node */
int ((*bindNode)(void *,void*,int,void*));
int (*bindNode) (void *, void *, int, void *);
/* bind a node to a terminal */
int ((*findNode)(void *,void**,IFuid));
int (*findNode) (void *, void **, IFuid);
/* find a node by name */
int ((*instToNode)(void *,void *,int,void **,IFuid *));
int (*instToNode) (void *, void *, int, void **, IFuid *);
/* find the node attached to a terminal */
int ((*setNodeParm)(void*,void*,int,IFvalue*,IFvalue*));
int (*setNodeParm) (void *, void *, int, IFvalue *, IFvalue *);
/* set a parameter on a node */
int ((*askNodeQuest)(void*,void*,int,IFvalue*,IFvalue*));
int (*askNodeQuest) (void *, void *, int, IFvalue *, IFvalue *);
/* ask a question about a node */
int ((*deleteNode)(void*,void*));
int (*deleteNode) (void *, void *);
/* delete a node from the circuit */
int ((*newInstance)(void*,void*,void**,IFuid));
int (*newInstance) (void *, void *, void **, IFuid);
/* create new instance */
int ((*setInstanceParm)(void*,void*,int,IFvalue*,IFvalue*));
int (*setInstanceParm) (void *, void *, int, IFvalue *, IFvalue *);
/* set a parameter on an instance */
int ((*askInstanceQuest)(void*,void*,int,IFvalue*,IFvalue*));
int (*askInstanceQuest) (void *, void *, int, IFvalue *, IFvalue *);
/* ask a question about an instance */
int ((*findInstance)(void*,int*,void**,IFuid,void*,IFuid));
int (*findInstance) (void *, int *, void **, IFuid, void *, IFuid);
/* find a specific instance */
int ((*deleteInstance)(void*,void*));
int (*deleteInstance) (void *, void *);
/* delete an instance from the circuit */
int ((*newModel)(void*,int,void**,IFuid));
int (*newModel) (void *, int, void **, IFuid);
/* create new model */
int ((*setModelParm)(void*,void*,int,IFvalue*,IFvalue*));
int (*setModelParm) (void *, void *, int, IFvalue *, IFvalue *);
/* set a parameter on a model */
int ((*askModelQuest)(void*,void*,int,IFvalue*,IFvalue*));
int (*askModelQuest) (void *, void *, int, IFvalue *, IFvalue *);
/* ask a questions about a model */
int ((*findModel)(void*,int*,void**,IFuid));
int (*findModel) (void *, int *, void **, IFuid);
/* find a specific model */
int ((*deleteModel)(void*,void*));
int (*deleteModel) (void *, void *);
/* delete a model from the circuit*/
int ((*newTask)(void*,void**,IFuid, void**)); /*CDHW*/
int (*newTask) (void *, void **, IFuid, void **); /*CDHW*/
/* create a new task */
int ((*newAnalysis)(void*,int,IFuid,void**,void*));
int (*newAnalysis) (void *, int, IFuid, void **, void *);
/* create new analysis within a task */
int ((*setAnalysisParm)(void*,void*,int,IFvalue*,IFvalue*));
int (*setAnalysisParm) (void *, void *, int, IFvalue *, IFvalue *);
/* set a parameter on an analysis */
int ((*askAnalysisQuest)(void*,void*,int,IFvalue*,IFvalue*));
int (*askAnalysisQuest) (void *, void *, int, IFvalue *, IFvalue *);
/* ask a question about an analysis */
int ((*findAnalysis)(void*,int*,void**,IFuid,void*,IFuid));
int (*findAnalysis) (void *, int *, void **, IFuid, void *, IFuid);
/* find a specific analysis */
int ((*findTask)(void*,void**,IFuid));
int (*findTask) (void *, void **, IFuid);
/* find a specific task */
int ((*deleteTask)(void*,void*));
int (*deleteTask) (void *, void *);
/* delete a task */
int ((*doAnalyses)(void*,int,void*));
char *((*nonconvErr)(void*,char *)); /* return nonconvergence error */
int (*doAnalyses) (void *, int, void *);
char *(*nonconvErr) (void *, char *); /* return nonconvergence error */
int numDevices; /* number of device types supported */
IFdevice **devices; /* array of device type descriptors */
@ -419,9 +421,9 @@ struct IFsimulator {
int numSpecSigs; /* number of special signals legal in parse trees */
char **specSigs; /* names of special signals legal in parse trees */
};
/*
* Structure: IFfrontEnd
*
@ -433,40 +435,41 @@ struct IFsimulator {
*/
struct IFfrontEnd {
int ((*IFnewUid)(void*,IFuid*,IFuid,char*,int,void**));
int (*IFnewUid) (void *, IFuid *, IFuid, char *, int, void **);
/* create a new UID in the circuit */
int ((*IFdelUid)(void*,IFuid,int));
/* create a new UID in the circuit */
int ((*IFpauseTest)(void));
int (*IFdelUid) (void *, IFuid, int);
/* create a new UID in the circuit */
int (*IFpauseTest) (void);
/* should we stop now? */
double ((*IFseconds)(void));
double (*IFseconds) (void);
/* what time is it? */
int ((*IFerror)(int,char*,IFuid*));
int (*IFerror) (int, char *, IFuid *);
/* output an error or warning message */
int ((*OUTpBeginPlot)(void*,void*,IFuid,IFuid,int,
int,IFuid*,int,void**));
int (*OUTpBeginPlot) (void *, void *, IFuid, IFuid, int,
int, IFuid *, int, void **);
/* start pointwise output plot */
int ((*OUTpData)(void*,IFvalue*,IFvalue*));
int (*OUTpData) (void *, IFvalue *, IFvalue *);
/* data for pointwise plot */
int ((*OUTwBeginPlot)(void*,void*,IFuid,IFuid,int,
int,IFuid*,int,void**));
int (*OUTwBeginPlot) (void *, void *, IFuid, IFuid, int,
int, IFuid *, int, void **);
/* start windowed output plot */
int ((*OUTwReference)(void*,IFvalue*,void**));
int (*OUTwReference) (void *, IFvalue *, void **);
/* independent vector for windowed plot */
int ((*OUTwData)(void*,int,IFvalue*,void*));
int (*OUTwData) (void *, int, IFvalue *, void *);
/* data for windowed plot */
int ((*OUTwEnd)(void*));
int (*OUTwEnd) (void *);
/* signal end of windows */
int ((*OUTendPlot)(void*));
int (*OUTendPlot) (void *);
/* end of plot */
int ((*OUTbeginDomain)(void*,IFuid,int,IFvalue*));
int (*OUTbeginDomain) (void *, IFuid, int, IFvalue *);
/* start nested domain */
int ((*OUTendDomain)(void*));
int (*OUTendDomain) (void *);
/* end nested domain */
int ((*OUTattributes)(void *,IFuid,int,IFvalue*));
int (*OUTattributes) (void *, IFuid, int, IFvalue *);
/* specify output attributes of node */
};
/* flags for the first argument to IFerror */
#define ERR_WARNING 0x1
#define ERR_FATAL 0x2

View File

@ -25,7 +25,7 @@ struct INPtab {
struct INPnTab {
char *t_ent;
void* t_node;
void *t_node;
struct INPnTab *t_next;
};
@ -63,7 +63,7 @@ struct INPtables{
struct card{
int linenum;
int linenum_orig;
int linenum_orig;
char *line;
char *error;
card *nextcard;
@ -86,65 +86,66 @@ struct INPmodel{
#define LOGICAL 1
#define PHYSICAL 2
int IFnewUid(void*,IFuid*,IFuid,char*,int,void**);
int IFdelUid(void*,IFuid,int);
int INPaName(char*,IFvalue*,void*,int*,char*,void**,IFsimulator*,int*,
IFvalue*);
int INPapName(void*,int,void*,char*,IFvalue*);
void INPcaseFix(char*);
char * INPdevParse(char**,void*,int,void*,double*,int*,INPtables*);
char *INPdomodel(void *,card*, INPtables*);
void INPdoOpts(void*,void*,card*,INPtables*);
int IFnewUid(void *, IFuid *, IFuid, char *, int, void **);
int IFdelUid(void *, IFuid, int);
int INPaName(char *, IFvalue *, void *, int *, char *, void **, IFsimulator *, int *,
IFvalue *);
int INPapName(void *, int, void *, char *, IFvalue *);
void INPcaseFix(char *);
char *INPdevParse(char **, void *, int, void *, double *, int *, INPtables *);
char *INPdomodel(void *, card *, INPtables *);
void INPdoOpts(void *, void *, card *, INPtables *);
char *INPerrCat(char *, char *);
char *INPerror(int);
double INPevaluate(char**,int*,int);
char * INPfindLev(char*,int*);
char * INPgetMod(void*,char*,INPmodel**,INPtables*);
char * INPgetModBin(void*,char*,INPmodel**,INPtables*,char*);
int INPgetTok(char**,char**,int);
int INPgetNetTok(char**,char**,int);
void INPgetTree(char**,INPparseTree**,void*,INPtables*);
IFvalue * INPgetValue(void*,char**,int,INPtables*);
int INPgndInsert(void*,char**,INPtables*,void**);
double INPevaluate(char **, int *, int);
char *INPfindLev(char *, int *);
char *INPgetMod(void *, char *, INPmodel **, INPtables *);
char *INPgetModBin(void *, char *, INPmodel **, INPtables *, char *);
int INPgetTok(char **, char **, int);
int INPgetNetTok(char **, char **, int);
void INPgetTree(char **, INPparseTree **, void *, INPtables *);
IFvalue *INPgetValue(void *, char **, int, INPtables *);
int INPgndInsert(void *, char **, INPtables *, void **);
int INPinsertNofree(char **token, INPtables *tab);
int INPinsert(char**,INPtables*);
int INPretrieve(char**,INPtables*);
int INPremove(char*,INPtables*);
int INPlookMod(char*);
int INPmakeMod(char*,int,card*);
char *INPmkTemp(char*);
void INPpas1(void*,card*,INPtables*);
void INPpas2(void*,card*,INPtables*,void *);
void INPpas3(void*,card*,INPtables*,void *,IFparm*,int);
int INPpName(char*,IFvalue*,void*,int,void*);
int INPtermInsert(void*,char**,INPtables*,void**);
int INPmkTerm(void*,char**,INPtables*,void**);
int INPtypelook(char*);
void INP2B(void*,INPtables*,card*);
void INP2C(void*,INPtables*,card*);
void INP2D(void*,INPtables*,card*);
void INP2E(void*,INPtables*,card*);
void INP2F(void*,INPtables*,card*);
void INP2G(void*,INPtables*,card*);
void INP2H(void*,INPtables*,card*);
void INP2I(void*,INPtables*,card*);
void INP2J(void*,INPtables*,card*);
void INP2K(void*,INPtables*,card*);
void INP2L(void*,INPtables*,card*);
void INP2M(void*,INPtables*,card*);
void INP2O(void*,INPtables*,card*);
void INP2P(void*,INPtables*,card*);
void INP2Q(void*,INPtables*,card*,void*);
void INP2R(void*,INPtables*,card*);
void INP2S(void*,INPtables*,card*);
void INP2T(void*,INPtables*,card*);
void INP2U(void*,INPtables*,card*);
void INP2V(void*,INPtables*,card*);
void INP2W(void*,INPtables*,card*);
void INP2Y(void*,INPtables*,card*);
void INP2Z(void*,INPtables*,card*);
int INP2dot(void*,INPtables*,card*,void*,void*);
int INPinsert(char **, INPtables *);
int INPretrieve(char **, INPtables *);
int INPremove(char *, INPtables *);
int INPlookMod(char *);
int INPmakeMod(char *, int, card *);
char *INPmkTemp(char *);
void INPpas1(void *, card *, INPtables *);
void INPpas2(void *, card *, INPtables *, void *);
void INPpas3(void *, card *, INPtables *, void *, IFparm *, int);
int INPpName(char *, IFvalue *, void *, int, void *);
int INPtermInsert(void *, char **, INPtables *, void **);
int INPmkTerm(void *, char **, INPtables *, void **);
int INPtypelook(char *);
void INP2B(void *, INPtables *, card *);
void INP2C(void *, INPtables *, card *);
void INP2D(void *, INPtables *, card *);
void INP2E(void *, INPtables *, card *);
void INP2F(void *, INPtables *, card *);
void INP2G(void *, INPtables *, card *);
void INP2H(void *, INPtables *, card *);
void INP2I(void *, INPtables *, card *);
void INP2J(void *, INPtables *, card *);
void INP2K(void *, INPtables *, card *);
void INP2L(void *, INPtables *, card *);
void INP2M(void *, INPtables *, card *);
void INP2O(void *, INPtables *, card *);
void INP2P(void *, INPtables *, card *);
void INP2Q(void *, INPtables *, card *, void *);
void INP2R(void *, INPtables *, card *);
void INP2S(void *, INPtables *, card *);
void INP2T(void *, INPtables *, card *);
void INP2U(void *, INPtables *, card *);
void INP2V(void *, INPtables *, card *);
void INP2W(void *, INPtables *, card *);
void INP2Y(void *, INPtables *, card *);
void INP2Z(void *, INPtables *, card *);
int INP2dot(void *, INPtables *, card *, void *, void *);
INPtables *INPtabInit(int);
void INPkillMods(void);
void INPtabEnd(INPtables *);
#endif /*INP*/

View File

@ -30,11 +30,14 @@ struct TFan {
unsigned int TFinIsI :1;
};
#define TF_OUTPOS 1
#define TF_OUTNEG 2
#define TF_OUTSRC 3
#define TF_INSRC 4
#define TF_OUTNAME 5
extern int TFsetParm(CKTcircuit *ckt, void *anal, int which, IFvalue *value);
extern int TFaskQuest(CKTcircuit *ckt, void *anal, int which, IFvalue *value);
#endif /*TF*/
#endif /*TF*/