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 */
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*);

View File

@ -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 *));

View File

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

View File

@ -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*);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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,

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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,

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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;
}

View File

@ -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 *);

View File

@ -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*);

View File

@ -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;
}

View File

@ -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*,

View File

@ -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