DEVmodDelete(), change API

instead of searching and then deleting a device-model,
  just delete a given model.
drop the loop to remove all instances too.
Both, search and instance removal, shall be done somewhere else.

right now nowhere,
  because DEVmodDelete() currently isn't used anyway.
This commit is contained in:
rlar 2018-01-14 11:52:21 +01:00
parent 174b424d13
commit f25b7e2f08
119 changed files with 123 additions and 1204 deletions

View File

@ -71,8 +71,8 @@ typedef struct SPICEdev {
/* subroutine to call on acceptance of a timepoint */ /* subroutine to call on acceptance of a timepoint */
void (*DEVdestroy)(GENmodel**); void (*DEVdestroy)(GENmodel**);
/* subroutine to destroy all models and instances */ /* subroutine to destroy all models and instances */
int (*DEVmodDelete)(GENmodel**,IFuid,GENmodel*); int (*DEVmodDelete)(GENmodel*);
/* subroutine to delete a model and all instances */ /* subroutine to delete a model */
int (*DEVdelete)(GENinstance*); int (*DEVdelete)(GENinstance*);
/* subroutine to delete an instance */ /* subroutine to delete an instance */
int (*DEVsetic)(GENmodel*,CKTcircuit*); int (*DEVsetic)(GENmodel*,CKTcircuit*);

View File

@ -27,7 +27,7 @@ struct coreInfo_t {
int ((*dllitf_MIFtrunc)(GENmodel *, CKTcircuit *, double *)); int ((*dllitf_MIFtrunc)(GENmodel *, CKTcircuit *, double *));
int ((*dllitf_MIFconvTest)(GENmodel *, CKTcircuit *)); int ((*dllitf_MIFconvTest)(GENmodel *, CKTcircuit *));
int ((*dllitf_MIFdelete)(GENinstance *)); int ((*dllitf_MIFdelete)(GENinstance *));
int ((*dllitf_MIFmDelete)(GENmodel **, IFuid, GENmodel *)); int ((*dllitf_MIFmDelete)(GENmodel *));
void ((*dllitf_MIFdestroy)(GENmodel **)); void ((*dllitf_MIFdestroy)(GENmodel **));
char * ((*dllitf_MIFgettok)(char **)); char * ((*dllitf_MIFgettok)(char **));
char * ((*dllitf_MIFget_token)(char **, Mif_Token_Type_t *)); char * ((*dllitf_MIFget_token)(char **, Mif_Token_Type_t *));

View File

@ -129,8 +129,6 @@ extern int MIFdelete(
); );
extern int MIFmDelete( extern int MIFmDelete(
GENmodel **inModel,
IFuid modname,
GENmodel *model GENmodel *model
); );

View File

@ -46,7 +46,7 @@ extern int $(module)acLoad(GENmodel *,CKTcircuit*);
extern int $(module)convTest(GENmodel *,CKTcircuit*); extern int $(module)convTest(GENmodel *,CKTcircuit*);
extern int $(module)delete(GENinstance*); extern int $(module)delete(GENinstance*);
extern int $(module)getic(GENmodel*,CKTcircuit*); extern int $(module)getic(GENmodel*,CKTcircuit*);
extern int $(module)mDelete(GENmodel**,IFuid,GENmodel*); extern int $(module)mDelete(GENmodel*);
extern int $(module)noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int $(module)noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*);
extern int $(module)pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int $(module)pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern int $(module)trunc(GENmodel*,CKTcircuit*,double*); extern int $(module)trunc(GENmodel*,CKTcircuit*,double*);

View File

@ -46,27 +46,8 @@
#include "ngspice/suffix.h" #include "ngspice/suffix.h"
int int
$(module)mDelete(GENmodel **models, IFuid modname, GENmodel *kill) $(module)mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -9,7 +9,7 @@ extern int ASRCdelete(GENinstance *);
extern void ASRCdestroy(GENmodel **); extern void ASRCdestroy(GENmodel **);
extern int ASRCfindBr(CKTcircuit *, GENmodel *, IFuid); extern int ASRCfindBr(CKTcircuit *, GENmodel *, IFuid);
extern int ASRCload(GENmodel *, CKTcircuit *); extern int ASRCload(GENmodel *, CKTcircuit *);
extern int ASRCmDelete(GENmodel **, IFuid, GENmodel *); extern int ASRCmDelete(GENmodel *);
extern int ASRCparam(int, IFvalue *, GENinstance *, IFvalue *); extern int ASRCparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int ASRCpzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int ASRCpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
extern int ASRCacLoad(GENmodel *, CKTcircuit *); extern int ASRCacLoad(GENmodel *, CKTcircuit *);

View File

