devices/**/*defs*.h, fix adms too

This commit is contained in:
rlar 2018-01-07 17:39:18 +01:00
parent 9b45dbbbba
commit dcd96634f7
9 changed files with 24 additions and 23 deletions

View File

@ -51,10 +51,10 @@ int $(module)acLoad(GENmodel *inModel, CKTcircuit *ckt)
{
register $(module)model *model = ($(module)model*)inModel;
register $(module)instance *here;
for ( ; model != NULL; model = model->$(module)nextModel )
for ( ; model != NULL; model = $(module)nextModel(model) )
{
/* loop through all the instances of the model */
for (here = model->$(module)instances; here != NULL ; here = here->$(module)nextInstance)
for (here = $(module)instances(model); here != NULL ; here = here->$(module)nextInstance)
{
<admst:for-each select="jacobian[static='yes']">
<admst:value-of select="column/name"/>

View File

@ -265,12 +265,12 @@ typedef struct s$(module)instance {
/* per model data */
typedef struct s$(module)model { /* model structure */
int $(module)modType; /* type index of this device type */
struct s$(module)model *$(module)nextModel; /* pointer to next possible model in linked list */
$(module)instance * $(module)instances; /* pointer to list of instances that have this model */
IFuid $(module)modName; /* pointer to the name of this model */
struct GENmodel gen;
/* --- end of generic struct GENmodel --- */
#define $(module)modType gen.GENmodType
#define $(module)nextModel(inst) ((struct $(module)model*)((inst)->gen.GENnextModel))
#define $(module)instances(inst) ((struct $(module)instance*)((inst)->gen.GENinstances))
#define $(module)modName gen.GENmodName
/* model parameters */
<admst:for-each select="variable[parametertype='model' and input='yes']">
@ -298,6 +298,7 @@ typedef struct s$(module)model { /* model structure */
} $(module)model;
<admst:text format=" /* flags */\n"/>
<admst:text format="typedef enum {\n"/>
<admst:for-each select="variable[parametertype='model' and input='yes']">

View File

@ -54,11 +54,11 @@ void $(module)destroy(GENmodel **inModel)
$(module)model *mod = *model;
$(module)model *oldmod = NULL;
for ( ; mod ; mod = mod->$(module)nextModel ) {
for ( ; mod ; mod = $(module)nextModel(mod) ) {
if (oldmod) FREE(oldmod);
oldmod = mod;
prev = ($(module)instance *)NULL;
for (here = mod->$(module)instances; here ; here = here->$(module)nextInstance) {
for (here = $(module)instances(mod); here ; here = here->$(module)nextInstance) {
if(prev) FREE(prev);
prev = here;
}

View File

@ -194,10 +194,10 @@ int $(module)load(GENmodel *inModel, CKTcircuit *ckt)
((ckt->CKTmode &amp; MODETRANOP) &amp;&amp; (ckt->CKTmode &amp; MODEUIC)))
? 1 : 0;
for ( ; model != NULL; model = model->$(module)nextModel )
for ( ; model != NULL; model = $(module)nextModel(model) )
{
/* loop through all the instances of the model */
for (here = model->$(module)instances; here != NULL ; here = here->$(module)nextInstance)
for (here = $(module)instances(model); here != NULL ; here = here->$(module)nextInstance)
{
{
<admst:for-each select="jacobian[static='yes']">

View File

@ -48,9 +48,9 @@ $(module)noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Nd
$(module)model *firstModel = ($(module)model *) genmodel;
$(module)model *model;
$(module)instance *inst;
for (model=firstModel; model != NULL; model=model-&gt;$(module)nextModel)
for (model=firstModel; model != NULL; model=$(module)nextModel(model))
{
for (inst=model-&gt;$(module)instances; inst != NULL; inst=inst->$(module)nextInstance)
for (inst=$(module)instances(model); inst != NULL; inst=inst->$(module)nextInstance)
{
switch (operation)
{

View File

@ -53,10 +53,10 @@ int $(module)pzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
register $(module)model *model = ($(module)model*)inModel;
register $(module)instance *here;
NG_IGNOREABLE(ckt);
for ( ; model != NULL; model = model->$(module)nextModel )
for ( ; model != NULL; model = $(module)nextModel(model) )
{
/* loop through all the instances of the model */
for (here = model->$(module)instances; here != NULL ; here = here->$(module)nextInstance)
for (here = $(module)instances(model); here != NULL ; here = here->$(module)nextInstance)
{
<admst:for-each select="jacobian[static='yes']">
<admst:value-of select="column/name"/>

View File

@ -59,7 +59,7 @@ int $(module)setup (SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *
register $(module)instance *here;
/* loop through all the $(module) device models */
for ( ;model != NULL ;model = model->$(module)nextModel )
for ( ;model != NULL ;model = $(module)nextModel(model) )
{
<admst:for-each select="variable[parametertype='model' and input='yes']">
<admst:if test="default[not(nilled(function[class='builtin']))]">
@ -79,7 +79,7 @@ int $(module)setup (SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *
<admst:text format="}\n"/>
</admst:if>
</admst:for-each>
for ( here = model->$(module)instances ;here != NULL ; here = here->$(module)nextInstance )
for ( here = $(module)instances(model) ;here != NULL ; here = here->$(module)nextInstance )
{
<admst:for-each select="variable[parametertype='instance' and input='yes']">
<admst:if test="default[not(nilled(function[class='builtin']))]">
@ -174,9 +174,9 @@ $(module)unsetup(GENmodel *inModel, CKTcircuit *ckt)
$(module)instance *here;
/* loop through all the $(module) device models */
for ( ;model != NULL ;model = model->$(module)nextModel )
for ( ;model != NULL ;model = $(module)nextModel(model) )
{
for ( here = model->$(module)instances ;here != NULL ; here = here->$(module)nextInstance )
for ( here = $(module)instances(model) ;here != NULL ; here = here->$(module)nextInstance )
{
<admst:for-each select="reverse(node[location='internal'])">
<admst:value-of select="name"/>

View File

@ -58,12 +58,12 @@ int $(module)temp(GENmodel *inModel, CKTcircuit *ckt)
register $(module)model *model = ($(module)model*)inModel;
register $(module)instance *here;
NG_IGNOREABLE(ckt);
for ( ; model != NULL; model = model->$(module)nextModel )
for ( ; model != NULL; model = $(module)nextModel(model) )
{
<admst:apply-templates select="analog" match="analog:initial_model" required="yes"/>
/* loop through all the instances of the model */
for (here = model->$(module)instances; here != NULL ; here = here->$(module)nextInstance)
for (here = $(module)instances(model); here != NULL ; here = here->$(module)nextInstance)
{
<admst:apply-templates select="analog" match="analog:initial_instance" required="yes"/>

View File

@ -56,10 +56,10 @@ int $(module)trunc(GENmodel *inModel, CKTcircuit *ckt, double *timeStep)
double debugtemp;
#endif /* STEPDEBUG */
for ( ; model != NULL; model = model->$(module)nextModel )
for ( ; model != NULL; model = $(module)nextModel(model) )
{
/* loop through all the instances of the model */
for (here = model->$(module)instances; here != NULL ; here = here->$(module)nextInstance)
for (here = $(module)instances(model); here != NULL ; here = here->$(module)nextInstance)
{
#ifdef STEPDEBUG
debugtemp = *timeStep;