Browse Source

use the types TSKtask and JOB, instead of void

pre-master-46
rlar 16 years ago
parent
commit
74d62ab486
  1. 30
      ChangeLog
  2. 16
      src/frontend/shyu.c
  3. 50
      src/frontend/spiceif.c
  4. 14
      src/include/cktdefs.h
  5. 12
      src/include/ftedefs.h
  6. 14
      src/include/ifsim.h
  7. 10
      src/include/inpdefs.h
  8. 14
      src/spicelib/analysis/ckt.h
  9. 4
      src/spicelib/analysis/cktdelt.c
  10. 4
      src/spicelib/analysis/cktdojob.c
  11. 6
      src/spicelib/analysis/cktfnda.c
  12. 2
      src/spicelib/analysis/cktftask.c
  13. 18
      src/spicelib/analysis/cktnewan.c
  14. 8
      src/spicelib/analysis/cktntask.c
  15. 4
      src/spicelib/analysis/cktsetap.c
  16. 2
      src/spicelib/devices/bsim4/b4set.c
  17. 2
      src/spicelib/devices/bsim4v2/b4v2set.c
  18. 2
      src/spicelib/devices/bsim4v3/b4v3set.c
  19. 2
      src/spicelib/devices/bsim4v4/b4v4set.c
  20. 2
      src/spicelib/devices/bsim4v5/b4v5set.c
  21. 8
      src/spicelib/parser/inp.h
  22. 28
      src/spicelib/parser/inp2dot.c
  23. 2
      src/spicelib/parser/inpapnam.c
  24. 2
      src/spicelib/parser/inpdoopt.c
  25. 2
      src/spicelib/parser/inppas2.c
  26. 2
      src/spicelib/parser/inppas2.h
  27. 2
      src/spicelib/parser/inppas3.c
  28. 2
      src/spicelib/parser/inppas3.h

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 2010-10-08 Robert Larice
* src/frontend/spiceif.c , * src/frontend/spiceif.c ,
* src/spicelib/analysis/cktnewan.c , * src/spicelib/analysis/cktnewan.c ,

16
src/frontend/shyu.c

