From b92b25950e1575ef711739f2d0ece991fd51d654 Mon Sep 17 00:00:00 2001 From: rlar Date: Fri, 29 Jul 2016 18:37:46 +0200 Subject: [PATCH] devices/asrc, rewrite asrc_vals, asrc_derivs allocation --- src/spicelib/devices/asrc/asrcconv.c | 8 ++------ src/spicelib/devices/asrc/asrcload.c | 13 +++++-------- src/spicelib/devices/asrc/asrcpzld.c | 8 ++------ 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/spicelib/devices/asrc/asrcconv.c b/src/spicelib/devices/asrc/asrcconv.c index 05d0ace5a..1ec374271 100644 --- a/src/spicelib/devices/asrc/asrcconv.c +++ b/src/spicelib/devices/asrc/asrcconv.c @@ -26,13 +26,9 @@ ASRCconvTest(GENmodel *inModel, CKTcircuit *ckt) i = here->ASRCtree->numVars; if (asrc_nvals < i) { - if (asrc_nvals) { - FREE(asrc_vals); - FREE(asrc_derivs); - } asrc_nvals = i; - asrc_vals = TMALLOC(double, i); - asrc_derivs = TMALLOC(double, i); + asrc_vals = TREALLOC(double, asrc_vals, i); + asrc_derivs = TREALLOC(double, asrc_derivs, i); } for (i = 0; i < here->ASRCtree->numVars; i++) diff --git a/src/spicelib/devices/asrc/asrcload.c b/src/spicelib/devices/asrc/asrcload.c index e67f57cc4..e7d9775d2 100644 --- a/src/spicelib/devices/asrc/asrcload.c +++ b/src/spicelib/devices/asrc/asrcload.c @@ -10,8 +10,9 @@ Author: 1987 Kanwar Jit Singh #include "ngspice/suffix.h" -double *asrc_vals, *asrc_derivs; -int asrc_nvals; +int asrc_nvals = 0; +double *asrc_vals = NULL; +double *asrc_derivs = NULL; /* actually load the current voltage value into the @@ -44,13 +45,9 @@ ASRCload(GENmodel *inModel, CKTcircuit *ckt) */ i = here->ASRCtree->numVars; if (asrc_nvals < i) { - if (asrc_nvals) { - FREE(asrc_vals); - FREE(asrc_derivs); - } asrc_nvals = i; - asrc_vals = TMALLOC(double, i); - asrc_derivs = TMALLOC(double, i); + asrc_vals = TREALLOC(double, asrc_vals, i); + asrc_derivs = TREALLOC(double, asrc_derivs, i); } j = 0; diff --git a/src/spicelib/devices/asrc/asrcpzld.c b/src/spicelib/devices/asrc/asrcpzld.c index 1093863da..af438115e 100644 --- a/src/spicelib/devices/asrc/asrcpzld.c +++ b/src/spicelib/devices/asrc/asrcpzld.c @@ -43,13 +43,9 @@ ASRCpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s) /* Get the function evaluated and the derivatives too */ i = here->ASRCtree->numVars; if (asrc_nvals < i) { - if (asrc_nvals) { - FREE(asrc_vals); - FREE(asrc_derivs); - } asrc_nvals = i; - asrc_vals = TMALLOC(double, i); - asrc_derivs = TMALLOC(double, i); + asrc_vals = TREALLOC(double, asrc_vals, i); + asrc_derivs = TREALLOC(double, asrc_derivs, i); } /* Fill the vector of values from the previous solution */