@ -10,30 +10,8 @@ Author: 1987 Kanwar Jit Singh
int int
ASRCmDelete(GENmodel **models, IFuid modname, GENmodel *kill) ASRCmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
FREE(((ASRCinstance*)here)->ASRCacValues);
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -15,7 +15,7 @@ extern void BJTdestroy(GENmodel**);
extern int BJTgetic(GENmodel*,CKTcircuit*); extern int BJTgetic(GENmodel*,CKTcircuit*);
extern int BJTload(GENmodel*,CKTcircuit*); extern int BJTload(GENmodel*,CKTcircuit*);
extern int BJTmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int BJTmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int BJTmDelete(GENmodel**,IFuid,GENmodel*); extern int BJTmDelete(GENmodel*);
extern int BJTmParam(int,IFvalue*,GENmodel*); extern int BJTmParam(int,IFvalue*,GENmodel*);
extern int BJTparam(int,IFvalue*,GENinstance*,IFvalue*); extern int BJTparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int BJTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int BJTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -16,23 +16,8 @@ Author: 1985 Thomas L. Quarles
int int
BJTmDelete(GENmodel **models, IFuid modname, GENmodel *kill) BJTmDelete(GENmodel *model)
{ {
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
if (model->GENinstances)
return E_NOTEMPTY;
*prev = model->GENnextModel;
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,27 +10,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles
int int
B1mDelete(GENmodel **models, IFuid modname, GENmodel *kill) B1mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void B1destroy(GENmodel**);
extern int B1getic(GENmodel*,CKTcircuit*); extern int B1getic(GENmodel*,CKTcircuit*);
extern int B1load(GENmodel*,CKTcircuit*); extern int B1load(GENmodel*,CKTcircuit*);
extern int B1mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B1mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B1mDelete(GENmodel**,IFuid,GENmodel*); extern int B1mDelete(GENmodel*);
extern int B1mParam(int,IFvalue*,GENmodel*); extern int B1mParam(int,IFvalue*,GENmodel*);
extern void B1mosCap(CKTcircuit*, double, double, double, double*, extern void B1mosCap(CKTcircuit*, double, double, double, double*,
double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -10,27 +10,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles
int int
B2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) B2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,7 +11,7 @@ extern void B2destroy(GENmodel**);
extern int B2getic(GENmodel*,CKTcircuit*); extern int B2getic(GENmodel*,CKTcircuit*);
extern int B2load(GENmodel*,CKTcircuit*); extern int B2load(GENmodel*,CKTcircuit*);
extern int B2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B2mDelete(GENmodel**,IFuid,GENmodel*); extern int B2mDelete(GENmodel*);
extern int B2mParam(int,IFvalue*,GENmodel*); extern int B2mParam(int,IFvalue*,GENmodel*);
extern void B2mosCap(CKTcircuit*, double, double, double, double*, extern void B2mosCap(CKTcircuit*, double, double, double, double*,
double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -15,27 +15,8 @@
int int
BSIM3mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM3mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void BSIM3destroy(GENmodel**);
extern int BSIM3getic(GENmodel*,CKTcircuit*); extern int BSIM3getic(GENmodel*,CKTcircuit*);
extern int BSIM3load(GENmodel*,CKTcircuit*); extern int BSIM3load(GENmodel*,CKTcircuit*);
extern int BSIM3mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM3mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM3mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM3mDelete(GENmodel*);
extern int BSIM3mParam(int,IFvalue*,GENmodel*); extern int BSIM3mParam(int,IFvalue*,GENmodel*);
extern void BSIM3mosCap(CKTcircuit*, double, double, double, double, extern void BSIM3mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -13,7 +13,7 @@ extern void B3SOIDDdestroy(GENmodel**);
extern int B3SOIDDgetic(GENmodel*,CKTcircuit*); extern int B3SOIDDgetic(GENmodel*,CKTcircuit*);
extern int B3SOIDDload(GENmodel*,CKTcircuit*); extern int B3SOIDDload(GENmodel*,CKTcircuit*);
extern int B3SOIDDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B3SOIDDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B3SOIDDmDelete(GENmodel**,IFuid,GENmodel*); extern int B3SOIDDmDelete(GENmodel*);
extern int B3SOIDDmParam(int,IFvalue*,GENmodel*); extern int B3SOIDDmParam(int,IFvalue*,GENmodel*);
extern void B3SOIDDmosCap(CKTcircuit*, double, double, double, double, extern void B3SOIDDmosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -18,27 +18,8 @@ Modified by Paolo Nenzi 2002
int int
B3SOIDDmDelete(GENmodel **models, IFuid modname, GENmodel *kill) B3SOIDDmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void B3SOIFDdestroy(GENmodel**);
extern int B3SOIFDgetic(GENmodel*,CKTcircuit*); extern int B3SOIFDgetic(GENmodel*,CKTcircuit*);
extern int B3SOIFDload(GENmodel*,CKTcircuit*); extern int B3SOIFDload(GENmodel*,CKTcircuit*);
extern int B3SOIFDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B3SOIFDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B3SOIFDmDelete(GENmodel**,IFuid,GENmodel*); extern int B3SOIFDmDelete(GENmodel*);
extern int B3SOIFDmParam(int,IFvalue*,GENmodel*); extern int B3SOIFDmParam(int,IFvalue*,GENmodel*);
extern void B3SOIFDmosCap(CKTcircuit*, double, double, double, double, extern void B3SOIFDmosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -17,27 +17,8 @@ File: b3soifdmdel.c 98/5/01
int int
B3SOIFDmDelete(GENmodel **models, IFuid modname, GENmodel *kill) B3SOIFDmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void B3SOIPDdestroy(GENmodel**);
extern int B3SOIPDgetic(GENmodel*,CKTcircuit*); extern int B3SOIPDgetic(GENmodel*,CKTcircuit*);
extern int B3SOIPDload(GENmodel*,CKTcircuit*); extern int B3SOIPDload(GENmodel*,CKTcircuit*);
extern int B3SOIPDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B3SOIPDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B3SOIPDmDelete(GENmodel**,IFuid,GENmodel*); extern int B3SOIPDmDelete(GENmodel*);
extern int B3SOIPDmParam(int,IFvalue*,GENmodel*); extern int B3SOIPDmParam(int,IFvalue*,GENmodel*);
extern void B3SOIPDmosCap(CKTcircuit*, double, double, double, double, extern void B3SOIPDmosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -17,27 +17,8 @@ Modified by Paolo Nenzi 2002
int int
B3SOIPDmDelete(GENmodel **models, IFuid modname, GENmodel *kill) B3SOIPDmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,27 +11,8 @@ File: b3v0mdel.c
int int
BSIM3v0mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM3v0mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern void BSIM3v0destroy(GENmodel**);
extern int BSIM3v0getic(GENmodel*,CKTcircuit*); extern int BSIM3v0getic(GENmodel*,CKTcircuit*);
extern int BSIM3v0load(GENmodel*,CKTcircuit*); extern int BSIM3v0load(GENmodel*,CKTcircuit*);
extern int BSIM3v0mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM3v0mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM3v0mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM3v0mDelete(GENmodel*);
extern int BSIM3v0mParam(int,IFvalue*,GENmodel*); extern int BSIM3v0mParam(int,IFvalue*,GENmodel*);
extern void BSIM3v0mosCap(CKTcircuit*, double, double, double, double, extern void BSIM3v0mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -17,27 +17,8 @@
int int
BSIM3v1mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM3v1mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void BSIM3v1destroy(GENmodel **);
extern int BSIM3v1getic(GENmodel *, CKTcircuit *); extern int BSIM3v1getic(GENmodel *, CKTcircuit *);
extern int BSIM3v1load(GENmodel *, CKTcircuit *); extern int BSIM3v1load(GENmodel *, CKTcircuit *);
extern int BSIM3v1mAsk(CKTcircuit *, GENmodel *, int, IFvalue *); extern int BSIM3v1mAsk(CKTcircuit *, GENmodel *, int, IFvalue *);
extern int BSIM3v1mDelete(GENmodel **, IFuid, GENmodel *); extern int BSIM3v1mDelete(GENmodel *);
extern int BSIM3v1mParam(int, IFvalue *, GENmodel *); extern int BSIM3v1mParam(int, IFvalue *, GENmodel *);
extern void BSIM3v1mosCap(CKTcircuit *, double, double, double, double, extern void BSIM3v1mosCap(CKTcircuit *, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -16,27 +16,8 @@
int int
BSIM3v32mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM3v32mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -14,7 +14,7 @@ extern void BSIM3v32destroy(GENmodel**);
extern int BSIM3v32getic(GENmodel*,CKTcircuit*); extern int BSIM3v32getic(GENmodel*,CKTcircuit*);
extern int BSIM3v32load(GENmodel*,CKTcircuit*); extern int BSIM3v32load(GENmodel*,CKTcircuit*);
extern int BSIM3v32mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM3v32mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM3v32mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM3v32mDelete(GENmodel*);
extern int BSIM3v32mParam(int,IFvalue*,GENmodel*); extern int BSIM3v32mParam(int,IFvalue*,GENmodel*);
extern void BSIM3v32mosCap(CKTcircuit*, double, double, double, double, extern void BSIM3v32mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -65,27 +65,8 @@
int int
BSIM4mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM4mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -66,7 +66,7 @@ extern void BSIM4destroy(GENmodel**);
extern int BSIM4getic(GENmodel*,CKTcircuit*); extern int BSIM4getic(GENmodel*,CKTcircuit*);
extern int BSIM4load(GENmodel*,CKTcircuit*); extern int BSIM4load(GENmodel*,CKTcircuit*);
extern int BSIM4mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM4mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM4mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM4mDelete(GENmodel*);
extern int BSIM4mParam(int,IFvalue*,GENmodel*); extern int BSIM4mParam(int,IFvalue*,GENmodel*);
extern void BSIM4mosCap(CKTcircuit*, double, double, double, double, extern void BSIM4mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -15,27 +15,8 @@
int int
BSIM4v5mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM4v5mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void BSIM4v5destroy(GENmodel**);
extern int BSIM4v5getic(GENmodel*,CKTcircuit*); extern int BSIM4v5getic(GENmodel*,CKTcircuit*);
extern int BSIM4v5load(GENmodel*,CKTcircuit*); extern int BSIM4v5load(GENmodel*,CKTcircuit*);
extern int BSIM4v5mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM4v5mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM4v5mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM4v5mDelete(GENmodel*);
extern int BSIM4v5mParam(int,IFvalue*,GENmodel*); extern int BSIM4v5mParam(int,IFvalue*,GENmodel*);
extern void BSIM4v5mosCap(CKTcircuit*, double, double, double, double, extern void BSIM4v5mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -17,27 +17,8 @@
int int
BSIM4v6mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM4v6mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void BSIM4v6destroy(GENmodel**);
extern int BSIM4v6getic(GENmodel*,CKTcircuit*); extern int BSIM4v6getic(GENmodel*,CKTcircuit*);
extern int BSIM4v6load(GENmodel*,CKTcircuit*); extern int BSIM4v6load(GENmodel*,CKTcircuit*);
extern int BSIM4v6mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM4v6mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM4v6mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM4v6mDelete(GENmodel*);
extern int BSIM4v6mParam(int,IFvalue*,GENmodel*); extern int BSIM4v6mParam(int,IFvalue*,GENmodel*);
extern void BSIM4v6mosCap(CKTcircuit*, double, double, double, double, extern void BSIM4v6mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -17,27 +17,8 @@
int int
BSIM4v7mDelete(GENmodel **models, IFuid modname, GENmodel *kill) BSIM4v7mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern void BSIM4v7destroy(GENmodel**);
extern int BSIM4v7getic(GENmodel*,CKTcircuit*); extern int BSIM4v7getic(GENmodel*,CKTcircuit*);
extern int BSIM4v7load(GENmodel*,CKTcircuit*); extern int BSIM4v7load(GENmodel*,CKTcircuit*);
extern int BSIM4v7mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int BSIM4v7mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int BSIM4v7mDelete(GENmodel**,IFuid,GENmodel*); extern int BSIM4v7mDelete(GENmodel*);
extern int BSIM4v7mParam(int,IFvalue*,GENmodel*); extern int BSIM4v7mParam(int,IFvalue*,GENmodel*);
extern void BSIM4v7mosCap(CKTcircuit*, double, double, double, double, extern void BSIM4v7mosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -15,7 +15,7 @@ extern void B4SOIdestroy(GENmodel**);
extern int B4SOIgetic(GENmodel*,CKTcircuit*); extern int B4SOIgetic(GENmodel*,CKTcircuit*);
extern int B4SOIload(GENmodel*,CKTcircuit*); extern int B4SOIload(GENmodel*,CKTcircuit*);
extern int B4SOImAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int B4SOImAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int B4SOImDelete(GENmodel**,IFuid,GENmodel*); extern int B4SOImDelete(GENmodel*);
extern int B4SOImParam(int,IFvalue*,GENmodel*); extern int B4SOImParam(int,IFvalue*,GENmodel*);
extern void B4SOImosCap(CKTcircuit*, double, double, double, double, extern void B4SOImosCap(CKTcircuit*, double, double, double, double,
double, double, double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -21,27 +21,8 @@
int int
B4SOImDelete(GENmodel **models, IFuid modname, GENmodel *kill) B4SOImDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern void CAPdestroy(GENmodel**);
extern int CAPgetic(GENmodel*,CKTcircuit*); extern int CAPgetic(GENmodel*,CKTcircuit*);
extern int CAPload(GENmodel*,CKTcircuit*); extern int CAPload(GENmodel*,CKTcircuit*);
extern int CAPmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int CAPmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int CAPmDelete(GENmodel**,IFuid,GENmodel*); extern int CAPmDelete(GENmodel*);
extern int CAPmParam(int,IFvalue*,GENmodel*); extern int CAPmParam(int,IFvalue*,GENmodel*);
extern int CAPparam(int,IFvalue*,GENinstance*,IFvalue*); extern int CAPparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int CAPpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int CAPpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -11,27 +11,8 @@ Modified: Spetember 2003 Paolo Nenzi
int int
CAPmDelete(GENmodel **models, IFuid modname, GENmodel *kill) CAPmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -8,7 +8,7 @@ extern int CCCSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
extern int CCCSdelete(GENinstance*); extern int CCCSdelete(GENinstance*);
extern void CCCSdestroy(GENmodel**); extern void CCCSdestroy(GENmodel**);
extern int CCCSload(GENmodel*,CKTcircuit*); extern int CCCSload(GENmodel*,CKTcircuit*);
extern int CCCSmDelete(GENmodel**,IFuid,GENmodel*); extern int CCCSmDelete(GENmodel*);
extern int CCCSparam(int,IFvalue*,GENinstance*,IFvalue*); extern int CCCSparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int CCCSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int CCCSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern int CCCSsAcLoad(GENmodel*,CKTcircuit*); extern int CCCSsAcLoad(GENmodel*,CKTcircuit*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
CCCSmDelete(GENmodel **models, IFuid modname, GENmodel *kill) CCCSmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -8,7 +8,7 @@ extern int CCVSdelete(GENinstance*);
extern void CCVSdestroy(GENmodel**); extern void CCVSdestroy(GENmodel**);
extern int CCVSfindBr(CKTcircuit*,GENmodel*,IFuid); extern int CCVSfindBr(CKTcircuit*,GENmodel*,IFuid);
extern int CCVSload(GENmodel*,CKTcircuit*); extern int CCVSload(GENmodel*,CKTcircuit*);
extern int CCVSmDelete(GENmodel**,IFuid,GENmodel*); extern int CCVSmDelete(GENmodel*);
extern int CCVSparam(int,IFvalue*,GENinstance*,IFvalue*); extern int CCVSparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int CCVSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int CCVSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern int CCVSsAcLoad(GENmodel*,CKTcircuit*); extern int CCVSsAcLoad(GENmodel*,CKTcircuit*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
CCVSmDelete(GENmodel **models, IFuid modname, GENmodel *kill) CCVSmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -9,7 +9,7 @@ extern int CPLdelete(GENinstance*);
extern void CPLdestroy(GENmodel**); extern void CPLdestroy(GENmodel**);
extern int CPLload(GENmodel*, CKTcircuit*); extern int CPLload(GENmodel*, CKTcircuit*);
extern int CPLmAsk(CKTcircuit*, GENmodel*, int, IFvalue*); extern int CPLmAsk(CKTcircuit*, GENmodel*, int, IFvalue*);
extern int CPLmDelete(GENmodel**, IFuid,GENmodel*); extern int CPLmDelete(GENmodel*);
extern int CPLmParam(int,IFvalue*, GENmodel*); extern int CPLmParam(int,IFvalue*, GENmodel*);
extern int CPLparam(int,IFvalue*, GENinstance*, IFvalue*); extern int CPLparam(int,IFvalue*, GENinstance*, IFvalue*);
extern int CPLsetup(SMPmatrix*, GENmodel*, CKTcircuit*, int*); extern int CPLsetup(SMPmatrix*, GENmodel*, CKTcircuit*, int*);

View File

@ -12,27 +12,8 @@ Author: 1992 Charles Hough
int int
CPLmDelete(GENmodel **models, IFuid modname, GENmodel *kill) CPLmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern int CSWdelete(GENinstance*);
extern void CSWdestroy(GENmodel**); extern void CSWdestroy(GENmodel**);
extern int CSWload(GENmodel*,CKTcircuit*); extern int CSWload(GENmodel*,CKTcircuit*);
extern int CSWmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int CSWmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int CSWmDelete(GENmodel**,IFuid,GENmodel*); extern int CSWmDelete(GENmodel*);
extern int CSWmParam(int,IFvalue*,GENmodel*); extern int CSWmParam(int,IFvalue*,GENmodel*);
extern int CSWparam(int,IFvalue*,GENinstance*,IFvalue*); extern int CSWparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int CSWpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int CSWpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Gordon Jacobs
int int
CSWmDelete(GENmodel **models, IFuid modname, GENmodel *kill) CSWmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern void DIOdestroy(GENmodel**);
extern int DIOgetic(GENmodel*,CKTcircuit*); extern int DIOgetic(GENmodel*,CKTcircuit*);
extern int DIOload(GENmodel*,CKTcircuit*); extern int DIOload(GENmodel*,CKTcircuit*);
extern int DIOmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int DIOmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int DIOmDelete(GENmodel**,IFuid,GENmodel*); extern int DIOmDelete(GENmodel*);
extern int DIOmParam(int,IFvalue*,GENmodel*); extern int DIOmParam(int,IFvalue*,GENmodel*);
extern int DIOparam(int,IFvalue*,GENinstance*,IFvalue*); extern int DIOparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int DIOpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int DIOpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
DIOmDelete(GENmodel **models, IFuid modname, GENmodel *kill) DIOmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern void HFETAdestroy(GENmodel**);
extern int HFETAgetic(GENmodel*,CKTcircuit*); extern int HFETAgetic(GENmodel*,CKTcircuit*);
extern int HFETAload(GENmodel*,CKTcircuit*); extern int HFETAload(GENmodel*,CKTcircuit*);
extern int HFETAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int HFETAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int HFETAmDelete(GENmodel**,IFuid,GENmodel*); extern int HFETAmDelete(GENmodel*);
extern int HFETAmParam(int,IFvalue*,GENmodel*); extern int HFETAmParam(int,IFvalue*,GENmodel*);
extern int HFETAparam(int,IFvalue*,GENinstance*,IFvalue*); extern int HFETAparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int HFETApzLoad(GENmodel*, CKTcircuit*, SPcomplex*); extern int HFETApzLoad(GENmodel*, CKTcircuit*, SPcomplex*);

View File

@ -14,27 +14,8 @@ Author: 1985 S. Hwang
int int
HFETAmDelete(GENmodel **models, IFuid modname, GENmodel *kill) HFETAmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern void HFET2destroy(GENmodel**);
extern int HFET2getic(GENmodel*,CKTcircuit*); extern int HFET2getic(GENmodel*,CKTcircuit*);
extern int HFET2load(GENmodel*,CKTcircuit*); extern int HFET2load(GENmodel*,CKTcircuit*);
extern int HFET2mAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int HFET2mAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int HFET2mDelete(GENmodel**,IFuid,GENmodel*); extern int HFET2mDelete(GENmodel*);
extern int HFET2mParam(int,IFvalue*,GENmodel*); extern int HFET2mParam(int,IFvalue*,GENmodel*);
extern int HFET2param(int,IFvalue*,GENinstance*,IFvalue*); extern int HFET2param(int,IFvalue*,GENinstance*,IFvalue*);
extern int HFET2pzLoad(GENmodel*, CKTcircuit*, SPcomplex*); extern int HFET2pzLoad(GENmodel*, CKTcircuit*, SPcomplex*);

View File

@ -14,27 +14,8 @@ Author: 1985 S. Hwang
int int
HFET2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) HFET2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -23,7 +23,7 @@ extern void HSM2destroy(GENmodel**);
extern int HSM2getic(GENmodel*,CKTcircuit*); extern int HSM2getic(GENmodel*,CKTcircuit*);
extern int HSM2load(GENmodel*,CKTcircuit*); extern int HSM2load(GENmodel*,CKTcircuit*);
extern int HSM2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int HSM2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int HSM2mDelete(GENmodel**,IFuid,GENmodel*); extern int HSM2mDelete(GENmodel*);
extern int HSM2mParam(int,IFvalue*,GENmodel*); extern int HSM2mParam(int,IFvalue*,GENmodel*);
extern void HSM2mosCap(CKTcircuit*, double, double, double, double*, extern void HSM2mosCap(CKTcircuit*, double, double, double, double*,
double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -61,27 +61,8 @@ to others."
int int
HSM2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) HSM2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -23,7 +23,7 @@ extern void HSMHVdestroy(GENmodel**);
extern int HSMHVgetic(GENmodel*,CKTcircuit*); extern int HSMHVgetic(GENmodel*,CKTcircuit*);
extern int HSMHVload(GENmodel*,CKTcircuit*); extern int HSMHVload(GENmodel*,CKTcircuit*);
extern int HSMHVmAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int HSMHVmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int HSMHVmDelete(GENmodel**,IFuid,GENmodel*); extern int HSMHVmDelete(GENmodel*);
extern int HSMHVmParam(int,IFvalue*,GENmodel*); extern int HSMHVmParam(int,IFvalue*,GENmodel*);
extern void HSMHVmosCap(CKTcircuit*, double, double, double, double*, extern void HSMHVmosCap(CKTcircuit*, double, double, double, double*,
double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -22,27 +22,8 @@
int int
HSMHVmDelete(GENmodel **models, IFuid modname, GENmodel *kill) HSMHVmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -23,7 +23,7 @@ extern void HSMHV2destroy(GENmodel**);
extern int HSMHV2getic(GENmodel*,CKTcircuit*); extern int HSMHV2getic(GENmodel*,CKTcircuit*);
extern int HSMHV2load(GENmodel*,CKTcircuit*); extern int HSMHV2load(GENmodel*,CKTcircuit*);
extern int HSMHV2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*); extern int HSMHV2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int HSMHV2mDelete(GENmodel**,IFuid,GENmodel*); extern int HSMHV2mDelete(GENmodel*);
extern int HSMHV2mParam(int,IFvalue*,GENmodel*); extern int HSMHV2mParam(int,IFvalue*,GENmodel*);
extern void HSMHV2mosCap(CKTcircuit*, double, double, double, double*, extern void HSMHV2mosCap(CKTcircuit*, double, double, double, double*,
double, double, double, double, double, double, double, double, double, double, double, double,

View File

@ -64,27 +64,8 @@ June 2008 (revised October 2011)
int int
HSMHV2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) HSMHV2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,7 +11,7 @@ extern int INDmAsk(CKTcircuit*, GENmodel*, int, IFvalue*);
extern int INDdelete(GENinstance*); extern int INDdelete(GENinstance*);
extern void INDdestroy(GENmodel**); extern void INDdestroy(GENmodel**);
extern int INDload(GENmodel*,CKTcircuit*); extern int INDload(GENmodel*,CKTcircuit*);
extern int INDmDelete(GENmodel**,IFuid,GENmodel*); extern int INDmDelete(GENmodel*);
extern int INDmParam(int, IFvalue*, GENmodel*); extern int INDmParam(int, IFvalue*, GENmodel*);
extern int INDparam(int,IFvalue*,GENinstance*,IFvalue*); extern int INDparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int INDpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int INDpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
@ -29,7 +29,7 @@ extern int MUTacLoad(GENmodel*,CKTcircuit*);
extern int MUTask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int MUTask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
extern int MUTdelete(GENinstance*); extern int MUTdelete(GENinstance*);
extern void MUTdestroy(GENmodel**); extern void MUTdestroy(GENmodel**);
extern int MUTmDelete(GENmodel**,IFuid,GENmodel*); extern int MUTmDelete(GENmodel*);
extern int MUTparam(int,IFvalue*,GENinstance*,IFvalue*); extern int MUTparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int MUTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MUTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern void MUTsPrint(GENmodel*,CKTcircuit*); extern void MUTsPrint(GENmodel*,CKTcircuit*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
INDmDelete(GENmodel **models, IFuid modname, GENmodel *kill) INDmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,27 +11,8 @@ Author: 1985 Thomas L. Quarles
#ifdef MUTUAL #ifdef MUTUAL
int int
MUTmDelete(GENmodel **models, IFuid modname, GENmodel *kill) MUTmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -9,7 +9,7 @@ extern int ISRCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
extern int ISRCdelete(GENinstance*); extern int ISRCdelete(GENinstance*);
extern void ISRCdestroy(GENmodel**); extern void ISRCdestroy(GENmodel**);
extern int ISRCload(GENmodel*,CKTcircuit*); extern int ISRCload(GENmodel*,CKTcircuit*);
extern int ISRCmDelete(GENmodel**,IFuid,GENmodel*); extern int ISRCmDelete(GENmodel*);
extern int ISRCparam(int,IFvalue*,GENinstance*,IFvalue*); extern int ISRCparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int ISRCpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int ISRCpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern int ISRCtemp(GENmodel*,CKTcircuit*); extern int ISRCtemp(GENmodel*,CKTcircuit*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
ISRCmDelete(GENmodel **models, IFuid modname, GENmodel *kill) ISRCmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,7 +11,7 @@ extern void JFETdestroy(GENmodel**);
extern int JFETgetic(GENmodel*,CKTcircuit*); extern int JFETgetic(GENmodel*,CKTcircuit*);
extern int JFETload(GENmodel*,CKTcircuit*); extern int JFETload(GENmodel*,CKTcircuit*);
extern int JFETmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int JFETmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int JFETmDelete(GENmodel**,IFuid,GENmodel*); extern int JFETmDelete(GENmodel*);
extern int JFETmParam(int,IFvalue*,GENmodel*); extern int JFETmParam(int,IFvalue*,GENmodel*);
extern int JFETparam(int,IFvalue*,GENinstance*,IFvalue*); extern int JFETparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int JFETpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int JFETpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
JFETmDelete(GENmodel **models, IFuid modname, GENmodel *kill) JFETmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -14,7 +14,7 @@ extern void JFET2destroy(GENmodel**);
extern int JFET2getic(GENmodel*,CKTcircuit*); extern int JFET2getic(GENmodel*,CKTcircuit*);
extern int JFET2load(GENmodel*,CKTcircuit*); extern int JFET2load(GENmodel*,CKTcircuit*);
extern int JFET2mAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int JFET2mAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int JFET2mDelete(GENmodel**,IFuid,GENmodel*); extern int JFET2mDelete(GENmodel*);
extern int JFET2mParam(int,IFvalue*,GENmodel*); extern int JFET2mParam(int,IFvalue*,GENmodel*);
extern int JFET2param(int,IFvalue*,GENinstance*,IFvalue*); extern int JFET2param(int,IFvalue*,GENinstance*,IFvalue*);
extern int JFET2setup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int JFET2setup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);

View File

@ -14,27 +14,8 @@ Modified to jfet2 for PS model definition ( Anthony E. Parker )
int int
JFET2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) JFET2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern int LTRAdelete(GENinstance*);
extern void LTRAdestroy(GENmodel**); extern void LTRAdestroy(GENmodel**);
extern int LTRAload(GENmodel*,CKTcircuit*); extern int LTRAload(GENmodel*,CKTcircuit*);
extern int LTRAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int LTRAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int LTRAmDelete(GENmodel**,IFuid,GENmodel*); extern int LTRAmDelete(GENmodel*);
extern int LTRAparam(int,IFvalue*,GENinstance*,IFvalue*); extern int LTRAparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int LTRAmParam(int,IFvalue*,GENmodel*); extern int LTRAmParam(int,IFvalue*,GENmodel*);
extern int LTRAsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int LTRAsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);

View File

@ -10,27 +10,8 @@ Author: 1990 Jaijeet S. Roychowdhury
int int
LTRAmDelete(GENmodel **models, IFuid modname, GENmodel *kill) LTRAmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,7 +11,7 @@ extern void MESdestroy(GENmodel**);
extern int MESgetic(GENmodel*,CKTcircuit*); extern int MESgetic(GENmodel*,CKTcircuit*);
extern int MESload(GENmodel*,CKTcircuit*); extern int MESload(GENmodel*,CKTcircuit*);
extern int MESmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int MESmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int MESmDelete(GENmodel**,IFuid,GENmodel*); extern int MESmDelete(GENmodel*);
extern int MESmParam(int,IFvalue*,GENmodel*); extern int MESmParam(int,IFvalue*,GENmodel*);
extern int MESparam(int,IFvalue*,GENinstance*,IFvalue*); extern int MESparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int MESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 S. Hwang
int int
MESmDelete(GENmodel **models, IFuid modname, GENmodel *kill) MESmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern void MESAdestroy(GENmodel**);
extern int MESAgetic(GENmodel*,CKTcircuit*); extern int MESAgetic(GENmodel*,CKTcircuit*);
extern int MESAload(GENmodel*,CKTcircuit*); extern int MESAload(GENmodel*,CKTcircuit*);
extern int MESAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int MESAmAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int MESAmDelete(GENmodel**,IFuid,GENmodel*); extern int MESAmDelete(GENmodel*);
extern int MESAmParam(int,IFvalue*,GENmodel*); extern int MESAmParam(int,IFvalue*,GENmodel*);
extern int MESAparam(int,IFvalue*,GENinstance*,IFvalue*); extern int MESAparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int MESApzLoad(GENmodel*,CKTcircuit*, SPcomplex*); extern int MESApzLoad(GENmodel*,CKTcircuit*, SPcomplex*);

View File

@ -14,27 +14,8 @@ Author: 1985 S. Hwang
int int
MESAmDelete(GENmodel **models, IFuid modname, GENmodel *kill) MESAmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -11,7 +11,7 @@ extern void MOS1destroy(GENmodel**);
extern int MOS1getic(GENmodel*,CKTcircuit*); extern int MOS1getic(GENmodel*,CKTcircuit*);
extern int MOS1load(GENmodel*,CKTcircuit*); extern int MOS1load(GENmodel*,CKTcircuit*);
extern int MOS1mAsk(CKTcircuit *,GENmodel *,int,IFvalue*); extern int MOS1mAsk(CKTcircuit *,GENmodel *,int,IFvalue*);
extern int MOS1mDelete(GENmodel**,IFuid,GENmodel*); extern int MOS1mDelete(GENmodel*);
extern int MOS1mParam(int,IFvalue*,GENmodel*); extern int MOS1mParam(int,IFvalue*,GENmodel*);
extern int MOS1param(int,IFvalue*,GENinstance*,IFvalue*); extern int MOS1param(int,IFvalue*,GENinstance*,IFvalue*);
extern int MOS1pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MOS1pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
MOS1mDelete(GENmodel **models, IFuid modname, GENmodel *kill) MOS1mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern int MOS2delete(GENinstance*);
extern void MOS2destroy(GENmodel**); extern void MOS2destroy(GENmodel**);
extern int MOS2getic(GENmodel*,CKTcircuit*); extern int MOS2getic(GENmodel*,CKTcircuit*);
extern int MOS2load(GENmodel*,CKTcircuit*); extern int MOS2load(GENmodel*,CKTcircuit*);
extern int MOS2mDelete(GENmodel**,IFuid,GENmodel*); extern int MOS2mDelete(GENmodel*);
extern int MOS2mParam(int,IFvalue*,GENmodel*); extern int MOS2mParam(int,IFvalue*,GENmodel*);
extern int MOS2param(int,IFvalue*,GENinstance*,IFvalue*); extern int MOS2param(int,IFvalue*,GENinstance*,IFvalue*);
extern int MOS2pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MOS2pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
MOS2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) MOS2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern void MOS3destroy(GENmodel**);
extern int MOS3getic(GENmodel*,CKTcircuit*); extern int MOS3getic(GENmodel*,CKTcircuit*);
extern int MOS3load(GENmodel*,CKTcircuit*); extern int MOS3load(GENmodel*,CKTcircuit*);
extern int MOS3mAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int MOS3mAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int MOS3mDelete(GENmodel**,IFuid,GENmodel*); extern int MOS3mDelete(GENmodel*);
extern int MOS3mParam(int,IFvalue*,GENmodel*); extern int MOS3mParam(int,IFvalue*,GENmodel*);
extern int MOS3param(int,IFvalue*,GENinstance*,IFvalue*); extern int MOS3param(int,IFvalue*,GENinstance*,IFvalue*);
extern int MOS3pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MOS3pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
MOS3mDelete(GENmodel **models, IFuid modname, GENmodel *kill) MOS3mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,7 +10,7 @@ extern void MOS6destroy(GENmodel**);
extern int MOS6getic(GENmodel*,CKTcircuit*); extern int MOS6getic(GENmodel*,CKTcircuit*);
extern int MOS6load(GENmodel*,CKTcircuit*); extern int MOS6load(GENmodel*,CKTcircuit*);
extern int MOS6mAsk(CKTcircuit *,GENmodel *,int,IFvalue*); extern int MOS6mAsk(CKTcircuit *,GENmodel *,int,IFvalue*);
extern int MOS6mDelete(GENmodel**,IFuid,GENmodel*); extern int MOS6mDelete(GENmodel*);
extern int MOS6mParam(int,IFvalue*,GENmodel*); extern int MOS6mParam(int,IFvalue*,GENmodel*);
extern int MOS6param(int,IFvalue*,GENinstance*,IFvalue*); extern int MOS6param(int,IFvalue*,GENinstance*,IFvalue*);
extern int MOS6pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MOS6pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
int int
MOS6mDelete(GENmodel **models, IFuid modname, GENmodel *kill) MOS6mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern void MOS9destroy(GENmodel**);
extern int MOS9getic(GENmodel*,CKTcircuit*); extern int MOS9getic(GENmodel*,CKTcircuit*);
extern int MOS9load(GENmodel*,CKTcircuit*); extern int MOS9load(GENmodel*,CKTcircuit*);
extern int MOS9mAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int MOS9mAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int MOS9mDelete(GENmodel**,IFuid,GENmodel*); extern int MOS9mDelete(GENmodel*);
extern int MOS9mParam(int,IFvalue*,GENmodel*); extern int MOS9mParam(int,IFvalue*,GENmodel*);
extern int MOS9param(int,IFvalue*,GENinstance*,IFvalue*); extern int MOS9param(int,IFvalue*,GENinstance*,IFvalue*);
extern int MOS9pzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int MOS9pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -11,27 +11,8 @@ Modified: Alan Gillespie
int int
MOS9mDelete(GENmodel **models, IFuid modname, GENmodel *kill) MOS9mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -12,7 +12,7 @@ extern int NBJTdelete(GENinstance *);
extern void NBJTdestroy(GENmodel **); extern void NBJTdestroy(GENmodel **);
extern int NBJTgetic(GENmodel *, CKTcircuit *); extern int NBJTgetic(GENmodel *, CKTcircuit *);
extern int NBJTload(GENmodel *, CKTcircuit *); extern int NBJTload(GENmodel *, CKTcircuit *);
extern int NBJTmDelete(GENmodel **, IFuid, GENmodel *); extern int NBJTmDelete(GENmodel *);
extern int NBJTmParam(int, IFvalue *, GENmodel *); extern int NBJTmParam(int, IFvalue *, GENmodel *);
extern int NBJTparam(int, IFvalue *, GENinstance *, IFvalue *); extern int NBJTparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int NBJTpzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NBJTpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NBJTmDelete(GENmodel **models, IFuid modname, GENmodel *kill) NBJTmDelete(GENmodel *model)
{ {
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
if (model->GENinstances)
return E_NOTEMPTY;
*prev = model->GENnextModel;
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern int NBJT2delete(GENinstance *);
extern void NBJT2destroy(GENmodel **); extern void NBJT2destroy(GENmodel **);
extern int NBJT2getic(GENmodel *, CKTcircuit *); extern int NBJT2getic(GENmodel *, CKTcircuit *);
extern int NBJT2load(GENmodel *, CKTcircuit *); extern int NBJT2load(GENmodel *, CKTcircuit *);
extern int NBJT2mDelete(GENmodel **, IFuid, GENmodel *); extern int NBJT2mDelete(GENmodel *);
extern int NBJT2mParam(int, IFvalue *, GENmodel *); extern int NBJT2mParam(int, IFvalue *, GENmodel *);
extern int NBJT2param(int, IFvalue *, GENinstance *, IFvalue *); extern int NBJT2param(int, IFvalue *, GENinstance *, IFvalue *);
extern int NBJT2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NBJT2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NBJT2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) NBJT2mDelete(GENmodel *model)
{ {
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
if (model->GENinstances)
return E_NOTEMPTY;
*prev = model->GENnextModel;
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -15,7 +15,7 @@ extern int NDEVgetic(GENmodel *, CKTcircuit *);
extern int NDEVload(GENmodel *, CKTcircuit *); extern int NDEVload(GENmodel *, CKTcircuit *);
extern int NDEVaccept(CKTcircuit *, GENmodel *); extern int NDEVaccept(CKTcircuit *, GENmodel *);
extern int NDEVconvTest(GENmodel *, CKTcircuit *); extern int NDEVconvTest(GENmodel *, CKTcircuit *);
extern int NDEVmDelete(GENmodel **, IFuid, GENmodel *); extern int NDEVmDelete(GENmodel *);
extern int NDEVmParam(int, IFvalue *, GENmodel *); extern int NDEVmParam(int, IFvalue *, GENmodel *);
extern int NDEVparam(int, IFvalue *, GENinstance *, IFvalue *); extern int NDEVparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int NDEVpzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NDEVpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -10,11 +10,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NDEVmDelete(GENmodel **models, IFuid modname, GENmodel *kill) NDEVmDelete(GENmodel *model)
{ {
NG_IGNORE(models); NG_IGNORE(model);
NG_IGNORE(modname);
NG_IGNORE(kill);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern int NUMDdelete(GENinstance *);
extern void NUMDdestroy(GENmodel **); extern void NUMDdestroy(GENmodel **);
extern int NUMDgetic(GENmodel *, CKTcircuit *); extern int NUMDgetic(GENmodel *, CKTcircuit *);
extern int NUMDload(GENmodel *, CKTcircuit *); extern int NUMDload(GENmodel *, CKTcircuit *);
extern int NUMDmDelete(GENmodel **, IFuid, GENmodel *); extern int NUMDmDelete(GENmodel *);
extern int NUMDmParam(int, IFvalue *, GENmodel *); extern int NUMDmParam(int, IFvalue *, GENmodel *);
extern int NUMDparam(int, IFvalue *, GENinstance *, IFvalue *); extern int NUMDparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int NUMDpzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NUMDpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -10,27 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMDmDelete(GENmodel **models, IFuid modname, GENmodel *kill) NUMDmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -10,27 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMD2mDelete(GENmodel **models, IFuid modname, GENmodel *kill) NUMD2mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern int NUMD2delete(GENinstance *);
extern void NUMD2destroy(GENmodel **); extern void NUMD2destroy(GENmodel **);
extern int NUMD2getic(GENmodel *, CKTcircuit *); extern int NUMD2getic(GENmodel *, CKTcircuit *);
extern int NUMD2load(GENmodel *, CKTcircuit *); extern int NUMD2load(GENmodel *, CKTcircuit *);
extern int NUMD2mDelete(GENmodel **, IFuid, GENmodel *); extern int NUMD2mDelete(GENmodel *);
extern int NUMD2mParam(int, IFvalue *, GENmodel *); extern int NUMD2mParam(int, IFvalue *, GENmodel *);
extern int NUMD2param(int, IFvalue *, GENinstance *, IFvalue *); extern int NUMD2param(int, IFvalue *, GENinstance *, IFvalue *);
extern int NUMD2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NUMD2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
int int
NUMOSmDelete(GENmodel **models, IFuid modname, GENmodel *kill) NUMOSmDelete(GENmodel *model)
{ {
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
if (model->GENinstances)
return E_NOTEMPTY;
*prev = model->GENnextModel;
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -13,7 +13,7 @@ extern int NUMOSdelete(GENinstance *);
extern void NUMOSdestroy(GENmodel **); extern void NUMOSdestroy(GENmodel **);
extern int NUMOSgetic(GENmodel *, CKTcircuit *); extern int NUMOSgetic(GENmodel *, CKTcircuit *);
extern int NUMOSload(GENmodel *, CKTcircuit *); extern int NUMOSload(GENmodel *, CKTcircuit *);
extern int NUMOSmDelete(GENmodel **, IFuid, GENmodel *); extern int NUMOSmDelete(GENmodel *);
extern int NUMOSmParam(int, IFvalue *, GENmodel *); extern int NUMOSmParam(int, IFvalue *, GENmodel *);
extern int NUMOSparam(int, IFvalue *, GENinstance *, IFvalue *); extern int NUMOSparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int NUMOSpzLoad(GENmodel *, CKTcircuit *, SPcomplex *); extern int NUMOSpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);

View File

@ -9,7 +9,7 @@ extern void RESdestroy(GENmodel**);
extern int RESload(GENmodel*,CKTcircuit*); extern int RESload(GENmodel*,CKTcircuit*);
extern int RESacload(GENmodel*,CKTcircuit*); extern int RESacload(GENmodel*,CKTcircuit*);
extern int RESmodAsk(CKTcircuit*,GENmodel*,int,IFvalue*); extern int RESmodAsk(CKTcircuit*,GENmodel*,int,IFvalue*);
extern int RESmDelete(GENmodel**,IFuid,GENmodel*); extern int RESmDelete(GENmodel*);
extern int RESmParam(int,IFvalue*,GENmodel*); extern int RESmParam(int,IFvalue*,GENmodel*);
extern int RESparam(int,IFvalue*,GENinstance*,IFvalue*); extern int RESparam(int,IFvalue*,GENinstance*,IFvalue*);
extern int RESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern int RESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);

View File

@ -10,27 +10,8 @@ Modified: Apr 2000 - Paolo Nenzi
int int
RESmDelete(GENmodel **models, IFuid modname, GENmodel *kill) RESmDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

View File

@ -28,7 +28,7 @@ extern void SOI3destroy(GENmodel**);
extern int SOI3getic(GENmodel*,CKTcircuit*); extern int SOI3getic(GENmodel*,CKTcircuit*);
extern int SOI3load(GENmodel*,CKTcircuit*); extern int SOI3load(GENmodel*,CKTcircuit*);
extern int SOI3mAsk(CKTcircuit *,GENmodel *,int,IFvalue*); extern int SOI3mAsk(CKTcircuit *,GENmodel *,int,IFvalue*);
extern int SOI3mDelete(GENmodel**,IFuid,GENmodel*); extern int SOI3mDelete(GENmodel*);
extern int SOI3mParam(int,IFvalue*,GENmodel*); extern int SOI3mParam(int,IFvalue*,GENmodel*);
extern void SOI3cap(double,double,double, extern void SOI3cap(double,double,double,
double*,double*,double*,double*, double*,double*,double*,double*,

View File

@ -27,27 +27,8 @@ Acknowledgements : Rupert Howes and Pete Mole.
int int
SOI3mDelete(GENmodel **models, IFuid modname, GENmodel *kill) SOI3mDelete(GENmodel *model)
{ {
GENinstance *here;
GENmodel **prev = models;
GENmodel *model = *prev;
for (; model; model = model->GENnextModel) {
if (model->GENmodName == modname || (kill && model == kill))
break;
prev = &(model->GENnextModel);
}
if (!model)
return E_NOMOD;
*prev = model->GENnextModel;
for (here = model->GENinstances; here;) {
GENinstance *next_instance = here->GENnextInstance;
GENinstanceFree(here);
here = next_instance;
}
GENmodelFree(model); GENmodelFree(model);
return OK; return OK;
} }

Some files were not shown because too many files have changed in this diff Show More