From 74d62ab486b8c0845bedbabe5e65e1e037d4d58b Mon Sep 17 00:00:00 2001 From: rlar Date: Fri, 8 Oct 2010 16:46:06 +0000 Subject: [PATCH] use the types TSKtask and JOB, instead of void --- ChangeLog | 30 ++++++++++++++++ src/frontend/shyu.c | 16 ++++----- src/frontend/spiceif.c | 50 +++++++++++++------------- src/include/cktdefs.h | 14 ++++---- src/include/ftedefs.h | 12 +++---- src/include/ifsim.h | 14 ++++---- src/include/inpdefs.h | 10 +++--- src/spicelib/analysis/ckt.h | 14 ++++---- src/spicelib/analysis/cktdelt.c | 4 +-- src/spicelib/analysis/cktdojob.c | 4 +-- src/spicelib/analysis/cktfnda.c | 6 ++-- src/spicelib/analysis/cktftask.c | 2 +- src/spicelib/analysis/cktnewan.c | 18 +++++----- src/spicelib/analysis/cktntask.c | 8 ++--- src/spicelib/analysis/cktsetap.c | 4 +-- src/spicelib/devices/bsim4/b4set.c | 2 +- src/spicelib/devices/bsim4v2/b4v2set.c | 2 +- src/spicelib/devices/bsim4v3/b4v3set.c | 2 +- src/spicelib/devices/bsim4v4/b4v4set.c | 2 +- src/spicelib/devices/bsim4v5/b4v5set.c | 2 +- src/spicelib/parser/inp.h | 8 ++--- src/spicelib/parser/inp2dot.c | 28 +++++++-------- src/spicelib/parser/inpapnam.c | 2 +- src/spicelib/parser/inpdoopt.c | 2 +- src/spicelib/parser/inppas2.c | 2 +- src/spicelib/parser/inppas2.h | 2 +- src/spicelib/parser/inppas3.c | 2 +- src/spicelib/parser/inppas3.h | 2 +- 28 files changed, 147 insertions(+), 117 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd501f1bf..cb00eab9d 100644 --- a/ChangeLog +++ b/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 , diff --git a/src/frontend/shyu.c b/src/frontend/shyu.c index 31b67b7b8..400ec1a0b 100644 --- a/src/frontend/shyu.c +++ b/src/frontend/shyu.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 */ diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index d4ec4c713..6992c16bd 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -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"); diff --git a/src/include/cktdefs.h b/src/include/cktdefs.h index a30f80a3e..3f8d954c5 100644 --- a/src/include/cktdefs.h +++ b/src/include/cktdefs.h @@ -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 *); diff --git a/src/include/ftedefs.h b/src/include/ftedefs.h index ae6f112f5..23f25e25f 100644 --- a/src/include/ftedefs.h +++ b/src/include/ftedefs.h @@ -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 */ } ; diff --git a/src/include/ifsim.h b/src/include/ifsim.h index 91f058d0c..f6ae86082 100644 --- a/src/include/ifsim.h +++ b/src/include/ifsim.h @@ -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 */ diff --git a/src/include/inpdefs.h b/src/include/inpdefs.h index edffe3c80..bbbb50884 100644 --- a/src/include/inpdefs.h +++ b/src/include/inpdefs.h @@ -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 *); diff --git a/src/spicelib/analysis/ckt.h b/src/spicelib/analysis/ckt.h index 1bf1195fc..01f5cf021 100644 --- a/src/spicelib/analysis/ckt.h +++ b/src/spicelib/analysis/ckt.h @@ -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 *); diff --git a/src/spicelib/analysis/cktdelt.c b/src/spicelib/analysis/cktdelt.c index ae9997a51..0fc1d9b11 100644 --- a/src/spicelib/analysis/cktdelt.c +++ b/src/spicelib/analysis/cktdelt.c @@ -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; } diff --git a/src/spicelib/analysis/cktdojob.c b/src/spicelib/analysis/cktdojob.c index 336343eb9..07aafa7bc 100644 --- a/src/spicelib/analysis/cktdojob.c +++ b/src/spicelib/analysis/cktdojob.c @@ -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; diff --git a/src/spicelib/analysis/cktfnda.c b/src/spicelib/analysis/cktfnda.c index 9a4885470..e0aee17a3 100644 --- a/src/spicelib/analysis/cktfnda.c +++ b/src/spicelib/analysis/cktfnda.c @@ -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); diff --git a/src/spicelib/analysis/cktftask.c b/src/spicelib/analysis/cktftask.c index 9f3a1d502..b0d828d88 100644 --- a/src/spicelib/analysis/cktftask.c +++ b/src/spicelib/analysis/cktftask.c @@ -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); } diff --git a/src/spicelib/analysis/cktnewan.c b/src/spicelib/analysis/cktnewan.c index 622ecf54a..2faaed20d 100644 --- a/src/spicelib/analysis/cktnewan.c +++ b/src/spicelib/analysis/cktnewan.c @@ -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); } diff --git a/src/spicelib/analysis/cktntask.c b/src/spicelib/analysis/cktntask.c index fa75fa456..57616b2ec 100644 --- a/src/spicelib/analysis/cktntask.c +++ b/src/spicelib/analysis/cktntask.c @@ -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; diff --git a/src/spicelib/analysis/cktsetap.c b/src/spicelib/analysis/cktsetap.c index b8204900f..de3e459ae 100644 --- a/src/spicelib/analysis/cktsetap.c +++ b/src/spicelib/analysis/cktsetap.c @@ -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) ); } diff --git a/src/spicelib/devices/bsim4/b4set.c b/src/spicelib/devices/bsim4/b4set.c index cf37511a7..d23f3eff1 100644 --- a/src/spicelib/devices/bsim4/b4set.c +++ b/src/spicelib/devices/bsim4/b4set.c @@ -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; diff --git a/src/spicelib/devices/bsim4v2/b4v2set.c b/src/spicelib/devices/bsim4v2/b4v2set.c index 47e4ea707..f004cc32d 100644 --- a/src/spicelib/devices/bsim4v2/b4v2set.c +++ b/src/spicelib/devices/bsim4v2/b4v2set.c @@ -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; diff --git a/src/spicelib/devices/bsim4v3/b4v3set.c b/src/spicelib/devices/bsim4v3/b4v3set.c index 7f71aa494..db4be0ac6 100644 --- a/src/spicelib/devices/bsim4v3/b4v3set.c +++ b/src/spicelib/devices/bsim4v3/b4v3set.c @@ -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; diff --git a/src/spicelib/devices/bsim4v4/b4v4set.c b/src/spicelib/devices/bsim4v4/b4v4set.c index 79a5bb905..ffe183208 100644 --- a/src/spicelib/devices/bsim4v4/b4v4set.c +++ b/src/spicelib/devices/bsim4v4/b4v4set.c @@ -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; diff --git a/src/spicelib/devices/bsim4v5/b4v5set.c b/src/spicelib/devices/bsim4v5/b4v5set.c index 47d865cf4..7c633893a 100644 --- a/src/spicelib/devices/bsim4v5/b4v5set.c +++ b/src/spicelib/devices/bsim4v5/b4v5set.c @@ -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; diff --git a/src/spicelib/parser/inp.h b/src/spicelib/parser/inp.h index 7c8aa49e3..cb872c836 100644 --- a/src/spicelib/parser/inp.h +++ b/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 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 */ diff --git a/src/spicelib/parser/inp2dot.c b/src/spicelib/parser/inp2dot.c index bb3c93ecb..a43ea4e6e 100644 --- a/src/spicelib/parser/inp2dot.c +++ b/src/spicelib/parser/inp2dot.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) { /* . 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; diff --git a/src/spicelib/parser/inpapnam.c b/src/spicelib/parser/inpapnam.c index 12304b70c..03d519bb9 100644 --- a/src/spicelib/parser/inpapnam.c +++ b/src/spicelib/parser/inpapnam.c @@ -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; diff --git a/src/spicelib/parser/inpdoopt.c b/src/spicelib/parser/inpdoopt.c index b773911a2..7e7632751 100644 --- a/src/spicelib/parser/inpdoopt.c +++ b/src/spicelib/parser/inpdoopt.c @@ -20,7 +20,7 @@ Modified: 2000 AlansFixes void INPdoOpts( CKTcircuit *ckt, - void *anal, + JOB *anal, card *optCard, INPtables *tab) { diff --git a/src/spicelib/parser/inppas2.c b/src/spicelib/parser/inppas2.c index 3e14dce3e..9eeb1c035 100644 --- a/src/spicelib/parser/inppas2.c +++ b/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 * 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; diff --git a/src/spicelib/parser/inppas2.h b/src/spicelib/parser/inppas2.h index 70b7a7f2e..3e2210452 100644 --- a/src/spicelib/parser/inppas2.h +++ b/src/spicelib/parser/inppas2.h @@ -3,7 +3,7 @@ #include -void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, void *task); +void INPpas2(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task); #endif diff --git a/src/spicelib/parser/inppas3.c b/src/spicelib/parser/inppas3.c index 657168cbe..349369db9 100644 --- a/src/spicelib/parser/inppas3.c +++ b/src/spicelib/parser/inppas3.c @@ -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) { diff --git a/src/spicelib/parser/inppas3.h b/src/spicelib/parser/inppas3.h index 598cfe43e..882d04b36 100644 --- a/src/spicelib/parser/inppas3.h +++ b/src/spicelib/parser/inppas3.h @@ -4,7 +4,7 @@ #include -void INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, void *task, +void INPpas3(CKTcircuit *ckt, card *data, INPtables *tab, TSKtask *task, IFparm *nodeParms, int numNodeParams);