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:
parent
174b424d13
commit
f25b7e2f08
|
|
@ -71,8 +71,8 @@ typedef struct SPICEdev {
|
|||
/* subroutine to call on acceptance of a timepoint */
|
||||
void (*DEVdestroy)(GENmodel**);
|
||||
/* subroutine to destroy all models and instances */
|
||||
int (*DEVmodDelete)(GENmodel**,IFuid,GENmodel*);
|
||||
/* subroutine to delete a model and all instances */
|
||||
int (*DEVmodDelete)(GENmodel*);
|
||||
/* subroutine to delete a model */
|
||||
int (*DEVdelete)(GENinstance*);
|
||||
/* subroutine to delete an instance */
|
||||
int (*DEVsetic)(GENmodel*,CKTcircuit*);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ struct coreInfo_t {
|
|||
int ((*dllitf_MIFtrunc)(GENmodel *, CKTcircuit *, double *));
|
||||
int ((*dllitf_MIFconvTest)(GENmodel *, CKTcircuit *));
|
||||
int ((*dllitf_MIFdelete)(GENinstance *));
|
||||
int ((*dllitf_MIFmDelete)(GENmodel **, IFuid, GENmodel *));
|
||||
int ((*dllitf_MIFmDelete)(GENmodel *));
|
||||
void ((*dllitf_MIFdestroy)(GENmodel **));
|
||||
char * ((*dllitf_MIFgettok)(char **));
|
||||
char * ((*dllitf_MIFget_token)(char **, Mif_Token_Type_t *));
|
||||
|
|
|
|||
|
|
@ -129,8 +129,6 @@ extern int MIFdelete(
|
|||
);
|
||||
|
||||
extern int MIFmDelete(
|
||||
GENmodel **inModel,
|
||||
IFuid modname,
|
||||
GENmodel *model
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ extern int $(module)acLoad(GENmodel *,CKTcircuit*);
|
|||
extern int $(module)convTest(GENmodel *,CKTcircuit*);
|
||||
extern int $(module)delete(GENinstance*);
|
||||
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)pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
extern int $(module)trunc(GENmodel*,CKTcircuit*,double*);
|
||||
|
|
|
|||
|
|
@ -46,27 +46,8 @@
|
|||
#include "ngspice/suffix.h"
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extern int ASRCdelete(GENinstance *);
|
|||
extern void ASRCdestroy(GENmodel **);
|
||||
extern int ASRCfindBr(CKTcircuit *, GENmodel *, IFuid);
|
||||
extern int ASRCload(GENmodel *, CKTcircuit *);
|
||||
extern int ASRCmDelete(GENmodel **, IFuid, GENmodel *);
|
||||
extern int ASRCmDelete(GENmodel *);
|
||||
extern int ASRCparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int ASRCpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
extern int ASRCacLoad(GENmodel *, CKTcircuit *);
|
||||
|
|
|
|||
|
|
@ -10,30 +10,8 @@ Author: 1987 Kanwar Jit Singh
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ extern void BJTdestroy(GENmodel**);
|
|||
extern int BJTgetic(GENmodel*,CKTcircuit*);
|
||||
extern int BJTload(GENmodel*,CKTcircuit*);
|
||||
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 BJTparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int BJTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -16,23 +16,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void B1destroy(GENmodel**);
|
|||
extern int B1getic(GENmodel*,CKTcircuit*);
|
||||
extern int B1load(GENmodel*,CKTcircuit*);
|
||||
extern int B1mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B1mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B1mDelete(GENmodel*);
|
||||
extern int B1mParam(int,IFvalue*,GENmodel*);
|
||||
extern void B1mosCap(CKTcircuit*, double, double, double, double*,
|
||||
double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Hong J. Park, Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extern void B2destroy(GENmodel**);
|
|||
extern int B2getic(GENmodel*,CKTcircuit*);
|
||||
extern int B2load(GENmodel*,CKTcircuit*);
|
||||
extern int B2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B2mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B2mDelete(GENmodel*);
|
||||
extern int B2mParam(int,IFvalue*,GENmodel*);
|
||||
extern void B2mosCap(CKTcircuit*, double, double, double, double*,
|
||||
double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -15,27 +15,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void BSIM3destroy(GENmodel**);
|
|||
extern int BSIM3getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM3mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM3mDelete(GENmodel*);
|
||||
extern int BSIM3mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM3mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void B3SOIDDdestroy(GENmodel**);
|
|||
extern int B3SOIDDgetic(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIDDload(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIDDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B3SOIDDmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B3SOIDDmDelete(GENmodel*);
|
||||
extern int B3SOIDDmParam(int,IFvalue*,GENmodel*);
|
||||
extern void B3SOIDDmosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -18,27 +18,8 @@ Modified by Paolo Nenzi 2002
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void B3SOIFDdestroy(GENmodel**);
|
|||
extern int B3SOIFDgetic(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIFDload(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIFDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B3SOIFDmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B3SOIFDmDelete(GENmodel*);
|
||||
extern int B3SOIFDmParam(int,IFvalue*,GENmodel*);
|
||||
extern void B3SOIFDmosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -17,27 +17,8 @@ File: b3soifdmdel.c 98/5/01
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void B3SOIPDdestroy(GENmodel**);
|
|||
extern int B3SOIPDgetic(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIPDload(GENmodel*,CKTcircuit*);
|
||||
extern int B3SOIPDmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B3SOIPDmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B3SOIPDmDelete(GENmodel*);
|
||||
extern int B3SOIPDmParam(int,IFvalue*,GENmodel*);
|
||||
extern void B3SOIPDmosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -17,27 +17,8 @@ Modified by Paolo Nenzi 2002
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,27 +11,8 @@ File: b3v0mdel.c
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern void BSIM3v0destroy(GENmodel**);
|
|||
extern int BSIM3v0getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3v0load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3v0mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM3v0mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM3v0mDelete(GENmodel*);
|
||||
extern int BSIM3v0mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM3v0mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -17,27 +17,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void BSIM3v1destroy(GENmodel **);
|
|||
extern int BSIM3v1getic(GENmodel *, CKTcircuit *);
|
||||
extern int BSIM3v1load(GENmodel *, CKTcircuit *);
|
||||
extern int BSIM3v1mAsk(CKTcircuit *, GENmodel *, int, IFvalue *);
|
||||
extern int BSIM3v1mDelete(GENmodel **, IFuid, GENmodel *);
|
||||
extern int BSIM3v1mDelete(GENmodel *);
|
||||
extern int BSIM3v1mParam(int, IFvalue *, GENmodel *);
|
||||
extern void BSIM3v1mosCap(CKTcircuit *, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -16,27 +16,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ extern void BSIM3v32destroy(GENmodel**);
|
|||
extern int BSIM3v32getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3v32load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM3v32mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM3v32mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM3v32mDelete(GENmodel*);
|
||||
extern int BSIM3v32mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM3v32mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -65,27 +65,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ extern void BSIM4destroy(GENmodel**);
|
|||
extern int BSIM4getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM4mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM4mDelete(GENmodel*);
|
||||
extern int BSIM4mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM4mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -15,27 +15,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void BSIM4v5destroy(GENmodel**);
|
|||
extern int BSIM4v5getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v5load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v5mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM4v5mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM4v5mDelete(GENmodel*);
|
||||
extern int BSIM4v5mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM4v5mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -17,27 +17,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void BSIM4v6destroy(GENmodel**);
|
|||
extern int BSIM4v6getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v6load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v6mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM4v6mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM4v6mDelete(GENmodel*);
|
||||
extern int BSIM4v6mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM4v6mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -17,27 +17,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void BSIM4v7destroy(GENmodel**);
|
|||
extern int BSIM4v7getic(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v7load(GENmodel*,CKTcircuit*);
|
||||
extern int BSIM4v7mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int BSIM4v7mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int BSIM4v7mDelete(GENmodel*);
|
||||
extern int BSIM4v7mParam(int,IFvalue*,GENmodel*);
|
||||
extern void BSIM4v7mosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ extern void B4SOIdestroy(GENmodel**);
|
|||
extern int B4SOIgetic(GENmodel*,CKTcircuit*);
|
||||
extern int B4SOIload(GENmodel*,CKTcircuit*);
|
||||
extern int B4SOImAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int B4SOImDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int B4SOImDelete(GENmodel*);
|
||||
extern int B4SOImParam(int,IFvalue*,GENmodel*);
|
||||
extern void B4SOImosCap(CKTcircuit*, double, double, double, double,
|
||||
double, double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -21,27 +21,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern void CAPdestroy(GENmodel**);
|
|||
extern int CAPgetic(GENmodel*,CKTcircuit*);
|
||||
extern int CAPload(GENmodel*,CKTcircuit*);
|
||||
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 CAPparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int CAPpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -11,27 +11,8 @@ Modified: Spetember 2003 Paolo Nenzi
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ extern int CCCSask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
|
|||
extern int CCCSdelete(GENinstance*);
|
||||
extern void CCCSdestroy(GENmodel**);
|
||||
extern int CCCSload(GENmodel*,CKTcircuit*);
|
||||
extern int CCCSmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int CCCSmDelete(GENmodel*);
|
||||
extern int CCCSparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int CCCSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
extern int CCCSsAcLoad(GENmodel*,CKTcircuit*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ extern int CCVSdelete(GENinstance*);
|
|||
extern void CCVSdestroy(GENmodel**);
|
||||
extern int CCVSfindBr(CKTcircuit*,GENmodel*,IFuid);
|
||||
extern int CCVSload(GENmodel*,CKTcircuit*);
|
||||
extern int CCVSmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int CCVSmDelete(GENmodel*);
|
||||
extern int CCVSparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int CCVSpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
extern int CCVSsAcLoad(GENmodel*,CKTcircuit*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extern int CPLdelete(GENinstance*);
|
|||
extern void CPLdestroy(GENmodel**);
|
||||
extern int CPLload(GENmodel*, CKTcircuit*);
|
||||
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 CPLparam(int,IFvalue*, GENinstance*, IFvalue*);
|
||||
extern int CPLsetup(SMPmatrix*, GENmodel*, CKTcircuit*, int*);
|
||||
|
|
|
|||
|
|
@ -12,27 +12,8 @@ Author: 1992 Charles Hough
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern int CSWdelete(GENinstance*);
|
|||
extern void CSWdestroy(GENmodel**);
|
||||
extern int CSWload(GENmodel*,CKTcircuit*);
|
||||
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 CSWparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int CSWpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Gordon Jacobs
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern void DIOdestroy(GENmodel**);
|
|||
extern int DIOgetic(GENmodel*,CKTcircuit*);
|
||||
extern int DIOload(GENmodel*,CKTcircuit*);
|
||||
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 DIOparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int DIOpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern void HFETAdestroy(GENmodel**);
|
|||
extern int HFETAgetic(GENmodel*,CKTcircuit*);
|
||||
extern int HFETAload(GENmodel*,CKTcircuit*);
|
||||
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 HFETAparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int HFETApzLoad(GENmodel*, CKTcircuit*, SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -14,27 +14,8 @@ Author: 1985 S. Hwang
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern void HFET2destroy(GENmodel**);
|
|||
extern int HFET2getic(GENmodel*,CKTcircuit*);
|
||||
extern int HFET2load(GENmodel*,CKTcircuit*);
|
||||
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 HFET2param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int HFET2pzLoad(GENmodel*, CKTcircuit*, SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -14,27 +14,8 @@ Author: 1985 S. Hwang
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ extern void HSM2destroy(GENmodel**);
|
|||
extern int HSM2getic(GENmodel*,CKTcircuit*);
|
||||
extern int HSM2load(GENmodel*,CKTcircuit*);
|
||||
extern int HSM2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int HSM2mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int HSM2mDelete(GENmodel*);
|
||||
extern int HSM2mParam(int,IFvalue*,GENmodel*);
|
||||
extern void HSM2mosCap(CKTcircuit*, double, double, double, double*,
|
||||
double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -61,27 +61,8 @@ to others."
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ extern void HSMHVdestroy(GENmodel**);
|
|||
extern int HSMHVgetic(GENmodel*,CKTcircuit*);
|
||||
extern int HSMHVload(GENmodel*,CKTcircuit*);
|
||||
extern int HSMHVmAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int HSMHVmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int HSMHVmDelete(GENmodel*);
|
||||
extern int HSMHVmParam(int,IFvalue*,GENmodel*);
|
||||
extern void HSMHVmosCap(CKTcircuit*, double, double, double, double*,
|
||||
double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -22,27 +22,8 @@
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ extern void HSMHV2destroy(GENmodel**);
|
|||
extern int HSMHV2getic(GENmodel*,CKTcircuit*);
|
||||
extern int HSMHV2load(GENmodel*,CKTcircuit*);
|
||||
extern int HSMHV2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
|
||||
extern int HSMHV2mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int HSMHV2mDelete(GENmodel*);
|
||||
extern int HSMHV2mParam(int,IFvalue*,GENmodel*);
|
||||
extern void HSMHV2mosCap(CKTcircuit*, double, double, double, double*,
|
||||
double, double, double, double, double, double,
|
||||
|
|
|
|||
|
|
@ -64,27 +64,8 @@ June 2008 (revised October 2011)
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extern int INDmAsk(CKTcircuit*, GENmodel*, int, IFvalue*);
|
|||
extern int INDdelete(GENinstance*);
|
||||
extern void INDdestroy(GENmodel**);
|
||||
extern int INDload(GENmodel*,CKTcircuit*);
|
||||
extern int INDmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int INDmDelete(GENmodel*);
|
||||
extern int INDmParam(int, IFvalue*, GENmodel*);
|
||||
extern int INDparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
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 MUTdelete(GENinstance*);
|
||||
extern void MUTdestroy(GENmodel**);
|
||||
extern int MUTmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int MUTmDelete(GENmodel*);
|
||||
extern int MUTparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MUTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
extern void MUTsPrint(GENmodel*,CKTcircuit*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,27 +11,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
#ifdef MUTUAL
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extern int ISRCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
|
|||
extern int ISRCdelete(GENinstance*);
|
||||
extern void ISRCdestroy(GENmodel**);
|
||||
extern int ISRCload(GENmodel*,CKTcircuit*);
|
||||
extern int ISRCmDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int ISRCmDelete(GENmodel*);
|
||||
extern int ISRCparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int ISRCpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
extern int ISRCtemp(GENmodel*,CKTcircuit*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extern void JFETdestroy(GENmodel**);
|
|||
extern int JFETgetic(GENmodel*,CKTcircuit*);
|
||||
extern int JFETload(GENmodel*,CKTcircuit*);
|
||||
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 JFETparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int JFETpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ extern void JFET2destroy(GENmodel**);
|
|||
extern int JFET2getic(GENmodel*,CKTcircuit*);
|
||||
extern int JFET2load(GENmodel*,CKTcircuit*);
|
||||
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 JFET2param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int JFET2setup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
|
||||
|
|
|
|||
|
|
@ -14,27 +14,8 @@ Modified to jfet2 for PS model definition ( Anthony E. Parker )
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern int LTRAdelete(GENinstance*);
|
|||
extern void LTRAdestroy(GENmodel**);
|
||||
extern int LTRAload(GENmodel*,CKTcircuit*);
|
||||
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 LTRAmParam(int,IFvalue*,GENmodel*);
|
||||
extern int LTRAsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1990 Jaijeet S. Roychowdhury
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extern void MESdestroy(GENmodel**);
|
|||
extern int MESgetic(GENmodel*,CKTcircuit*);
|
||||
extern int MESload(GENmodel*,CKTcircuit*);
|
||||
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 MESparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 S. Hwang
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern void MESAdestroy(GENmodel**);
|
|||
extern int MESAgetic(GENmodel*,CKTcircuit*);
|
||||
extern int MESAload(GENmodel*,CKTcircuit*);
|
||||
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 MESAparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MESApzLoad(GENmodel*,CKTcircuit*, SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -14,27 +14,8 @@ Author: 1985 S. Hwang
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extern void MOS1destroy(GENmodel**);
|
|||
extern int MOS1getic(GENmodel*,CKTcircuit*);
|
||||
extern int MOS1load(GENmodel*,CKTcircuit*);
|
||||
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 MOS1param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MOS1pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern int MOS2delete(GENinstance*);
|
|||
extern void MOS2destroy(GENmodel**);
|
||||
extern int MOS2getic(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 MOS2param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MOS2pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern void MOS3destroy(GENmodel**);
|
|||
extern int MOS3getic(GENmodel*,CKTcircuit*);
|
||||
extern int MOS3load(GENmodel*,CKTcircuit*);
|
||||
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 MOS3param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MOS3pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ extern void MOS6destroy(GENmodel**);
|
|||
extern int MOS6getic(GENmodel*,CKTcircuit*);
|
||||
extern int MOS6load(GENmodel*,CKTcircuit*);
|
||||
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 MOS6param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MOS6pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1985 Thomas L. Quarles
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern void MOS9destroy(GENmodel**);
|
|||
extern int MOS9getic(GENmodel*,CKTcircuit*);
|
||||
extern int MOS9load(GENmodel*,CKTcircuit*);
|
||||
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 MOS9param(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int MOS9pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -11,27 +11,8 @@ Modified: Alan Gillespie
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern int NBJTdelete(GENinstance *);
|
|||
extern void NBJTdestroy(GENmodel **);
|
||||
extern int NBJTgetic(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 NBJTparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NBJTpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern int NBJT2delete(GENinstance *);
|
|||
extern void NBJT2destroy(GENmodel **);
|
||||
extern int NBJT2getic(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 NBJT2param(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NBJT2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ extern int NDEVgetic(GENmodel *, CKTcircuit *);
|
|||
extern int NDEVload(GENmodel *, CKTcircuit *);
|
||||
extern int NDEVaccept(CKTcircuit *, GENmodel *);
|
||||
extern int NDEVconvTest(GENmodel *, CKTcircuit *);
|
||||
extern int NDEVmDelete(GENmodel **, IFuid, GENmodel *);
|
||||
extern int NDEVmDelete(GENmodel *);
|
||||
extern int NDEVmParam(int, IFvalue *, GENmodel *);
|
||||
extern int NDEVparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NDEVpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -10,11 +10,9 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
int
|
||||
NDEVmDelete(GENmodel **models, IFuid modname, GENmodel *kill)
|
||||
NDEVmDelete(GENmodel *model)
|
||||
{
|
||||
NG_IGNORE(models);
|
||||
NG_IGNORE(modname);
|
||||
NG_IGNORE(kill);
|
||||
NG_IGNORE(model);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern int NUMDdelete(GENinstance *);
|
|||
extern void NUMDdestroy(GENmodel **);
|
||||
extern int NUMDgetic(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 NUMDparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NUMDpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern int NUMD2delete(GENinstance *);
|
|||
extern void NUMD2destroy(GENmodel **);
|
||||
extern int NUMD2getic(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 NUMD2param(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NUMD2pzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -15,23 +15,8 @@ Author: 1987 Kartikeya Mayaram, U. C. Berkeley CAD Group
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern int NUMOSdelete(GENinstance *);
|
|||
extern void NUMOSdestroy(GENmodel **);
|
||||
extern int NUMOSgetic(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 NUMOSparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||
extern int NUMOSpzLoad(GENmodel *, CKTcircuit *, SPcomplex *);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extern void RESdestroy(GENmodel**);
|
|||
extern int RESload(GENmodel*,CKTcircuit*);
|
||||
extern int RESacload(GENmodel*,CKTcircuit*);
|
||||
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 RESparam(int,IFvalue*,GENinstance*,IFvalue*);
|
||||
extern int RESpzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
|
||||
|
|
|
|||
|
|
@ -10,27 +10,8 @@ Modified: Apr 2000 - Paolo Nenzi
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ extern void SOI3destroy(GENmodel**);
|
|||
extern int SOI3getic(GENmodel*,CKTcircuit*);
|
||||
extern int SOI3load(GENmodel*,CKTcircuit*);
|
||||
extern int SOI3mAsk(CKTcircuit *,GENmodel *,int,IFvalue*);
|
||||
extern int SOI3mDelete(GENmodel**,IFuid,GENmodel*);
|
||||
extern int SOI3mDelete(GENmodel*);
|
||||
extern int SOI3mParam(int,IFvalue*,GENmodel*);
|
||||
extern void SOI3cap(double,double,double,
|
||||
double*,double*,double*,double*,
|
||||
|
|
|
|||
|
|
@ -27,27 +27,8 @@ Acknowledgements : Rupert Howes and Pete Mole.
|
|||
|
||||
|
||||
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);
|
||||
return OK;
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue