use the types TSKtask and JOB, instead of void
This commit is contained in:
parent
7047535f96
commit
74d62ab486
30
ChangeLog
30
ChangeLog
|
|
@ -1,3 +1,33 @@
|
|||
2010-10-08 Robert Larice
|
||||
* src/frontend/shyu.c ,
|
||||
* src/frontend/spiceif.c ,
|
||||
* src/include/cktdefs.h ,
|
||||
* src/include/ftedefs.h ,
|
||||
* src/include/ifsim.h ,
|
||||
* src/include/inpdefs.h ,
|
||||
* src/spicelib/analysis/ckt.h ,
|
||||
* src/spicelib/analysis/cktdelt.c ,
|
||||
* src/spicelib/analysis/cktdojob.c ,
|
||||
* src/spicelib/analysis/cktfnda.c ,
|
||||
* src/spicelib/analysis/cktftask.c ,
|
||||
* src/spicelib/analysis/cktnewan.c ,
|
||||
* src/spicelib/analysis/cktntask.c ,
|
||||
* src/spicelib/analysis/cktsetap.c ,
|
||||
* src/spicelib/devices/bsim4/b4set.c ,
|
||||
* src/spicelib/devices/bsim4v2/b4v2set.c ,
|
||||
* src/spicelib/devices/bsim4v3/b4v3set.c ,
|
||||
* src/spicelib/devices/bsim4v4/b4v4set.c ,
|
||||
* src/spicelib/devices/bsim4v5/b4v5set.c ,
|
||||
* src/spicelib/parser/inp.h ,
|
||||
* src/spicelib/parser/inp2dot.c ,
|
||||
* src/spicelib/parser/inpapnam.c ,
|
||||
* src/spicelib/parser/inpdoopt.c ,
|
||||
* src/spicelib/parser/inppas2.c ,
|
||||
* src/spicelib/parser/inppas2.h ,
|
||||
* src/spicelib/parser/inppas3.c ,
|
||||
* src/spicelib/parser/inppas3.h :
|
||||
use the types TSKtask and JOB, instead of void
|
||||
|
||||
2010-10-08 Robert Larice
|
||||
* src/frontend/spiceif.c ,
|
||||
* src/spicelib/analysis/cktnewan.c ,
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@ int
|
|||
if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
|
||||
{
|
||||
CKTcircuit *ckt = /* fixme, drop that */ t;
|
||||
void *senseJob;
|
||||
void *acJob;
|
||||
void *opJob;
|
||||
void *dcJob;
|
||||
void *tranJob;
|
||||
JOB *senseJob;
|
||||
JOB *acJob;
|
||||
JOB *opJob;
|
||||
JOB *dcJob;
|
||||
JOB *tranJob;
|
||||
card *current;
|
||||
IFvalue ptemp;
|
||||
IFvalue *parm;
|
||||
|
|
@ -69,8 +69,8 @@ if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
|
|||
}
|
||||
}
|
||||
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt,
|
||||
(void **) &(ft_curckt->ci_specTask),"special",
|
||||
(void**)&(ft_curckt->ci_defTask));
|
||||
&(ft_curckt->ci_specTask), "special",
|
||||
&(ft_curckt->ci_defTask));
|
||||
if(err) {
|
||||
ft_sperror(err,"newTask");
|
||||
return(0); /* temporary */
|
||||
|
|
@ -83,7 +83,7 @@ if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
|
|||
}
|
||||
if(which != -1) {
|
||||
err = (*(ft_sim->newAnalysis))(ft_curckt->ci_ckt,which,"options",
|
||||
(void **) &(ft_curckt->ci_specOpt),ft_curckt->ci_specTask);
|
||||
&(ft_curckt->ci_specOpt), ft_curckt->ci_specTask);
|
||||
if(err) {
|
||||
ft_sperror(err,"createOptions");
|
||||
return(0);/* temporary */
|
||||
|
|
|
|||
|
|
@ -116,11 +116,11 @@ if_inpdeck(struct line *deck, INPtables **tab)
|
|||
}
|
||||
#if (0)
|
||||
err =
|
||||
(*(ft_sim->newTask))(ckt,(void**)&(ft_curckt->ci_defTask),taskUid);
|
||||
(*(ft_sim->newTask))(ckt, &(ft_curckt->ci_defTask), taskUid);
|
||||
#else /*CDHW*/
|
||||
err =
|
||||
(*(ft_sim->newTask))(ckt,(void**)&(ft_curckt->ci_defTask),taskUid,
|
||||
(void**)NULL);
|
||||
(*(ft_sim->newTask))(ckt, &(ft_curckt->ci_defTask), taskUid,
|
||||
NULL);
|
||||
#endif
|
||||
if(err) {
|
||||
ft_sperror(err,"newTask");
|
||||
|
|
@ -145,8 +145,8 @@ if_inpdeck(struct line *deck, INPtables **tab)
|
|||
}
|
||||
|
||||
err = (*(ft_sim->newAnalysis))(ft_curckt->ci_ckt,which,optUid,
|
||||
(void**)&(ft_curckt->ci_defOpt),
|
||||
(void*)ft_curckt->ci_defTask);
|
||||
&(ft_curckt->ci_defOpt),
|
||||
ft_curckt->ci_defTask);
|
||||
|
||||
/*CDHW ci_defTask and ci_defOpt point to parameters DDD CDHW*/
|
||||
|
||||
|
|
@ -254,11 +254,11 @@ ci_specTask will point to it CDHW*/
|
|||
}
|
||||
#if (0)
|
||||
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt,
|
||||
(void**)&(ft_curckt->ci_specTask),specUid);
|
||||
&(ft_curckt->ci_specTask), specUid);
|
||||
#else /*CDHW*/
|
||||
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt,
|
||||
(void**)&(ft_curckt->ci_specTask),
|
||||
specUid,(void**)&(ft_curckt->ci_defTask));
|
||||
&(ft_curckt->ci_specTask),
|
||||
specUid, &(ft_curckt->ci_defTask));
|
||||
#endif
|
||||
if(err) {
|
||||
ft_sperror(err,"newTask");
|
||||
|
|
@ -281,8 +281,8 @@ ci_specTask will point to it CDHW*/
|
|||
return(2);
|
||||
}
|
||||
err = (*(ft_sim->newAnalysis))(ft_curckt->ci_ckt,which,optUid,
|
||||
(void**)&(ft_curckt->ci_specOpt),
|
||||
(void*)ft_curckt->ci_specTask);
|
||||
&(ft_curckt->ci_specOpt),
|
||||
ft_curckt->ci_specTask);
|
||||
|
||||
/*CDHW 'options' ci_specOpt points to AAA in this case CDHW*/
|
||||
|
||||
|
|
@ -495,12 +495,12 @@ if_option(CKTcircuit *ckt, char *name, enum cp_types type, void *value)
|
|||
}
|
||||
|
||||
#if (0)
|
||||
if ((err = (*(ft_sim->setAnalysisParm))(cc, (void *)ft_curckt->ci_curOpt,
|
||||
if ((err = (*(ft_sim->setAnalysisParm))(cc, ft_curckt->ci_curOpt,
|
||||
ft_sim->analyses[which]->analysisParms[i].id, &pval,
|
||||
(IFvalue *)NULL)) != OK)
|
||||
ft_sperror(err, "setAnalysisParm(options) ci_curOpt");
|
||||
#else /*CDHW*/
|
||||
if ((err = (*(ft_sim->setAnalysisParm))(cc, (void *)ft_curckt->ci_defOpt,
|
||||
if ((err = (*(ft_sim->setAnalysisParm))(cc, ft_curckt->ci_defOpt,
|
||||
ft_sim->analyses[which]->analysisParms[i].id, &pval,
|
||||
(IFvalue *)NULL)) != OK)
|
||||
ft_sperror(err, "setAnalysisParm(options) ci_curOpt");
|
||||
|
|
@ -1257,7 +1257,7 @@ if_getstat(CKTcircuit *ckt, char *name)
|
|||
break;
|
||||
if (i == ft_sim->analyses[which]->numParms)
|
||||
return (NULL);
|
||||
if ((*(ft_sim->askAnalysisQuest))(ckt, &(((TSKtask*)ft_curckt->ci_curTask)->taskOptions),
|
||||
if ((*(ft_sim->askAnalysisQuest))(ckt, &(ft_curckt->ci_curTask->taskOptions),
|
||||
ft_sim->analyses[which]->analysisParms[i].id, &parm,
|
||||
(IFvalue *)NULL) == -1) {
|
||||
fprintf(cp_err,
|
||||
|
|
@ -1271,7 +1271,7 @@ if_getstat(CKTcircuit *ckt, char *name)
|
|||
if(!(ft_sim->analyses[which]->analysisParms[i].dataType&IF_ASK)) {
|
||||
continue;
|
||||
}
|
||||
if ((*(ft_sim->askAnalysisQuest))(ckt, &(((TSKtask*)ft_curckt->ci_curTask)->taskOptions),
|
||||
if ((*(ft_sim->askAnalysisQuest))(ckt, &(ft_curckt->ci_curTask->taskOptions),
|
||||
ft_sim->analyses[which]->analysisParms[i].id,
|
||||
&parm, (IFvalue *)NULL) == -1) {
|
||||
fprintf(cp_err,
|
||||
|
|
@ -1488,28 +1488,28 @@ do {\
|
|||
_foo(ckt->CKTbreaks,double,ckt->CKTbreakSize);
|
||||
|
||||
{ /* avoid invalid lvalue assignment errors in the macro _foo() */
|
||||
TSKtask * lname = (TSKtask *)ft_curckt->ci_curTask;
|
||||
TSKtask * lname = ft_curckt->ci_curTask;
|
||||
_foo(lname,TSKtask,1);
|
||||
}
|
||||
|
||||
/* To stop the Free */
|
||||
((TSKtask *)ft_curckt->ci_curTask)->TSKname = NULL;
|
||||
((TSKtask *)ft_curckt->ci_curTask)->jobs = NULL;
|
||||
ft_curckt->ci_curTask->TSKname = NULL;
|
||||
ft_curckt->ci_curTask->jobs = NULL;
|
||||
|
||||
_foo(((TSKtask *)ft_curckt->ci_curTask)->TSKname,char,-1);
|
||||
_foo(ft_curckt->ci_curTask->TSKname, char, -1);
|
||||
|
||||
{ /* avoid invalid lvalue assignment errors in the macro _foo() */
|
||||
TRANan * lname = (TRANan *)((TSKtask *)ft_curckt->ci_curTask)->jobs;
|
||||
TRANan * lname = (TRANan *)ft_curckt->ci_curTask->jobs;
|
||||
_foo(lname,TRANan,1);
|
||||
}
|
||||
((TSKtask *)ft_curckt->ci_curTask)->jobs->JOBname = NULL;
|
||||
ckt->CKTcurJob = (&(((TSKtask *)ft_curckt->ci_curTask)->taskOptions))->jobs;
|
||||
ft_curckt->ci_curTask->jobs->JOBname = NULL;
|
||||
ckt->CKTcurJob = (&(ft_curckt->ci_curTask->taskOptions)) -> jobs;
|
||||
|
||||
_foo(((TSKtask *)ft_curckt->ci_curTask)->jobs->JOBname,char,-1);
|
||||
_foo(ft_curckt->ci_curTask->jobs->JOBname, char, -1);
|
||||
|
||||
((TSKtask *)ft_curckt->ci_curTask)->jobs->JOBnextJob = NULL;
|
||||
ft_curckt->ci_curTask->jobs->JOBnextJob = NULL;
|
||||
|
||||
((TRANan *)((TSKtask *)ft_curckt->ci_curTask)->jobs)->TRANplot = NULL;
|
||||
((TRANan *)ft_curckt->ci_curTask->jobs)->TRANplot = NULL;
|
||||
|
||||
_foo(ckt->CKTstat,STATistics,1);
|
||||
|
||||
|
|
@ -1564,7 +1564,7 @@ void com_savesnap(wordlist *wl) {
|
|||
|
||||
ckt = ft_curckt->ci_ckt;
|
||||
|
||||
task = (TSKtask *)ft_curckt->ci_curTask;
|
||||
task = ft_curckt->ci_curTask;
|
||||
|
||||
if(task->jobs->JOBtype != 4) {
|
||||
fprintf(cp_err,"Only saving of tran analysis is implemented\n");
|
||||
|
|
|
|||
|
|
@ -283,25 +283,25 @@ extern void CKTbreakDump(CKTcircuit *);
|
|||
extern int CKTclrBreak(CKTcircuit *);
|
||||
extern int CKTconvTest(CKTcircuit *);
|
||||
extern int CKTcrtElt(CKTcircuit *, GENmodel *, GENinstance **, IFuid);
|
||||
extern int CKTdelTask(CKTcircuit *, void *);
|
||||
extern int CKTdelTask(CKTcircuit *, TSKtask *);
|
||||
extern int CKTdestroy(CKTcircuit *);
|
||||
extern int CKTdltAnal(void *, void *, void *);
|
||||
extern int CKTdltInst(CKTcircuit *, void *);
|
||||
extern int CKTdltMod(CKTcircuit *, GENmodel *);
|
||||
extern int CKTdltNNum(CKTcircuit *, int);
|
||||
extern int CKTdltNod(CKTcircuit *, CKTnode *);
|
||||
extern int CKTdoJob(CKTcircuit *, int , void *);
|
||||
extern int CKTdoJob(CKTcircuit *, int , TSKtask *);
|
||||
extern void CKTdump(CKTcircuit *, double, void *);
|
||||
#ifdef CIDER
|
||||
extern void NDEVacct(CKTcircuit *ckt, FILE *file);
|
||||
#endif /* CIDER */
|
||||
extern void CKTncDump(CKTcircuit *);
|
||||
extern int CKTfndAnal(CKTcircuit *, int *, void **, IFuid , void *, IFuid);
|
||||
extern int CKTfndAnal(CKTcircuit *, int *, void **, IFuid , TSKtask *, IFuid);
|
||||
extern int CKTfndBranch(CKTcircuit *, IFuid);
|
||||
extern int CKTfndDev(CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid);
|
||||
extern int CKTfndMod(CKTcircuit *, int *, GENmodel **, IFuid);
|
||||
extern int CKTfndNode(CKTcircuit *, CKTnode **, IFuid);
|
||||
extern int CKTfndTask(CKTcircuit *, void **, IFuid );
|
||||
extern int CKTfndTask(CKTcircuit *, TSKtask **, IFuid );
|
||||
extern int CKTground(CKTcircuit *, CKTnode **, IFuid);
|
||||
extern int CKTic(CKTcircuit *);
|
||||
extern int CKTinit(CKTcircuit **);
|
||||
|
|
@ -316,10 +316,10 @@ extern int CKTmodAsk(CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
|||
extern int CKTmodCrt(CKTcircuit *, int , GENmodel **, IFuid);
|
||||
extern int CKTmodParam(CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
||||
extern int CKTnames(CKTcircuit *, int *, IFuid **);
|
||||
extern int CKTnewAnal(CKTcircuit *, int , IFuid , void **, void *);
|
||||
extern int CKTnewAnal(CKTcircuit *, int , IFuid , JOB **, TSKtask *);
|
||||
extern int CKTnewEq(CKTcircuit *, CKTnode **, IFuid);
|
||||
extern int CKTnewNode(CKTcircuit *, CKTnode **, IFuid);
|
||||
extern int CKTnewTask(CKTcircuit *, void **, IFuid, void **);
|
||||
extern int CKTnewTask(CKTcircuit *, TSKtask **, IFuid, TSKtask **);
|
||||
extern int CKTnoise (CKTcircuit *ckt, int mode, int operation, Ndata *data);
|
||||
extern IFuid CKTnodName(CKTcircuit *, int);
|
||||
extern void CKTnodOut(CKTcircuit *);
|
||||
|
|
@ -339,7 +339,7 @@ extern int CKTsenLoad(CKTcircuit *);
|
|||
extern void CKTsenPrint(CKTcircuit *);
|
||||
extern int CKTsenSetup(CKTcircuit *);
|
||||
extern int CKTsenUpdate(CKTcircuit *);
|
||||
extern int CKTsetAnalPm(CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||
extern int CKTsetAnalPm(CKTcircuit *, JOB *, int , IFvalue *, IFvalue *);
|
||||
extern int CKTsetBreak(CKTcircuit *, double);
|
||||
extern int CKTsetNodPm(CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||
extern int CKTsetOpt(CKTcircuit *, void *, int , IFvalue *);
|
||||
|
|
|
|||
|
|
@ -41,12 +41,12 @@ struct circ {
|
|||
char *ci_nodes; /* ccom structs for the nodes... */
|
||||
char *ci_devices; /* and devices in the circuit. */
|
||||
char *ci_filename; /* Where this circuit came from. */
|
||||
char *ci_defTask; /* the default task for this circuit */
|
||||
char *ci_specTask; /* the special task for command line jobs */
|
||||
char *ci_curTask; /* the most recent task for this circuit */
|
||||
char *ci_defOpt; /* the default options anal. for this circuit */
|
||||
char *ci_specOpt; /* the special options anal. for command line jobs */
|
||||
char *ci_curOpt; /* the most recent options anal. for the circuit */
|
||||
TSKtask *ci_defTask; /* the default task for this circuit */
|
||||
TSKtask *ci_specTask; /* the special task for command line jobs */
|
||||
TSKtask *ci_curTask; /* the most recent task for this circuit */
|
||||
JOB *ci_defOpt; /* the default options anal. for this circuit */
|
||||
JOB *ci_specOpt; /* the special options anal. for command line jobs */
|
||||
JOB *ci_curOpt; /* the most recent options anal. for the circuit */
|
||||
char *ci_last_an; /* name of last analysis run */
|
||||
} ;
|
||||
|
||||
|
|
|
|||
|
|
@ -386,22 +386,22 @@ struct IFsimulator {
|
|||
int (*deleteModel) (CKTcircuit *, GENmodel *);
|
||||
/* delete a model from the circuit*/
|
||||
|
||||
int (*newTask) (CKTcircuit *, void **, IFuid, void **); /*CDHW*/
|
||||
int (*newTask) (CKTcircuit *, TSKtask **, IFuid, TSKtask **); /*CDHW*/
|
||||
/* create a new task */
|
||||
int (*newAnalysis) (CKTcircuit *, int, IFuid, void **, void *);
|
||||
int (*newAnalysis) (CKTcircuit *, int, IFuid, JOB **, TSKtask *);
|
||||
/* create new analysis within a task */
|
||||
int (*setAnalysisParm) (CKTcircuit *, void *, int, IFvalue *, IFvalue *);
|
||||
int (*setAnalysisParm) (CKTcircuit *, JOB *, int, IFvalue *, IFvalue *);
|
||||
/* set a parameter on an analysis */
|
||||
int (*askAnalysisQuest) (CKTcircuit *, void *, int, IFvalue *, IFvalue *);
|
||||
/* ask a question about an analysis */
|
||||
int (*findAnalysis) (CKTcircuit *, int *, void **, IFuid, void *, IFuid);
|
||||
int (*findAnalysis) (CKTcircuit *, int *, void **, IFuid, TSKtask *, IFuid);
|
||||
/* find a specific analysis */
|
||||
int (*findTask) (CKTcircuit *, void **, IFuid);
|
||||
int (*findTask) (CKTcircuit *, TSKtask **, IFuid);
|
||||
/* find a specific task */
|
||||
int (*deleteTask) (CKTcircuit *, void *);
|
||||
int (*deleteTask) (CKTcircuit *, TSKtask *);
|
||||
/* delete a task */
|
||||
|
||||
int (*doAnalyses) (CKTcircuit *, int, void *);
|
||||
int (*doAnalyses) (CKTcircuit *, int, TSKtask *);
|
||||
char *(*nonconvErr) (CKTcircuit *, char *); /* return nonconvergence error */
|
||||
|
||||
int numDevices; /* number of device types supported */
|
||||
|
|
|
|||
|
|
@ -90,11 +90,11 @@ int IFnewUid(CKTcircuit *, IFuid *, IFuid, char *, int, CKTnode **);
|
|||
int IFdelUid(CKTcircuit *, IFuid, int);
|
||||
int INPaName(char *, IFvalue *, CKTcircuit *, int *, char *, GENinstance **, IFsimulator *, int *,
|
||||
IFvalue *);
|
||||
int INPapName(CKTcircuit *, int, void *, char *, IFvalue *);
|
||||
int INPapName(CKTcircuit *, int, JOB *, char *, IFvalue *);
|
||||
void INPcaseFix(char *);
|
||||
char *INPdevParse(char **, CKTcircuit *, int, GENinstance *, double *, int *, INPtables *);
|
||||
char *INPdomodel(CKTcircuit *, card *, INPtables *);
|
||||
void INPdoOpts(CKTcircuit *, void *, card *, INPtables *);
|
||||
void INPdoOpts(CKTcircuit *, JOB *, card *, INPtables *);
|
||||
char *INPerrCat(char *, char *);
|
||||
char *INPerror(int);
|
||||
double INPevaluate(char **, int *, int);
|
||||
|
|
@ -114,8 +114,8 @@ int INPlookMod(char *);
|
|||
int INPmakeMod(char *, int, card *);
|
||||
char *INPmkTemp(char *);
|
||||
void INPpas1(CKTcircuit *, card *, INPtables *);
|
||||
void INPpas2(CKTcircuit *, card *, INPtables *, void *);
|
||||
void INPpas3(CKTcircuit *, card *, INPtables *, void *, IFparm *, int);
|
||||
void INPpas2(CKTcircuit *, card *, INPtables *, TSKtask *);
|
||||
void INPpas3(CKTcircuit *, card *, INPtables *, TSKtask *, IFparm *, int);
|
||||
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
||||
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||
int INPmkTerm(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||
|
|
@ -144,7 +144,7 @@ void INP2V(CKTcircuit *, INPtables *, card *);
|
|||
void INP2W(CKTcircuit *, INPtables *, card *);
|
||||
void INP2Y(CKTcircuit *, INPtables *, card *);
|
||||
void INP2Z(CKTcircuit *, INPtables *, card *);
|
||||
int INP2dot(CKTcircuit *, INPtables *, card *, void *, CKTnode *);
|
||||
int INP2dot(CKTcircuit *, INPtables *, card *, TSKtask *, CKTnode *);
|
||||
INPtables *INPtabInit(int);
|
||||
void INPkillMods(void);
|
||||
void INPtabEnd(INPtables *);
|
||||
|
|
|
|||
|
|
@ -26,20 +26,20 @@ void CKTbreakDump( CKTcircuit *);
|
|||
int CKTclrBreak( CKTcircuit *);
|
||||
int CKTconvTest( CKTcircuit *);
|
||||
int CKTcrtElt( CKTcircuit *, GENmodel *, GENinstance **, IFuid );
|
||||
int CKTdelTask( CKTcircuit *, void *);
|
||||
int CKTdelTask( CKTcircuit *, TSKtask *);
|
||||
int CKTdestroy( CKTcircuit *);
|
||||
int CKTdltAnal( void *, void *, void *);
|
||||
int CKTdltInst( CKTcircuit *, void *);
|
||||
int CKTdltMod( CKTcircuit *, GENmodel *);
|
||||
int CKTdltNod( CKTcircuit *, CKTnode *);
|
||||
int CKTdoJob( CKTcircuit *, int , void *);
|
||||
int CKTdoJob( CKTcircuit *, int , TSKtask *);
|
||||
void CKTdump( CKTcircuit *, double, void *);
|
||||
int CKTfndAnal( CKTcircuit *, int *, void **, IFuid , void *, IFuid );
|
||||
int CKTfndAnal( CKTcircuit *, int *, void **, IFuid , TSKtask *, IFuid );
|
||||
int CKTfndBranch( CKTcircuit *, IFuid);
|
||||
int CKTfndDev( CKTcircuit *, int *, GENinstance **, IFuid , GENmodel *, IFuid );
|
||||
int CKTfndMod( CKTcircuit *, int *, GENmodel **, IFuid );
|
||||
int CKTfndNode( CKTcircuit *, CKTnode **, IFuid );
|
||||
int CKTfndTask( CKTcircuit *, void **, IFuid );
|
||||
int CKTfndTask( CKTcircuit *, TSKtask **, IFuid );
|
||||
int CKTground( CKTcircuit *, CKTnode **, IFuid );
|
||||
int CKTic( CKTcircuit *);
|
||||
int CKTinit( CKTcircuit **);
|
||||
|
|
@ -54,10 +54,10 @@ int CKTmodAsk( CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
|||
int CKTmodCrt( CKTcircuit *, int , GENmodel **, IFuid );
|
||||
int CKTmodParam( CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
|
||||
int CKTnames(CKTcircuit *, int *, IFuid **);
|
||||
int CKTnewAnal( CKTcircuit *, int , IFuid , void **, void *);
|
||||
int CKTnewAnal( CKTcircuit *, int , IFuid , JOB **, TSKtask *);
|
||||
int CKTnewEq( CKTcircuit *, CKTnode **, IFuid );
|
||||
int CKTnewNode( CKTcircuit *, CKTnode **, IFuid );
|
||||
int CKTnewTask( CKTcircuit *, void **, IFuid, void**);
|
||||
int CKTnewTask( CKTcircuit *, TSKtask **, IFuid, TSKtask **);
|
||||
IFuid CKTnodName( CKTcircuit *, int );
|
||||
void CKTnodOut( CKTcircuit *);
|
||||
CKTnode * CKTnum2nod( CKTcircuit *, int );
|
||||
|
|
@ -75,7 +75,7 @@ int CKTsenLoad( CKTcircuit *);
|
|||
void CKTsenPrint( CKTcircuit *);
|
||||
int CKTsenSetup( CKTcircuit *);
|
||||
int CKTsenUpdate( CKTcircuit *);
|
||||
int CKTsetAnalPm( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
|
||||
int CKTsetAnalPm( CKTcircuit *, JOB *, int , IFvalue *, IFvalue *);
|
||||
int CKTsetBreak( CKTcircuit *, double );
|
||||
int CKTsetNodPm( CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
|
||||
int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *);
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
CKTdelTask(CKTcircuit *ckt, void *task)
|
||||
CKTdelTask(CKTcircuit *ckt, TSKtask *task)
|
||||
{
|
||||
JOB *job;
|
||||
JOB *old=NULL;
|
||||
for(job = ((TSKtask*)task)->jobs; job; job=job->JOBnextJob){
|
||||
for(job = task->jobs; job; job=job->JOBnextJob){
|
||||
if(old) FREE(old);
|
||||
old=job;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ Modified: 2000 AlansFixes
|
|||
extern SPICEanalysis *analInfo[];
|
||||
|
||||
int
|
||||
CKTdoJob(CKTcircuit *inCkt, int reset, void *inTask)
|
||||
CKTdoJob(CKTcircuit *inCkt, int reset, TSKtask *inTask)
|
||||
{
|
||||
CKTcircuit *ckt = /* fixme, drop that */ inCkt;
|
||||
TSKtask *task = (TSKtask *)inTask;
|
||||
TSKtask *task = /* fixme, drop that */ inTask;
|
||||
JOB *job;
|
||||
double startTime;
|
||||
int error, i, error2;
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
CKTfndAnal(CKTcircuit *ckt, int *analIndex, void **anal, IFuid name, void *inTask, IFuid taskName)
|
||||
CKTfndAnal(CKTcircuit *ckt, int *analIndex, void **anal, IFuid name, TSKtask *inTask, IFuid taskName)
|
||||
{
|
||||
TSKtask *task = (TSKtask *)inTask;
|
||||
TSKtask *task = /* fixme, drop that */ inTask;
|
||||
JOB *here;
|
||||
|
||||
for (here = ((TSKtask *)task)->jobs;here;here = here->JOBnextJob) {
|
||||
for (here = task->jobs; here; here = here->JOBnextJob) {
|
||||
if(strcmp(here->JOBname,name)==0) {
|
||||
if(anal) *anal = (void *)here;
|
||||
return(OK);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
CKTfndTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName)
|
||||
CKTfndTask(CKTcircuit *ckt, TSKtask **taskPtr, IFuid taskName)
|
||||
{
|
||||
return(E_UNSUPP);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,20 +16,20 @@ extern SPICEanalysis *analInfo[];
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
CKTnewAnal(CKTcircuit *ckt, int type, IFuid name, void **analPtr, void *taskPtr)
|
||||
CKTnewAnal(CKTcircuit *ckt, int type, IFuid name, JOB **analPtr, TSKtask *taskPtr)
|
||||
{
|
||||
if(type==0) {
|
||||
/* special case for analysis type 0 == option card */
|
||||
*analPtr = &(((TSKtask *)taskPtr)->taskOptions); /* pointer to the task itself */
|
||||
(*(JOB **)analPtr)->JOBname = name;
|
||||
(*(JOB **)analPtr)->JOBtype = type;
|
||||
*analPtr = &(taskPtr->taskOptions); /* pointer to the task itself */
|
||||
(*analPtr)->JOBname = name;
|
||||
(*analPtr)->JOBtype = type;
|
||||
return(OK); /* doesn't need to be created */
|
||||
}
|
||||
*analPtr = (void *)MALLOC(analInfo[type]->size);
|
||||
*analPtr = (JOB *)MALLOC(analInfo[type]->size);
|
||||
if(*analPtr==NULL) return(E_NOMEM);
|
||||
(*(JOB **)analPtr)->JOBname = name;
|
||||
(*(JOB **)analPtr)->JOBtype = type;
|
||||
(*(JOB **)analPtr)->JOBnextJob = ((TSKtask *)taskPtr)->jobs;
|
||||
((TSKtask *)taskPtr)->jobs = (JOB *)*analPtr;
|
||||
(*analPtr)->JOBname = name;
|
||||
(*analPtr)->JOBtype = type;
|
||||
(*analPtr)->JOBnextJob = taskPtr->jobs;
|
||||
taskPtr->jobs = *analPtr;
|
||||
return(OK);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,18 +19,18 @@ int
|
|||
CKTnewTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName)
|
||||
*/
|
||||
int
|
||||
CKTnewTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName, void **defPtr)
|
||||
CKTnewTask(CKTcircuit *ckt, TSKtask **taskPtr, IFuid taskName, TSKtask **defPtr)
|
||||
/*CDHW See notes in spiceif.c for an explanation of these fixes CDHW*/
|
||||
{
|
||||
TSKtask *tsk, *def=NULL;
|
||||
|
||||
*taskPtr = (void *)tmalloc(sizeof(TSKtask));
|
||||
*taskPtr = (TSKtask *)tmalloc(sizeof(TSKtask));
|
||||
if(*taskPtr==NULL) return(E_NOMEM);
|
||||
tsk = *(TSKtask **)taskPtr;
|
||||
tsk = *taskPtr;
|
||||
tsk->TSKname = taskName;
|
||||
#if (1) /*CDHW*/
|
||||
if(defPtr)
|
||||
def = *(TSKtask **)defPtr;
|
||||
def = *defPtr;
|
||||
if ((strcmp(taskName,"special")==0) && def ) {
|
||||
/* create options by copying the circuit's defaults */
|
||||
tsk->TSKtemp = def->TSKtemp;
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ extern SPICEanalysis *analInfo[];
|
|||
|
||||
/* ARGSUSED */
|
||||
int
|
||||
CKTsetAnalPm(CKTcircuit *ckt, void *analPtr, int parm, IFvalue *value, IFvalue *selector)
|
||||
CKTsetAnalPm(CKTcircuit *ckt, JOB *analPtr, int parm, IFvalue *value, IFvalue *selector)
|
||||
{
|
||||
int type = ((JOB *)analPtr)->JOBtype;
|
||||
int type = analPtr->JOBtype;
|
||||
if((analInfo[type]->setParm)==NULL) return(E_BADPARM);
|
||||
return( (*(analInfo[type]->setParm))(ckt,analPtr,parm,value) );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ int nthreads;
|
|||
#endif
|
||||
|
||||
/* Search for a noise analysis request */
|
||||
for (job = ((TSKtask *)ft_curckt->ci_curTask)->jobs;job;job = job->JOBnextJob) {
|
||||
for (job = ft_curckt->ci_curTask->jobs; job; job = job->JOBnextJob) {
|
||||
if(strcmp(job->JOBname,"Noise Analysis")==0) {
|
||||
noiseAnalGiven = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
|
|||
JOB *job;
|
||||
|
||||
/* Search for a noise analysis request */
|
||||
for (job = ((TSKtask *)(ft_curckt->ci_curTask))->jobs;job;job = job->JOBnextJob) {
|
||||
for (job = ft_curckt->ci_curTask->jobs; job; job = job->JOBnextJob) {
|
||||
if(strcmp(job->JOBname,"Noise Analysis")==0) {
|
||||
noiseAnalGiven = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
|
|||
JOB *job;
|
||||
|
||||
/* Search for a noise analysis request */
|
||||
for (job = ((TSKtask *)ft_curckt->ci_curTask)->jobs;job;job = job->JOBnextJob) {
|
||||
for (job = ft_curckt->ci_curTask->jobs; job; job = job->JOBnextJob) {
|
||||
if(strcmp(job->JOBname,"Noise Analysis")==0) {
|
||||
noiseAnalGiven = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
|
|||
JOB *job;
|
||||
|
||||
/* Search for a noise analysis request */
|
||||
for (job = ((TSKtask *)ft_curckt->ci_curTask)->jobs;job;job = job->JOBnextJob) {
|
||||
for (job = ft_curckt->ci_curTask->jobs; job; job = job->JOBnextJob) {
|
||||
if(strcmp(job->JOBname,"Noise Analysis")==0) {
|
||||
noiseAnalGiven = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
|
|||
JOB *job;
|
||||
|
||||
/* Search for a noise analysis request */
|
||||
for (job = ((TSKtask *)ft_curckt->ci_curTask)->jobs;job;job = job->JOBnextJob) {
|
||||
for (job = ft_curckt->ci_curTask->jobs; job; job = job->JOBnextJob) {
|
||||
if(strcmp(job->JOBname,"Noise Analysis")==0) {
|
||||
noiseAnalGiven = 1;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -42,16 +42,16 @@ void INP2V(CKTcircuit *ckt, INPtables *tab, card *current);
|
|||
void INP2W(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||
void INP2Y(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||
void INP2Z(CKTcircuit *ckt, INPtables *tab, card *current);
|
||||
int INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, CKTnode *gnode);
|
||||
int INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, TSKtask *task, CKTnode *gnode);
|
||||
|
||||
/* inpxxxx.c */
|
||||
|
||||
int INPaName(char *parm, IFvalue *val, CKTcircuit *ckt, int *dev, char *devnam,
|
||||
GENinstance **fast, IFsimulator *sim, int *dataType, IFvalue *selector);
|
||||
int INPapName(CKTcircuit *ckt, int type, void *analPtr, char *parmname, IFvalue *value);
|
||||
int INPapName(CKTcircuit *ckt, int type, JOB *analPtr, char *parmname, IFvalue *value);
|
||||
void INPcaseFix(register char *string);
|
||||
char * INPdomodel(CKTcircuit *ckt, card *image, INPtables *tab);
|
||||
void INPdoOpts(CKTcircuit *ckt, void *anal, card *optCard, INPtables *tab);
|
||||
void INPdoOpts(CKTcircuit *ckt, JOB *anal, card *optCard, INPtables *tab);
|
||||
char * INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, double *leading,
|
||||
int *waslead, INPtables *tab);
|
||||
char * INPerrCat(char *a, char *b);
|
||||
|
|
@ -72,7 +72,7 @@ int INPlookMod(char *name);
|
|||
int INPmakeMod(char *token, int type, card *line);
|
||||
char * INPmkTemp(char *string);
|
||||
void INPpas1(CKTcircuit *ckt, card *deck, INPtables *tab);
|
||||
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, void *task);
|
||||
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task);
|
||||
int INPpName(char *parm, IFvalue *val, CKTcircuit *ckt, int dev, GENinstance *fast);
|
||||
|
||||
/* inpptree.c */
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ Modified: 2000 AlansFixes
|
|||
|
||||
static int
|
||||
dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int which; /* which analysis we are performing */
|
||||
int i; /* generic loop variable */
|
||||
|
|
@ -124,7 +124,7 @@ dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_op(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int which; /* which analysis we are performing */
|
||||
int i; /* generic loop variable */
|
||||
|
|
@ -149,7 +149,7 @@ dot_op(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_disto(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int which; /* which analysis we are performing */
|
||||
int i; /* generic loop variable */
|
||||
|
|
@ -190,7 +190,7 @@ dot_disto(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_ac(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int error; /* error code temporary */
|
||||
IFvalue ptemp; /* a value structure to package resistance into */
|
||||
|
|
@ -227,7 +227,7 @@ dot_ac(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_pz(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int error; /* error code temporary */
|
||||
IFvalue ptemp; /* a value structure to package resistance into */
|
||||
|
|
@ -269,7 +269,7 @@ dot_pz(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
char *name; /* the resistor's name */
|
||||
int error; /* error code temporary */
|
||||
|
|
@ -320,7 +320,7 @@ dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
char *name; /* the resistor's name */
|
||||
int error; /* error code temporary */
|
||||
|
|
@ -393,7 +393,7 @@ dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_tran(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int error; /* error code temporary */
|
||||
IFvalue ptemp; /* a value structure to package resistance into */
|
||||
|
|
@ -447,7 +447,7 @@ dot_tran(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
char *name; /* the resistor's name */
|
||||
int error; /* error code temporary */
|
||||
|
|
@ -549,7 +549,7 @@ dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
#ifdef WANT_SENSE2
|
||||
static int
|
||||
dot_sens2(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
int error; /* error code temporary */
|
||||
IFvalue ptemp; /* a value structure to package resistance into */
|
||||
|
|
@ -621,24 +621,24 @@ dot_sens2(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
|||
|
||||
static int
|
||||
dot_options(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
|
||||
void *task, CKTnode *gnode, void *foo)
|
||||
TSKtask *task, CKTnode *gnode, JOB *foo)
|
||||
{
|
||||
/* .option - specify program options - rather complicated */
|
||||
/* use a subroutine to handle all of them to keep this */
|
||||
/* subroutine managable. */
|
||||
|
||||
INPdoOpts(ckt, &(((TSKtask *)task)->taskOptions), current, tab);
|
||||
INPdoOpts(ckt, &(task->taskOptions), current, tab);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, void *task, CKTnode *gnode)
|
||||
INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, TSKtask *task, CKTnode *gnode)
|
||||
{
|
||||
|
||||
/* .<something> Many possibilities */
|
||||
char *token; /* a token from the line, tmalloc'ed */
|
||||
void *foo = NULL; /* pointer to analysis */
|
||||
JOB *foo = NULL; /* pointer to analysis */
|
||||
/* the part of the current line left to parse */
|
||||
char *line = current->line;
|
||||
int rtn = 0;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ Author: 1985 Thomas L. Quarles
|
|||
#include "inp.h"
|
||||
|
||||
int
|
||||
INPapName(CKTcircuit *ckt, int type, void *analPtr, char *parmname,
|
||||
INPapName(CKTcircuit *ckt, int type, JOB *analPtr, char *parmname,
|
||||
IFvalue * value)
|
||||
{
|
||||
int i;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Modified: 2000 AlansFixes
|
|||
void
|
||||
INPdoOpts(
|
||||
CKTcircuit *ckt,
|
||||
void *anal,
|
||||
JOB *anal,
|
||||
card *optCard,
|
||||
INPtables *tab)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ extern void SetAnalyse( char * Analyse, int Percent);
|
|||
/* pass 2 - Scan through the lines. ".model" cards have processed in
|
||||
* pass1 and are ignored here. */
|
||||
|
||||
void INPpas2(CKTcircuit *ckt, card * data, INPtables * tab, void *task)
|
||||
void INPpas2(CKTcircuit *ckt, card * data, INPtables * tab, TSKtask *task)
|
||||
{
|
||||
|
||||
card *current;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <inpdefs.h>
|
||||
|
||||
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, void *task);
|
||||
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ extern IFsimulator *ft_sim;
|
|||
* warning. */
|
||||
|
||||
void
|
||||
INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, void *task,
|
||||
INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task,
|
||||
IFparm *nodeParms, int numNodeParms)
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
#include <inpdefs.h>
|
||||
|
||||
void INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, void *task,
|
||||
void INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task,
|
||||
IFparm *nodeParms, int numNodeParams);
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue