diff --git a/src/spicelib/devices/ltra/ltraext.h b/src/spicelib/devices/ltra/ltraext.h index a16d3d241..cb8a6c35b 100644 --- a/src/spicelib/devices/ltra/ltraext.h +++ b/src/spicelib/devices/ltra/ltraext.h @@ -41,3 +41,6 @@ extern double LTRAh3dashCoeffSetup(double*,int,double,double,double,double*,int, extern void LTRArcCoeffsSetup(double*,double*,double*,double*,double*,double*,int,double,double,double,double*,int,double); extern void LTRArlcCoeffsSetup(double*,double*,double*,double*,double*,double*,int,double,double,double,double,double*,int,double,int*); extern int LTRAstraightLineCheck(double,double,double,double,double,double,double,double); + +extern int LTRAdevDelete(GENinstance*); +extern int LTRAmDelete(GENmodel*); diff --git a/src/spicelib/devices/ltra/ltrainit.c b/src/spicelib/devices/ltra/ltrainit.c index ff1441045..3c20ff383 100644 --- a/src/spicelib/devices/ltra/ltrainit.c +++ b/src/spicelib/devices/ltra/ltrainit.c @@ -43,8 +43,8 @@ SPICEdev LTRAinfo = { .DEVacLoad = LTRAacLoad, .DEVaccept = LTRAaccept, .DEVdestroy = NULL, - .DEVmodDelete = NULL, - .DEVdelete = NULL, + .DEVmodDelete = LTRAmDelete, + .DEVdelete = LTRAdevDelete, .DEVsetic = NULL, .DEVask = LTRAask, .DEVmodAsk = LTRAmAsk, diff --git a/src/spicelib/devices/ltra/ltraset.c b/src/spicelib/devices/ltra/ltraset.c index 947dde4fb..5eefdcaf1 100644 --- a/src/spicelib/devices/ltra/ltraset.c +++ b/src/spicelib/devices/ltra/ltraset.c @@ -240,3 +240,31 @@ LTRAunsetup(GENmodel *inModel, CKTcircuit *ckt) } return OK; } + +int +LTRAdevDelete(GENinstance* inst) +{ + LTRAinstance* here = (LTRAinstance*)inst; + if (here->LTRAv1) + tfree(here->LTRAv1); + if (here->LTRAi1) + tfree(here->LTRAi1); + if (here->LTRAv2) + tfree(here->LTRAv2); + if (here->LTRAi2) + tfree(here->LTRAi2); + return OK; +} + +int +LTRAmDelete(GENmodel* gen_model) +{ + LTRAmodel* model = (LTRAmodel*)gen_model; + if (model->LTRAh1dashCoeffs) + tfree(model->LTRAh1dashCoeffs); + if (model->LTRAh2Coeffs) + tfree(model->LTRAh2Coeffs); + if (model->LTRAh3dashCoeffs) + tfree(model->LTRAh3dashCoeffs); + return OK; +}