From ef04192ec00e0bd3365f7dbf2377aadac5adcd0a Mon Sep 17 00:00:00 2001 From: rlar Date: Tue, 13 Dec 2011 18:00:23 +0000 Subject: [PATCH] auxiliary define (ANALYSIS*) anal --> `job' --- ChangeLog | 18 ++++++++++++++++++ src/spicelib/analysis/acaskq.c | 14 ++++++++------ src/spicelib/analysis/acsetp.c | 30 ++++++++++++++++-------------- src/spicelib/analysis/daskq.c | 16 +++++++++------- src/spicelib/analysis/dsetparm.c | 22 ++++++++++++---------- src/spicelib/analysis/naskq.c | 22 ++++++++++++---------- src/spicelib/analysis/nsetparm.c | 26 ++++++++++++++------------ src/spicelib/analysis/pssaskq.c | 18 ++++++++++-------- src/spicelib/analysis/pssinit.c | 24 +++++++++++++----------- src/spicelib/analysis/psssetp.c | 18 ++++++++++-------- src/spicelib/analysis/pzaskq.c | 20 +++++++++++--------- src/spicelib/analysis/pzsetp.c | 20 +++++++++++--------- src/spicelib/analysis/tfsetp.c | 24 +++++++++++++----------- src/spicelib/analysis/tranaskq.c | 12 +++++++----- src/spicelib/analysis/traninit.c | 14 ++++++++------ src/spicelib/analysis/transetp.c | 20 +++++++++++--------- 16 files changed, 183 insertions(+), 135 deletions(-) diff --git a/ChangeLog b/ChangeLog index 94fc56832..afeb76b61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2011-12-13 Robert Larice + * src/spicelib/analysis/acaskq.c , + * src/spicelib/analysis/acsetp.c , + * src/spicelib/analysis/daskq.c , + * src/spicelib/analysis/dsetparm.c , + * src/spicelib/analysis/naskq.c , + * src/spicelib/analysis/nsetparm.c , + * src/spicelib/analysis/pssaskq.c , + * src/spicelib/analysis/pssinit.c , + * src/spicelib/analysis/psssetp.c , + * src/spicelib/analysis/pzaskq.c , + * src/spicelib/analysis/pzsetp.c , + * src/spicelib/analysis/tfsetp.c , + * src/spicelib/analysis/tranaskq.c , + * src/spicelib/analysis/traninit.c , + * src/spicelib/analysis/transetp.c : + auxiliary define (ANALYSIS*) anal --> `job' + 2011-12-13 Robert Larice * autogen.sh , * src/spicelib/devices/adms/admst/ngspice.xml : diff --git a/src/spicelib/analysis/acaskq.c b/src/spicelib/analysis/acaskq.c index b23be045d..d959e1fb1 100644 --- a/src/spicelib/analysis/acaskq.c +++ b/src/spicelib/analysis/acaskq.c @@ -16,24 +16,26 @@ Author: 1985 Thomas L. Quarles int ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((ACAN *) anal) + NG_IGNORE(ckt); switch(which) { case AC_START: - value->rValue = ((ACAN*)anal)->ACstartFreq; + value->rValue = job->ACstartFreq; break; case AC_STOP: - value->rValue = ((ACAN*)anal)->ACstopFreq ; + value->rValue = job->ACstopFreq ; break; case AC_STEPS: - value->iValue = ((ACAN*)anal)->ACnumberSteps; + value->iValue = job->ACnumberSteps; break; case AC_DEC: - if(((ACAN*)anal)->ACstepType == DECADE) { + if (job->ACstepType == DECADE) { value->iValue=1; } else { value->iValue=0; @@ -41,7 +43,7 @@ ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case AC_OCT: - if(((ACAN*)anal)->ACstepType == OCTAVE) { + if (job->ACstepType == OCTAVE) { value->iValue=1; } else { value->iValue=0; @@ -49,7 +51,7 @@ ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case AC_LIN: - if(((ACAN*)anal)->ACstepType == LINEAR) { + if (job->ACstepType == LINEAR) { value->iValue=1; } else { value->iValue=0; diff --git a/src/spicelib/analysis/acsetp.c b/src/spicelib/analysis/acsetp.c index 8ca60b2c1..b5b051e98 100644 --- a/src/spicelib/analysis/acsetp.c +++ b/src/spicelib/analysis/acsetp.c @@ -15,6 +15,8 @@ Author: 1985 Thomas L. Quarles int ACsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((ACAN *) anal) + NG_IGNORE(ckt); switch(which) { @@ -22,53 +24,53 @@ ACsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) case AC_START: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid for AC start"); - ((ACAN*)anal)->ACstartFreq = 1.0; + job->ACstartFreq = 1.0; return(E_PARMVAL); } - ((ACAN*)anal)->ACstartFreq = value->rValue; + job->ACstartFreq = value->rValue; break; case AC_STOP: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid for AC stop"); - ((ACAN*)anal)->ACstartFreq = 1.0; + job->ACstartFreq = 1.0; return(E_PARMVAL); } - ((ACAN*)anal)->ACstopFreq = value->rValue; + job->ACstopFreq = value->rValue; break; case AC_STEPS: - ((ACAN*)anal)->ACnumberSteps = value->iValue; + job->ACnumberSteps = value->iValue; break; case AC_DEC: if(value->iValue) { - ((ACAN*)anal)->ACstepType = DECADE; + job->ACstepType = DECADE; } else { - if( ((ACAN*)anal)->ACstepType == DECADE) { - ((ACAN*)anal)->ACstepType = 0; + if (job->ACstepType == DECADE) { + job->ACstepType = 0; } } break; case AC_OCT: if(value->iValue) { - ((ACAN*)anal)->ACstepType = OCTAVE; + job->ACstepType = OCTAVE; } else { - if( ((ACAN*)anal)->ACstepType == OCTAVE) { - ((ACAN*)anal)->ACstepType = 0; + if (job->ACstepType == OCTAVE) { + job->ACstepType = 0; } } break; case AC_LIN: if(value->iValue) { - ((ACAN*)anal)->ACstepType = LINEAR; + job->ACstepType = LINEAR; } else { - if( ((ACAN*)anal)->ACstepType == LINEAR) { - ((ACAN*)anal)->ACstepType = 0; + if (job->ACstepType == LINEAR) { + job->ACstepType = 0; } } break; diff --git a/src/spicelib/analysis/daskq.c b/src/spicelib/analysis/daskq.c index 2c40f5341..5ef67a6a7 100644 --- a/src/spicelib/analysis/daskq.c +++ b/src/spicelib/analysis/daskq.c @@ -14,24 +14,26 @@ Author: 1988 Jaijeet S Roychowdhury int DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((DISTOAN *) anal) + NG_IGNORE(ckt); switch(which) { case D_START: - value->rValue = ((DISTOAN*)anal)->DstartF1; + value->rValue = job->DstartF1; break; case D_STOP: - value->rValue = ((DISTOAN*)anal)->DstopF1 ; + value->rValue = job->DstopF1 ; break; case D_STEPS: - value->iValue = ((DISTOAN*)anal)->DnumSteps; + value->iValue = job->DnumSteps; break; case D_DEC: - if(((DISTOAN*)anal)->DstepType == DECADE) { + if (job->DstepType == DECADE) { value->iValue=1; } else { value->iValue=0; @@ -39,7 +41,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case D_OCT: - if(((DISTOAN*)anal)->DstepType == OCTAVE) { + if (job->DstepType == OCTAVE) { value->iValue=1; } else { value->iValue=0; @@ -47,7 +49,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case D_LIN: - if(((DISTOAN*)anal)->DstepType == LINEAR) { + if (job->DstepType == LINEAR) { value->iValue=1; } else { value->iValue=0; @@ -55,7 +57,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case D_F2OVRF1: - value->rValue = ((DISTOAN*)anal)->Df2ovrF1; + value->rValue = job->Df2ovrF1; break; default: return(E_BADPARM); diff --git a/src/spicelib/analysis/dsetparm.c b/src/spicelib/analysis/dsetparm.c index 88a95bb70..d9970d611 100644 --- a/src/spicelib/analysis/dsetparm.c +++ b/src/spicelib/analysis/dsetparm.c @@ -15,6 +15,8 @@ Author: 1988 Jaijeet S Roychowdhury int DsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((DISTOAN *) anal) + NG_IGNORE(ckt); switch(which) { @@ -22,42 +24,42 @@ DsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) case D_START: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid"); - ((DISTOAN*)anal)->DstartF1 = 1.0; + job->DstartF1 = 1.0; return(E_PARMVAL); } - ((DISTOAN*)anal)->DstartF1 = value->rValue; + job->DstartF1 = value->rValue; break; case D_STOP: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid"); - ((DISTOAN*)anal)->DstartF1 = 1.0; + job->DstartF1 = 1.0; return(E_PARMVAL); } - ((DISTOAN*)anal)->DstopF1 = value->rValue; + job->DstopF1 = value->rValue; break; case D_STEPS: - ((DISTOAN*)anal)->DnumSteps = value->iValue; + job->DnumSteps = value->iValue; break; case D_DEC: - ((DISTOAN*)anal)->DstepType = DECADE; + job->DstepType = DECADE; break; case D_OCT: - ((DISTOAN*)anal)->DstepType = OCTAVE; + job->DstepType = OCTAVE; break; case D_LIN: - ((DISTOAN*)anal)->DstepType = LINEAR; + job->DstepType = LINEAR; break; case D_F2OVRF1: - ((DISTOAN*)anal)->Df2ovrF1 = value->rValue; - ((DISTOAN*)anal)->Df2wanted = 1; + job->Df2ovrF1 = value->rValue; + job->Df2wanted = 1; break; default: diff --git a/src/spicelib/analysis/naskq.c b/src/spicelib/analysis/naskq.c index c961341e0..e662ca921 100644 --- a/src/spicelib/analysis/naskq.c +++ b/src/spicelib/analysis/naskq.c @@ -13,24 +13,26 @@ Author: 1987 Gary W. Ng int NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((NOISEAN *) anal) + NG_IGNORE(ckt); switch(which) { case N_OUTPUT: - value->nValue = ((NOISEAN*)anal)->output; + value->nValue = job->output; break; case N_OUTREF: - value->nValue = ((NOISEAN*)anal)->outputRef; + value->nValue = job->outputRef; break; case N_INPUT: - value->uValue = ((NOISEAN*)anal)->input; + value->uValue = job->input; break; case N_DEC: - if(((NOISEAN*)anal)->NstpType == DECADE) { + if (job->NstpType == DECADE) { value->iValue=1; } else { value->iValue=0; @@ -38,7 +40,7 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case N_OCT: - if(((NOISEAN*)anal)->NstpType == OCTAVE) { + if (job->NstpType == OCTAVE) { value->iValue=1; } else { value->iValue=0; @@ -46,7 +48,7 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case N_LIN: - if(((NOISEAN*)anal)->NstpType == LINEAR) { + if (job->NstpType == LINEAR) { value->iValue=1; } else { value->iValue=0; @@ -54,19 +56,19 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case N_STEPS: - value->iValue = ((NOISEAN*)anal)->NnumSteps; + value->iValue = job->NnumSteps; break; case N_START: - value->rValue = ((NOISEAN*)anal)->NstartFreq; + value->rValue = job->NstartFreq; break; case N_STOP: - value->rValue = ((NOISEAN*)anal)->NstopFreq; + value->rValue = job->NstopFreq; break; case N_PTSPERSUM: - value->iValue = ((NOISEAN*)anal)->NStpsSm; + value->iValue = job->NStpsSm; break; default: diff --git a/src/spicelib/analysis/nsetparm.c b/src/spicelib/analysis/nsetparm.c index 821ccffc5..af926106a 100644 --- a/src/spicelib/analysis/nsetparm.c +++ b/src/spicelib/analysis/nsetparm.c @@ -14,60 +14,62 @@ Author: 1987 Gary W. Ng int NsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((NOISEAN *) anal) + NG_IGNORE(ckt); switch(which) { case N_OUTPUT: - ((NOISEAN*)anal)->output = value->nValue; + job->output = value->nValue; break; case N_OUTREF: - ((NOISEAN*)anal)->outputRef = value->nValue; + job->outputRef = value->nValue; break; case N_INPUT: - ((NOISEAN*)anal)->input = value->uValue; + job->input = value->uValue; break; case N_DEC: - ((NOISEAN*)anal)->NstpType = DECADE; + job->NstpType = DECADE; break; case N_OCT: - ((NOISEAN*)anal)->NstpType = OCTAVE; + job->NstpType = OCTAVE; break; case N_LIN: - ((NOISEAN*)anal)->NstpType = LINEAR; + job->NstpType = LINEAR; break; case N_STEPS: - ((NOISEAN*)anal)->NnumSteps = value->iValue; + job->NnumSteps = value->iValue; break; case N_START: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid"); - ((NOISEAN*)anal)->NstartFreq = 1.0; + job->NstartFreq = 1.0; return(E_PARMVAL); } - ((NOISEAN*)anal)->NstartFreq = value->rValue; + job->NstartFreq = value->rValue; break; case N_STOP: if (value->rValue <= 0.0) { errMsg = copy("Frequency of 0 is invalid"); - ((NOISEAN*)anal)->NstartFreq = 1.0; + job->NstartFreq = 1.0; return(E_PARMVAL); } - ((NOISEAN*)anal)->NstopFreq = value->rValue; + job->NstopFreq = value->rValue; break; case N_PTSPERSUM: - ((NOISEAN*)anal)->NStpsSm = value->iValue; + job->NStpsSm = value->iValue; break; default: diff --git a/src/spicelib/analysis/pssaskq.c b/src/spicelib/analysis/pssaskq.c index 919e18290..fe0d3d9a7 100755 --- a/src/spicelib/analysis/pssaskq.c +++ b/src/spicelib/analysis/pssaskq.c @@ -12,37 +12,39 @@ Author: 2010-05 Stefano Perticaroli ``spertica'' int PSSaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((PSSan *) anal) + NG_IGNORE(ckt); switch(which) { case GUESSED_FREQ: - value->rValue = ((PSSan *)anal)->PSSguessedFreq; + value->rValue = job->PSSguessedFreq; break; case OSC_NODE: - value->nValue = ((PSSan *)anal)->PSSoscNode; + value->nValue = job->PSSoscNode; break; case STAB_TIME: - value->rValue = ((PSSan *)anal)->PSSstabTime; + value->rValue = job->PSSstabTime; break; case PSS_UIC: - if(((PSSan *)anal)->PSSmode & MODEUIC) { + if (job->PSSmode & MODEUIC) { value->iValue = 1; } else { value->iValue = 0; } break; case PSS_POINTS: - value->iValue = ((PSSan *)anal)->PSSpoints; + value->iValue = job->PSSpoints; break; case PSS_HARMS: - value->iValue = ((PSSan *)anal)->PSSharms; + value->iValue = job->PSSharms; break; case SC_ITER: - value->iValue = ((PSSan *)anal)->sc_iter; + value->iValue = job->sc_iter; break; case STEADY_COEFF: - value->rValue = ((PSSan *)anal)->steady_coeff; + value->rValue = job->steady_coeff; break; default: diff --git a/src/spicelib/analysis/pssinit.c b/src/spicelib/analysis/pssinit.c index c0a66b073..1e8c891c1 100755 --- a/src/spicelib/analysis/pssinit.c +++ b/src/spicelib/analysis/pssinit.c @@ -8,26 +8,28 @@ Author: 2010-05 Stefano Perticaroli ``spertica'' #include "ngspice/pssdefs.h" #include "ngspice/iferrmsg.h" -int PSSinit(CKTcircuit *ckt, JOB *job) +int PSSinit(CKTcircuit *ckt, JOB *anal) { + #define job ((PSSan *) anal) + /* Final time depends on stabilization time requested for PSS and on at least one more oscillation period */ - ckt->CKTfinalTime = ((PSSan*)job)->PSSstabTime + 2/((PSSan*)job)->PSSguessedFreq; + ckt->CKTfinalTime = job->PSSstabTime + 2/job->PSSguessedFreq; /* Step is chosen empirically to be 1% of PSSguessedFreq */ - ckt->CKTstep = 0.01 * (1/((PSSan*)job)->PSSguessedFreq); + ckt->CKTstep = 0.01 * (1/job->PSSguessedFreq); /* Init time should be always zero */ ckt->CKTinitTime = 0; /* MaxStep should not exceed Nyquist criterion */ - ckt->CKTmaxStep = 0.5*(1/((PSSan*)job)->PSSguessedFreq); + ckt->CKTmaxStep = 0.5*(1/job->PSSguessedFreq); ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep; - ckt->CKTmode = ((PSSan*)job)->PSSmode; + ckt->CKTmode = job->PSSmode; /* modified CKTdefs.h for the following - 100609 */ - ckt->CKTstabTime = ((PSSan*)job)->PSSstabTime; - ckt->CKTguessedFreq = ((PSSan*)job)->PSSguessedFreq; - ckt->CKTharms = ((PSSan*)job)->PSSharms; - ckt->CKTpsspoints = ((PSSan*)job)->PSSpoints; - ckt->CKTsc_iter = ((PSSan*)job)->sc_iter; - ckt->CKTsteady_coeff = ((PSSan*)job)->steady_coeff; + ckt->CKTstabTime = job->PSSstabTime; + ckt->CKTguessedFreq = job->PSSguessedFreq; + ckt->CKTharms = job->PSSharms; + ckt->CKTpsspoints = job->PSSpoints; + ckt->CKTsc_iter = job->sc_iter; + ckt->CKTsteady_coeff = job->steady_coeff; return OK; } diff --git a/src/spicelib/analysis/psssetp.c b/src/spicelib/analysis/psssetp.c index d41d89bcd..173ac8a0c 100755 --- a/src/spicelib/analysis/psssetp.c +++ b/src/spicelib/analysis/psssetp.c @@ -14,35 +14,37 @@ Author: 2010-05 Stefano Perticaroli ``spertica'' int PSSsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((PSSan *) anal) + NG_IGNORE(ckt); switch(which) { case GUESSED_FREQ: - ((PSSan *)anal)->PSSguessedFreq = value->rValue; + job->PSSguessedFreq = value->rValue; break; case OSC_NODE: - ((PSSan *)anal)->PSSoscNode = value->nValue; + job->PSSoscNode = value->nValue; break; case STAB_TIME: - ((PSSan *)anal)->PSSstabTime = value->rValue; + job->PSSstabTime = value->rValue; break; case PSS_POINTS: - ((PSSan *)anal)->PSSpoints = value->iValue; + job->PSSpoints = value->iValue; break; case PSS_HARMS: - ((PSSan *)anal)->PSSharms = value->iValue; + job->PSSharms = value->iValue; break; case PSS_UIC: if(value->iValue) { - ((PSSan *)anal)->PSSmode |= MODEUIC; + job->PSSmode |= MODEUIC; } break; case SC_ITER: - ((PSSan *)anal)->sc_iter = value->iValue; + job->sc_iter = value->iValue; break; case STEADY_COEFF: - ((PSSan *)anal)->steady_coeff = value->rValue; + job->steady_coeff = value->rValue; break; default: diff --git a/src/spicelib/analysis/pzaskq.c b/src/spicelib/analysis/pzaskq.c index 3131a2c84..102870185 100644 --- a/src/spicelib/analysis/pzaskq.c +++ b/src/spicelib/analysis/pzaskq.c @@ -15,26 +15,28 @@ Author: 1985 Thomas L. Quarles int PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((PZAN *) anal) + switch(which) { case PZ_NODEI: - value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_pos); + value->nValue = CKTnum2nod(ckt, job->PZin_pos); break; case PZ_NODEG: - value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_neg); + value->nValue = CKTnum2nod(ckt, job->PZin_neg); break; case PZ_NODEJ: - value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_pos); + value->nValue = CKTnum2nod(ckt, job->PZout_pos); break; case PZ_NODEK: - value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_neg); + value->nValue = CKTnum2nod(ckt, job->PZout_neg); break; case PZ_V: - if( ((PZAN*)anal)->PZinput_type == PZ_IN_VOL) { + if (job->PZinput_type == PZ_IN_VOL) { value->iValue=1; } else { value->iValue=0; @@ -42,7 +44,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case PZ_I: - if( ((PZAN*)anal)->PZinput_type == PZ_IN_CUR) { + if (job->PZinput_type == PZ_IN_CUR) { value->iValue=1; } else { value->iValue=0; @@ -50,7 +52,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case PZ_POL: - if( ((PZAN*)anal)->PZwhich == PZ_DO_POLES) { + if (job->PZwhich == PZ_DO_POLES) { value->iValue=1; } else { value->iValue=0; @@ -58,7 +60,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case PZ_ZER: - if( ((PZAN*)anal)->PZwhich == PZ_DO_ZEROS) { + if (job->PZwhich == PZ_DO_ZEROS) { value->iValue=1; } else { value->iValue=0; @@ -66,7 +68,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) break; case PZ_PZ: - if( ((PZAN*)anal)->PZwhich == (PZ_DO_POLES | PZ_DO_ZEROS)) { + if (job->PZwhich == (PZ_DO_POLES | PZ_DO_ZEROS)) { value->iValue=1; } else { value->iValue=0; diff --git a/src/spicelib/analysis/pzsetp.c b/src/spicelib/analysis/pzsetp.c index db7c4018c..84c3587b4 100644 --- a/src/spicelib/analysis/pzsetp.c +++ b/src/spicelib/analysis/pzsetp.c @@ -16,53 +16,55 @@ Author: 1985 Thomas L. Quarles int PZsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((PZAN *) anal) + NG_IGNORE(ckt); switch(which) { case PZ_NODEI: - ((PZAN*)anal)->PZin_pos = (value->nValue)->number; + job->PZin_pos = value->nValue->number; break; case PZ_NODEG: - ((PZAN*)anal)->PZin_neg = (value->nValue)->number; + job->PZin_neg = value->nValue->number; break; case PZ_NODEJ: - ((PZAN*)anal)->PZout_pos = (value->nValue)->number; + job->PZout_pos = value->nValue->number; break; case PZ_NODEK: - ((PZAN*)anal)->PZout_neg = (value->nValue)->number; + job->PZout_neg = value->nValue->number; break; case PZ_V: if(value->iValue) { - ((PZAN*)anal)->PZinput_type = PZ_IN_VOL; + job->PZinput_type = PZ_IN_VOL; } break; case PZ_I: if(value->iValue) { - ((PZAN*)anal)->PZinput_type = PZ_IN_CUR; + job->PZinput_type = PZ_IN_CUR; } break; case PZ_POL: if(value->iValue) { - ((PZAN*)anal)->PZwhich = PZ_DO_POLES; + job->PZwhich = PZ_DO_POLES; } break; case PZ_ZER: if(value->iValue) { - ((PZAN*)anal)->PZwhich = PZ_DO_ZEROS; + job->PZwhich = PZ_DO_ZEROS; } break; case PZ_PZ: if(value->iValue) { - ((PZAN*)anal)->PZwhich = PZ_DO_POLES | PZ_DO_ZEROS; + job->PZwhich = PZ_DO_POLES | PZ_DO_ZEROS; } break; diff --git a/src/spicelib/analysis/tfsetp.c b/src/spicelib/analysis/tfsetp.c index 3ad7ddda8..84964915c 100644 --- a/src/spicelib/analysis/tfsetp.c +++ b/src/spicelib/analysis/tfsetp.c @@ -15,30 +15,32 @@ Author: 1985 Thomas L. Quarles int TFsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((TFan *) anal) + NG_IGNORE(ckt); switch(which) { case TF_OUTPOS: - ((TFan *)anal)->TFoutPos = value->nValue; - ((TFan *)anal)->TFoutIsV = TRUE; - ((TFan *)anal)->TFoutIsI = FALSE; + job->TFoutPos = value->nValue; + job->TFoutIsV = TRUE; + job->TFoutIsI = FALSE; break; case TF_OUTNEG: - ((TFan *)anal)->TFoutNeg = value->nValue; - ((TFan *)anal)->TFoutIsV = TRUE; - ((TFan *)anal)->TFoutIsI = FALSE; + job->TFoutNeg = value->nValue; + job->TFoutIsV = TRUE; + job->TFoutIsI = FALSE; break; case TF_OUTNAME: - ((TFan *)anal)->TFoutName = value->sValue; + job->TFoutName = value->sValue; break; case TF_OUTSRC: - ((TFan *)anal)->TFoutSrc = value->uValue; - ((TFan *)anal)->TFoutIsV = FALSE; - ((TFan *)anal)->TFoutIsI = TRUE; + job->TFoutSrc = value->uValue; + job->TFoutIsV = FALSE; + job->TFoutIsI = TRUE; break; case TF_INSRC: - ((TFan *)anal)->TFinSrc = value->uValue; + job->TFinSrc = value->uValue; break; default: diff --git a/src/spicelib/analysis/tranaskq.c b/src/spicelib/analysis/tranaskq.c index 853eed7d4..b59d07dfc 100644 --- a/src/spicelib/analysis/tranaskq.c +++ b/src/spicelib/analysis/tranaskq.c @@ -13,24 +13,26 @@ Author: 1985 Thomas L. Quarles int TRANaskQuest(CKTcircuit *ckt, JOB *anal, int which,IFvalue *value) { + #define job ((TRANan *) anal) + NG_IGNORE(ckt); switch(which) { case TRAN_TSTOP: - value->rValue = ((TRANan *)anal)->TRANfinalTime; + value->rValue = job->TRANfinalTime; break; case TRAN_TSTEP: - value->rValue = ((TRANan *)anal)->TRANstep; + value->rValue = job->TRANstep; break; case TRAN_TSTART: - value->rValue = ((TRANan *)anal)->TRANinitTime; + value->rValue = job->TRANinitTime; break; case TRAN_TMAX: - value->rValue = ((TRANan *)anal)->TRANmaxStep; + value->rValue = job->TRANmaxStep; break; case TRAN_UIC: - if(((TRANan *)anal)->TRANmode & MODEUIC) { + if (job->TRANmode & MODEUIC) { value->iValue = 1; } else { value->iValue = 0; diff --git a/src/spicelib/analysis/traninit.c b/src/spicelib/analysis/traninit.c index 2f1f02c9a..981257568 100644 --- a/src/spicelib/analysis/traninit.c +++ b/src/spicelib/analysis/traninit.c @@ -13,12 +13,14 @@ Modified: 2000 AlansFixes * (must be done after mode is set as below) */ -int TRANinit(CKTcircuit *ckt, JOB *job) +int TRANinit(CKTcircuit *ckt, JOB *anal) { - ckt->CKTfinalTime = ((TRANan*)job)->TRANfinalTime; - ckt->CKTstep = ((TRANan*)job)->TRANstep; - ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime; - ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep; + #define job ((TRANan *) anal) + + ckt->CKTfinalTime = job->TRANfinalTime; + ckt->CKTstep = job->TRANstep; + ckt->CKTinitTime = job->TRANinitTime; + ckt->CKTmaxStep = job->TRANmaxStep; @@ -39,7 +41,7 @@ int TRANinit(CKTcircuit *ckt, JOB *job) ckt->CKTdelmin = 1e-11*ckt->CKTmaxStep; /* XXX */ - ckt->CKTmode = ((TRANan*)job)->TRANmode; + ckt->CKTmode = job->TRANmode; return OK; } diff --git a/src/spicelib/analysis/transetp.c b/src/spicelib/analysis/transetp.c index 2385d3a8f..2917b7f62 100644 --- a/src/spicelib/analysis/transetp.c +++ b/src/spicelib/analysis/transetp.c @@ -15,6 +15,8 @@ Author: 1985 Thomas L. Quarles int TRANsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) { + #define job ((TRANan *) anal) + NG_IGNORE(ckt); switch(which) { @@ -22,33 +24,33 @@ TRANsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value) case TRAN_TSTOP: if (value->rValue <= 0.0) { errMsg = copy("TST0P is invalid, must be greater than zero."); - ((TRANan *)anal)->TRANfinalTime = 1.0; + job->TRANfinalTime = 1.0; return(E_PARMVAL); } - ((TRANan *)anal)->TRANfinalTime = value->rValue; + job->TRANfinalTime = value->rValue; break; case TRAN_TSTEP: if (value->rValue <= 0.0) { errMsg = copy( "TSTEP is invalid, must be greater than zero." ); - ((TRANan *)anal)->TRANstep = 1.0; + job->TRANstep = 1.0; return(E_PARMVAL); } - ((TRANan *)anal)->TRANstep = value->rValue; + job->TRANstep = value->rValue; break; case TRAN_TSTART: - if (value->rValue >= ((TRANan *)anal)->TRANfinalTime ) { + if (value->rValue >= job->TRANfinalTime) { errMsg = copy("TSTART is invalid, must be less than TSTOP."); - ((TRANan *)anal)->TRANinitTime = 0.0; + job->TRANinitTime = 0.0; return(E_PARMVAL); } - ((TRANan *)anal)->TRANinitTime = value->rValue; + job->TRANinitTime = value->rValue; break; case TRAN_TMAX: - ((TRANan *)anal)->TRANmaxStep = value->rValue; + job->TRANmaxStep = value->rValue; break; case TRAN_UIC: if(value->iValue) { - ((TRANan *)anal)->TRANmode |= MODEUIC; + job->TRANmode |= MODEUIC; } break;