@ -28,11 +28,11 @@ int
if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab) if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
{ {
CKTcircuit *ckt = /* fixme, drop that */ t; 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; card *current;
IFvalue ptemp; IFvalue ptemp;
IFvalue *parm; IFvalue *parm;
@ -69,8 +69,8 @@ if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
} }
} }
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt, 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) { if(err) {
ft_sperror(err,"newTask"); ft_sperror(err,"newTask");
return(0); /* temporary */ return(0); /* temporary */
@ -83,7 +83,7 @@ if_sens_run(CKTcircuit *t, wordlist *args, INPtables *tab)
} }
if(which != -1) { if(which != -1) {
err = (*(ft_sim->newAnalysis))(ft_curckt->ci_ckt,which,"options", 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) { if(err) {
ft_sperror(err,"createOptions"); ft_sperror(err,"createOptions");
return(0);/* temporary */ return(0);/* temporary */

50
src/frontend/spiceif.c

@ -116,11 +116,11 @@ if_inpdeck(struct line *deck, INPtables **tab)
} }
#if (0) #if (0)
err = err =
(*(ft_sim->newTask))(ckt,(void**)&(ft_curckt->ci_defTask),taskUid);
(*(ft_sim->newTask))(ckt, &(ft_curckt->ci_defTask), taskUid);
#else /*CDHW*/ #else /*CDHW*/
err = err =
(*(ft_sim->newTask))(ckt,(void**)&(ft_curckt->ci_defTask),taskUid,
(void**)NULL);
(*(ft_sim->newTask))(ckt, &(ft_curckt->ci_defTask), taskUid,
NULL);
#endif #endif
if(err) { if(err) {
ft_sperror(err,"newTask"); 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, 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*/ /*CDHW ci_defTask and ci_defOpt point to parameters DDD CDHW*/
@ -254,11 +254,11 @@ ci_specTask will point to it CDHW*/
} }
#if (0) #if (0)
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt, err = (*(ft_sim->newTask))(ft_curckt->ci_ckt,
(void**)&(ft_curckt->ci_specTask),specUid);
&(ft_curckt->ci_specTask), specUid);
#else /*CDHW*/ #else /*CDHW*/
err = (*(ft_sim->newTask))(ft_curckt->ci_ckt, 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 #endif
if(err) { if(err) {
ft_sperror(err,"newTask"); ft_sperror(err,"newTask");
@ -281,8 +281,8 @@ ci_specTask will point to it CDHW*/
return(2); return(2);
} }
err = (*(ft_sim->newAnalysis))(ft_curckt->ci_ckt,which,optUid, 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*/ /*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 (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, ft_sim->analyses[which]->analysisParms[i].id, &pval,
(IFvalue *)NULL)) != OK) (IFvalue *)NULL)) != OK)
ft_sperror(err, "setAnalysisParm(options) ci_curOpt"); ft_sperror(err, "setAnalysisParm(options) ci_curOpt");
#else /*CDHW*/ #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, ft_sim->analyses[which]->analysisParms[i].id, &pval,
(IFvalue *)NULL)) != OK) (IFvalue *)NULL)) != OK)
ft_sperror(err, "setAnalysisParm(options) ci_curOpt"); ft_sperror(err, "setAnalysisParm(options) ci_curOpt");
@ -1257,7 +1257,7 @@ if_getstat(CKTcircuit *ckt, char *name)
break; break;
if (i == ft_sim->analyses[which]->numParms) if (i == ft_sim->analyses[which]->numParms)
return (NULL); 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, ft_sim->analyses[which]->analysisParms[i].id, &parm,
(IFvalue *)NULL) == -1) { (IFvalue *)NULL) == -1) {
fprintf(cp_err, fprintf(cp_err,
@ -1271,7 +1271,7 @@ if_getstat(CKTcircuit *ckt, char *name)
if(!(ft_sim->analyses[which]->analysisParms[i].dataType&IF_ASK)) { if(!(ft_sim->analyses[which]->analysisParms[i].dataType&IF_ASK)) {
continue; 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, ft_sim->analyses[which]->analysisParms[i].id,
&parm, (IFvalue *)NULL) == -1) { &parm, (IFvalue *)NULL) == -1) {
fprintf(cp_err, fprintf(cp_err,
@ -1488,28 +1488,28 @@ do {\
_foo(ckt->CKTbreaks,double,ckt->CKTbreakSize); _foo(ckt->CKTbreaks,double,ckt->CKTbreakSize);
{ /* avoid invalid lvalue assignment errors in the macro _foo() */ { /* 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); _foo(lname,TSKtask,1);
} }
/* To stop the Free */ /* 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() */ { /* 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); _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); _foo(ckt->CKTstat,STATistics,1);
@ -1564,7 +1564,7 @@ void com_savesnap(wordlist *wl) {
ckt = ft_curckt->ci_ckt; ckt = ft_curckt->ci_ckt;
task = (TSKtask *)ft_curckt->ci_curTask;
task = ft_curckt->ci_curTask;
if(task->jobs->JOBtype != 4) { if(task->jobs->JOBtype != 4) {
fprintf(cp_err,"Only saving of tran analysis is implemented\n"); fprintf(cp_err,"Only saving of tran analysis is implemented\n");

14
src/include/cktdefs.h

@ -283,25 +283,25 @@ extern void CKTbreakDump(CKTcircuit *);
extern int CKTclrBreak(CKTcircuit *); extern int CKTclrBreak(CKTcircuit *);
extern int CKTconvTest(CKTcircuit *); extern int CKTconvTest(CKTcircuit *);
extern int CKTcrtElt(CKTcircuit *, GENmodel *, GENinstance **, IFuid); extern int CKTcrtElt(CKTcircuit *, GENmodel *, GENinstance **, IFuid);
extern int CKTdelTask(CKTcircuit *, void *);
extern int CKTdelTask(CKTcircuit *, TSKtask *);
extern int CKTdestroy(CKTcircuit *); extern int CKTdestroy(CKTcircuit *);
extern int CKTdltAnal(void *, void *, void *); 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 *, CKTnode *); extern int CKTdltNod(CKTcircuit *, CKTnode *);
extern int CKTdoJob(CKTcircuit *, int , void *);
extern int CKTdoJob(CKTcircuit *, int , TSKtask *);
extern void CKTdump(CKTcircuit *, double, void *); extern void CKTdump(CKTcircuit *, double, void *);
#ifdef CIDER #ifdef CIDER
extern void NDEVacct(CKTcircuit *ckt, FILE *file); extern void NDEVacct(CKTcircuit *ckt, FILE *file);
#endif /* CIDER */ #endif /* CIDER */
extern void CKTncDump(CKTcircuit *); 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 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 *, CKTnode **, 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 CKTground(CKTcircuit *, CKTnode **, IFuid);
extern int CKTic(CKTcircuit *); extern int CKTic(CKTcircuit *);
extern int CKTinit(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 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 , JOB **, TSKtask *);
extern int CKTnewEq(CKTcircuit *, CKTnode **, IFuid); extern int CKTnewEq(CKTcircuit *, CKTnode **, IFuid);
extern int CKTnewNode(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 int CKTnoise (CKTcircuit *ckt, int mode, int operation, Ndata *data);
extern IFuid CKTnodName(CKTcircuit *, int); extern IFuid CKTnodName(CKTcircuit *, int);
extern void CKTnodOut(CKTcircuit *); extern void CKTnodOut(CKTcircuit *);
@ -339,7 +339,7 @@ extern int CKTsenLoad(CKTcircuit *);
extern void CKTsenPrint(CKTcircuit *); extern void CKTsenPrint(CKTcircuit *);
extern int CKTsenSetup(CKTcircuit *); extern int CKTsenSetup(CKTcircuit *);
extern int CKTsenUpdate(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 CKTsetBreak(CKTcircuit *, double);
extern int CKTsetNodPm(CKTcircuit *, CKTnode *, 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 *);

12
src/include/ftedefs.h

@ -41,12 +41,12 @@ struct circ {
char *ci_nodes; /* ccom structs for the nodes... */ char *ci_nodes; /* ccom structs for the nodes... */
char *ci_devices; /* and devices in the circuit. */ char *ci_devices; /* and devices in the circuit. */
char *ci_filename; /* Where this circuit came from. */ 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 */ char *ci_last_an; /* name of last analysis run */
} ; } ;

14
src/include/ifsim.h

@ -386,22 +386,22 @@ struct IFsimulator {
int (*deleteModel) (CKTcircuit *, GENmodel *); int (*deleteModel) (CKTcircuit *, GENmodel *);
/* delete a model from the circuit*/ /* delete a model from the circuit*/
int (*newTask) (CKTcircuit *, void **, IFuid, void **); /*CDHW*/
int (*newTask) (CKTcircuit *, TSKtask **, IFuid, TSKtask **); /*CDHW*/
/* create a new task */ /* create a new task */
int (*newAnalysis) (CKTcircuit *, int, IFuid, void **, void *);
int (*newAnalysis) (CKTcircuit *, int, IFuid, JOB **, TSKtask *);
/* create new analysis within a task */ /* 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 */ /* set a parameter on an analysis */
int (*askAnalysisQuest) (CKTcircuit *, void *, int, IFvalue *, IFvalue *); int (*askAnalysisQuest) (CKTcircuit *, void *, int, IFvalue *, IFvalue *);
/* ask a question about an analysis */ /* 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 */ /* find a specific analysis */
int (*findTask) (CKTcircuit *, void **, IFuid);
int (*findTask) (CKTcircuit *, TSKtask **, IFuid);
/* find a specific task */ /* find a specific task */
int (*deleteTask) (CKTcircuit *, void *);
int (*deleteTask) (CKTcircuit *, TSKtask *);
/* delete a task */ /* delete a task */
int (*doAnalyses) (CKTcircuit *, int, void *);
int (*doAnalyses) (CKTcircuit *, int, TSKtask *);
char *(*nonconvErr) (CKTcircuit *, char *); /* return nonconvergence error */ char *(*nonconvErr) (CKTcircuit *, char *); /* return nonconvergence error */
int numDevices; /* number of device types supported */ int numDevices; /* number of device types supported */

10
src/include/inpdefs.h

@ -90,11 +90,11 @@ 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 *);
int INPapName(CKTcircuit *, int, void *, char *, IFvalue *);
int INPapName(CKTcircuit *, int, JOB *, char *, IFvalue *);
void INPcaseFix(char *); void INPcaseFix(char *);
char *INPdevParse(char **, CKTcircuit *, int, GENinstance *, double *, int *, INPtables *); char *INPdevParse(char **, CKTcircuit *, int, GENinstance *, double *, int *, INPtables *);
char *INPdomodel(CKTcircuit *, card *, INPtables *); char *INPdomodel(CKTcircuit *, card *, INPtables *);
void INPdoOpts(CKTcircuit *, void *, card *, INPtables *);
void INPdoOpts(CKTcircuit *, JOB *, card *, INPtables *);
char *INPerrCat(char *, char *); char *INPerrCat(char *, char *);
char *INPerror(int); char *INPerror(int);
double INPevaluate(char **, int *, int); double INPevaluate(char **, int *, int);
@ -114,8 +114,8 @@ int INPlookMod(char *);
int INPmakeMod(char *, int, card *); int INPmakeMod(char *, int, card *);
char *INPmkTemp(char *); char *INPmkTemp(char *);
void INPpas1(CKTcircuit *, card *, INPtables *); 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 INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **); int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
int INPmkTerm(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 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 *, CKTnode *);
int INP2dot(CKTcircuit *, INPtables *, card *, TSKtask *, CKTnode *);
INPtables *INPtabInit(int); INPtables *INPtabInit(int);
void INPkillMods(void); void INPkillMods(void);
void INPtabEnd(INPtables *); void INPtabEnd(INPtables *);

14
src/spicelib/analysis/ckt.h

@ -26,20 +26,20 @@ void CKTbreakDump( CKTcircuit *);
int CKTclrBreak( CKTcircuit *); int CKTclrBreak( CKTcircuit *);
int CKTconvTest( CKTcircuit *); int CKTconvTest( CKTcircuit *);
int CKTcrtElt( CKTcircuit *, GENmodel *, GENinstance **, IFuid ); int CKTcrtElt( CKTcircuit *, GENmodel *, GENinstance **, IFuid );
int CKTdelTask( CKTcircuit *, void *);
int CKTdelTask( CKTcircuit *, TSKtask *);
int CKTdestroy( CKTcircuit *); 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 *, CKTnode *); int CKTdltNod( CKTcircuit *, CKTnode *);
int CKTdoJob( CKTcircuit *, int , void *);
int CKTdoJob( CKTcircuit *, int , TSKtask *);
void CKTdump( CKTcircuit *, double, void *); 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 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 *, CKTnode **, IFuid ); int CKTfndNode( CKTcircuit *, CKTnode **, IFuid );
int CKTfndTask( CKTcircuit *, void **, IFuid );
int CKTfndTask( CKTcircuit *, TSKtask **, IFuid );
int CKTground( CKTcircuit *, CKTnode **, IFuid ); int CKTground( CKTcircuit *, CKTnode **, IFuid );
int CKTic( CKTcircuit *); int CKTic( CKTcircuit *);
int CKTinit( CKTcircuit **); int CKTinit( CKTcircuit **);
@ -54,10 +54,10 @@ int CKTmodAsk( CKTcircuit *, GENmodel *, int , IFvalue *, IFvalue *);
int CKTmodCrt( CKTcircuit *, int , GENmodel **, IFuid ); 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 , JOB **, TSKtask *);
int CKTnewEq( CKTcircuit *, CKTnode **, IFuid ); int CKTnewEq( CKTcircuit *, CKTnode **, IFuid );
int CKTnewNode( CKTcircuit *, CKTnode **, IFuid ); int CKTnewNode( CKTcircuit *, CKTnode **, IFuid );
int CKTnewTask( CKTcircuit *, void **, IFuid, void**);
int CKTnewTask( CKTcircuit *, TSKtask **, IFuid, TSKtask **);
IFuid CKTnodName( CKTcircuit *, int ); IFuid CKTnodName( CKTcircuit *, int );
void CKTnodOut( CKTcircuit *); void CKTnodOut( CKTcircuit *);
CKTnode * CKTnum2nod( CKTcircuit *, int ); CKTnode * CKTnum2nod( CKTcircuit *, int );
@ -75,7 +75,7 @@ int CKTsenLoad( CKTcircuit *);
void CKTsenPrint( CKTcircuit *); void CKTsenPrint( CKTcircuit *);
int CKTsenSetup( CKTcircuit *); int CKTsenSetup( CKTcircuit *);
int CKTsenUpdate( CKTcircuit *); int CKTsenUpdate( CKTcircuit *);
int CKTsetAnalPm( CKTcircuit *, void *, int , IFvalue *, IFvalue *);
int CKTsetAnalPm( CKTcircuit *, JOB *, int , IFvalue *, IFvalue *);
int CKTsetBreak( CKTcircuit *, double ); int CKTsetBreak( CKTcircuit *, double );
int CKTsetNodPm( CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *); int CKTsetNodPm( CKTcircuit *, CKTnode *, int , IFvalue *, IFvalue *);
int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *); int CKTsetOpt( CKTcircuit *, void *, int , IFvalue *);

4
src/spicelib/analysis/cktdelt.c

@ -13,11 +13,11 @@ Author: 1985 Thomas L. Quarles
/* ARGSUSED */ /* ARGSUSED */
int int
CKTdelTask(CKTcircuit *ckt, void *task)
CKTdelTask(CKTcircuit *ckt, TSKtask *task)
{ {
JOB *job; JOB *job;
JOB *old=NULL; JOB *old=NULL;
for(job = ((TSKtask*)task)->jobs; job; job=job->JOBnextJob){
for(job = task->jobs; job; job=job->JOBnextJob){
if(old) FREE(old); if(old) FREE(old);
old=job; old=job;
} }

4
src/spicelib/analysis/cktdojob.c

@ -24,10 +24,10 @@ Modified: 2000 AlansFixes
extern SPICEanalysis *analInfo[]; extern SPICEanalysis *analInfo[];
int int
CKTdoJob(CKTcircuit *inCkt, int reset, void *inTask)
CKTdoJob(CKTcircuit *inCkt, int reset, TSKtask *inTask)
{ {
CKTcircuit *ckt = /* fixme, drop that */ inCkt; CKTcircuit *ckt = /* fixme, drop that */ inCkt;
TSKtask *task = (TSKtask *)inTask;
TSKtask *task = /* fixme, drop that */ inTask;
JOB *job; JOB *job;
double startTime; double startTime;
int error, i, error2; int error, i, error2;

6
src/spicelib/analysis/cktfnda.c

@ -20,12 +20,12 @@ Author: 1985 Thomas L. Quarles
/* ARGSUSED */ /* ARGSUSED */
int 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; 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(strcmp(here->JOBname,name)==0) {
if(anal) *anal = (void *)here; if(anal) *anal = (void *)here;
return(OK); return(OK);

2
src/spicelib/analysis/cktftask.c

@ -18,7 +18,7 @@ Author: 1985 Thomas L. Quarles
/* ARGSUSED */ /* ARGSUSED */
int int
CKTfndTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName)
CKTfndTask(CKTcircuit *ckt, TSKtask **taskPtr, IFuid taskName)
{ {
return(E_UNSUPP); return(E_UNSUPP);
} }

18
src/spicelib/analysis/cktnewan.c

@ -16,20 +16,20 @@ extern SPICEanalysis *analInfo[];
/* ARGSUSED */ /* ARGSUSED */
int 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) { if(type==0) {
/* special case for analysis type 0 == option card */ /* 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 */ 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); 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); return(OK);
} }

8
src/spicelib/analysis/cktntask.c

@ -19,18 +19,18 @@ int
CKTnewTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName) CKTnewTask(CKTcircuit *ckt, void **taskPtr, IFuid taskName)
*/ */
int 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*/ /*CDHW See notes in spiceif.c for an explanation of these fixes CDHW*/
{ {
TSKtask *tsk, *def=NULL; TSKtask *tsk, *def=NULL;
*taskPtr = (void *)tmalloc(sizeof(TSKtask));
*taskPtr = (TSKtask *)tmalloc(sizeof(TSKtask));
if(*taskPtr==NULL) return(E_NOMEM); if(*taskPtr==NULL) return(E_NOMEM);
tsk = *(TSKtask **)taskPtr;
tsk = *taskPtr;
tsk->TSKname = taskName; tsk->TSKname = taskName;
#if (1) /*CDHW*/ #if (1) /*CDHW*/
if(defPtr) if(defPtr)
def = *(TSKtask **)defPtr;
def = *defPtr;
if ((strcmp(taskName,"special")==0) && def ) { if ((strcmp(taskName,"special")==0) && def ) {
/* create options by copying the circuit's defaults */ /* create options by copying the circuit's defaults */
tsk->TSKtemp = def->TSKtemp; tsk->TSKtemp = def->TSKtemp;

4
src/spicelib/analysis/cktsetap.c

@ -16,9 +16,9 @@ extern SPICEanalysis *analInfo[];
/* ARGSUSED */ /* ARGSUSED */
int 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); if((analInfo[type]->setParm)==NULL) return(E_BADPARM);
return( (*(analInfo[type]->setParm))(ckt,analPtr,parm,value) ); return( (*(analInfo[type]->setParm))(ckt,analPtr,parm,value) );
} }

2
src/spicelib/devices/bsim4/b4set.c

@ -72,7 +72,7 @@ int nthreads;
#endif #endif
/* Search for a noise analysis request */ /* 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) { if(strcmp(job->JOBname,"Noise Analysis")==0) {
noiseAnalGiven = 1; noiseAnalGiven = 1;
break; break;

2
src/spicelib/devices/bsim4v2/b4v2set.c

@ -50,7 +50,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
JOB *job; JOB *job;
/* Search for a noise analysis request */ /* 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) { if(strcmp(job->JOBname,"Noise Analysis")==0) {
noiseAnalGiven = 1; noiseAnalGiven = 1;
break; break;

2
src/spicelib/devices/bsim4v3/b4v3set.c

@ -48,7 +48,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
JOB *job; JOB *job;
/* Search for a noise analysis request */ /* 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) { if(strcmp(job->JOBname,"Noise Analysis")==0) {
noiseAnalGiven = 1; noiseAnalGiven = 1;
break; break;

2
src/spicelib/devices/bsim4v4/b4v4set.c

@ -53,7 +53,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
JOB *job; JOB *job;
/* Search for a noise analysis request */ /* 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) { if(strcmp(job->JOBname,"Noise Analysis")==0) {
noiseAnalGiven = 1; noiseAnalGiven = 1;
break; break;

2
src/spicelib/devices/bsim4v5/b4v5set.c

@ -51,7 +51,7 @@ double Rtot, DMCGeff, DMCIeff, DMDGeff;
JOB *job; JOB *job;
/* Search for a noise analysis request */ /* 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) { if(strcmp(job->JOBname,"Noise Analysis")==0) {
noiseAnalGiven = 1; noiseAnalGiven = 1;
break; break;

8
src/spicelib/parser/inp.h

@ -42,16 +42,16 @@ 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, CKTnode *gnode);
int INP2dot(CKTcircuit *ckt, INPtables *tab, card *current, TSKtask *task, CKTnode *gnode);
/* inpxxxx.c */ /* inpxxxx.c */
int INPaName(char *parm, IFvalue *val, CKTcircuit *ckt, int *dev, char *devnam, int INPaName(char *parm, IFvalue *val, CKTcircuit *ckt, int *dev, char *devnam,
GENinstance **fast, IFsimulator *sim, int *dataType, IFvalue *selector); 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); void INPcaseFix(register char *string);
char * INPdomodel(CKTcircuit *ckt, card *image, INPtables *tab); 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, char * INPdevParse(char **line, CKTcircuit *ckt, int dev, GENinstance *fast, double *leading,
int *waslead, INPtables *tab); int *waslead, INPtables *tab);
char * INPerrCat(char *a, char *b); char * INPerrCat(char *a, char *b);
@ -72,7 +72,7 @@ int INPlookMod(char *name);
int INPmakeMod(char *token, int type, card *line); int INPmakeMod(char *token, int type, card *line);
char * INPmkTemp(char *string); char * INPmkTemp(char *string);
void INPpas1(CKTcircuit *ckt, card *deck, INPtables *tab); 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); int INPpName(char *parm, IFvalue *val, CKTcircuit *ckt, int dev, GENinstance *fast);
/* inpptree.c */ /* inpptree.c */

28
src/spicelib/parser/inp2dot.c

@ -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, CKTnode *gnode, void *foo)
TSKtask *task, CKTnode *gnode, JOB *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 */
@ -124,7 +124,7 @@ dot_noise(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
static int static int
dot_op(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 which; /* which analysis we are performing */
int i; /* generic loop variable */ int i; /* generic loop variable */
@ -149,7 +149,7 @@ dot_op(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
static int static int
dot_disto(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 which; /* which analysis we are performing */
int i; /* generic loop variable */ int i; /* generic loop variable */
@ -190,7 +190,7 @@ dot_disto(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
static int static int
dot_ac(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ int error; /* error code temporary */
IFvalue ptemp; /* a value structure to package resistance into */ 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 static int
dot_pz(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ int error; /* error code temporary */
IFvalue ptemp; /* a value structure to package resistance into */ 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 static int
dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ char *name; /* the resistor's name */
int error; /* error code temporary */ int error; /* error code temporary */
@ -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, CKTnode *gnode, void *foo)
TSKtask *task, CKTnode *gnode, JOB *foo)
{ {
char *name; /* the resistor's name */ char *name; /* the resistor's name */
int error; /* error code temporary */ int error; /* error code temporary */
@ -393,7 +393,7 @@ dot_tf(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
static int static int
dot_tran(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ int error; /* error code temporary */
IFvalue ptemp; /* a value structure to package resistance into */ 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 static int
dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ char *name; /* the resistor's name */
int error; /* error code temporary */ int error; /* error code temporary */
@ -549,7 +549,7 @@ dot_sens(char *line, CKTcircuit *ckt, INPtables *tab, card *current,
#ifdef WANT_SENSE2 #ifdef WANT_SENSE2
static int static int
dot_sens2(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ int error; /* error code temporary */
IFvalue ptemp; /* a value structure to package resistance into */ 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 static int
dot_options(char *line, CKTcircuit *ckt, INPtables *tab, card *current, 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 */ /* .option - specify program options - rather complicated */
/* use a subroutine to handle all of them to keep this */ /* use a subroutine to handle all of them to keep this */
/* subroutine managable. */ /* subroutine managable. */
INPdoOpts(ckt, &(((TSKtask *)task)->taskOptions), current, tab);
INPdoOpts(ckt, &(task->taskOptions), current, tab);
return (0); return (0);
} }
int 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 */ /* .<something> Many possibilities */
char *token; /* a token from the line, tmalloc'ed */ 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 */ /* the part of the current line left to parse */
char *line = current->line; char *line = current->line;
int rtn = 0; int rtn = 0;

2
src/spicelib/parser/inpapnam.c

@ -12,7 +12,7 @@ Author: 1985 Thomas L. Quarles
#include "inp.h" #include "inp.h"
int int
INPapName(CKTcircuit *ckt, int type, void *analPtr, char *parmname,
INPapName(CKTcircuit *ckt, int type, JOB *analPtr, char *parmname,
IFvalue * value) IFvalue * value)
{ {
int i; int i;

2
src/spicelib/parser/inpdoopt.c

@ -20,7 +20,7 @@ Modified: 2000 AlansFixes
void void
INPdoOpts( INPdoOpts(
CKTcircuit *ckt, CKTcircuit *ckt,
void *anal,
JOB *anal,
card *optCard, card *optCard,
INPtables *tab) INPtables *tab)
{ {

2
src/spicelib/parser/inppas2.c

@ -26,7 +26,7 @@ extern void SetAnalyse( char * Analyse, int Percent);
/* pass 2 - Scan through the lines. ".model" cards have processed in /* pass 2 - Scan through the lines. ".model" cards have processed in
* pass1 and are ignored here. */ * 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; card *current;

2
src/spicelib/parser/inppas2.h

@ -3,7 +3,7 @@
#include <inpdefs.h> #include <inpdefs.h>
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, void *task);
void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task);
#endif #endif

2
src/spicelib/parser/inppas3.c

@ -21,7 +21,7 @@ extern IFsimulator *ft_sim;
* warning. */ * warning. */
void void
INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, void *task,
INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task,
IFparm *nodeParms, int numNodeParms) IFparm *nodeParms, int numNodeParms)
{ {

2
src/spicelib/parser/inppas3.h

@ -4,7 +4,7 @@
#include <inpdefs.h> #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); IFparm *nodeParms, int numNodeParams);

Loading…
Cancel
Save