From 0b23419e0ff71d29588a5ee0a90cb2b84b4339c8 Mon Sep 17 00:00:00 2001 From: Francesco Lannutti Date: Mon, 30 Apr 2018 01:50:28 +0200 Subject: [PATCH] Move the INP2R changes to the more generic place 'CKTmodCrt' and 'CKTcrtElt' --- src/spicelib/analysis/cktmcrt.c | 5 +++++ src/spicelib/devices/cktcrte.c | 5 +++++ src/spicelib/parser/inp2r.c | 12 ------------ 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/spicelib/analysis/cktmcrt.c b/src/spicelib/analysis/cktmcrt.c index f8b6382c6..26b298a46 100644 --- a/src/spicelib/analysis/cktmcrt.c +++ b/src/spicelib/analysis/cktmcrt.c @@ -31,6 +31,11 @@ CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name) if (!model) return E_NOMEM; +#ifdef USE_CUSPICE + model->GENnInstances = 0 ; + model->GENinitCUDA = 0 ; +#endif + model->GENmodType = type; model->GENmodName = name; model->GENnextModel = ckt->CKThead[type]; diff --git a/src/spicelib/devices/cktcrte.c b/src/spicelib/devices/cktcrte.c index ef733ab8c..af9555033 100644 --- a/src/spicelib/devices/cktcrte.c +++ b/src/spicelib/devices/cktcrte.c @@ -56,6 +56,11 @@ CKTcrtElt(CKTcircuit *ckt, GENmodel *modPtr, GENinstance **inInstPtr, IFuid name DEVices[type]->DEVpublic.name, ckt->CKTstat->STATdevNum[type].instNum); #endif +#ifdef USE_CUSPICE + instPtr->GENcudaIndex = modPtr->GENnInstances ; + modPtr->GENnInstances++ ; +#endif + instPtr->GENname = name; instPtr->GENmodPtr = modPtr; diff --git a/src/spicelib/parser/inp2r.c b/src/spicelib/parser/inp2r.c index ceb4e43f6..1f5bf28b2 100644 --- a/src/spicelib/parser/inp2r.c +++ b/src/spicelib/parser/inp2r.c @@ -176,20 +176,8 @@ void INP2R(CKTcircuit *ckt, INPtables * tab, struct card *current) /* create default R model */ IFnewUid(ckt, &uid, NULL, "R", UID_MODEL, NULL); IFC(newModel, (ckt, type, &(tab->defRmod), uid)); - -#ifdef USE_CUSPICE - tab->defRmod->GENnInstances = 0 ; - tab->defRmod->GENinitCUDA = 0 ; -#endif - } IFC(newInstance, (ckt, tab->defRmod, &fast, name)); - -#ifdef USE_CUSPICE - fast->GENcudaIndex = tab->defRmod->GENnInstances ; - tab->defRmod->GENnInstances++ ; -#endif - if (error1 == 1) { /* was a r=val construction */ val = INPevaluate(&line, &error1, 1); /* [] */ #ifdef TRACE