frontend/outitf.c, #1/4, abstraction, introduce `OUTpD_memory()'
This commit is contained in:
parent
df70661c3a
commit
6fa60faf7e
|
|
@ -466,6 +466,54 @@ addSpecialDesc(runDesc *run, char *name, char *devname, char *param, int depind)
|
|||
}
|
||||
|
||||
|
||||
static void
|
||||
OUTpD_memory(runDesc *run, IFvalue *refValue, IFvalue *valuePtr)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < run->numData; i++) {
|
||||
|
||||
#ifdef TCL_MODULE
|
||||
/*Locks the blt vector to stop access*/
|
||||
blt_lockvec(i);
|
||||
#endif
|
||||
|
||||
if (run->data[i].outIndex == -1) {
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i], refValue->rValue);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i], refValue->cValue);
|
||||
} else if (run->data[i].regular) {
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i],
|
||||
valuePtr->v.vec.rVec[run->data[i].outIndex]);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i],
|
||||
valuePtr->v.vec.cVec[run->data[i].outIndex]);
|
||||
} else {
|
||||
IFvalue val;
|
||||
|
||||
/* should pre-check instance */
|
||||
if (!getSpecial(&run->data[i], run, &val))
|
||||
continue;
|
||||
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i], val.rValue);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i], val.cValue);
|
||||
else
|
||||
fprintf(stderr, "OUTpData: unsupported data type\n");
|
||||
}
|
||||
|
||||
#ifdef TCL_MODULE
|
||||
/*relinks and unlocks vector*/
|
||||
blt_relink(i, (run->data[i]).vec);
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
OUTpData(runDesc *plotPtr, IFvalue *refValue, IFvalue *valuePtr)
|
||||
{
|
||||
|
|
@ -616,44 +664,7 @@ OUTpData(runDesc *plotPtr, IFvalue *refValue, IFvalue *valuePtr)
|
|||
}
|
||||
#endif
|
||||
|
||||
for (i = 0; i < run->numData; i++) {
|
||||
|
||||
#ifdef TCL_MODULE
|
||||
/*Locks the blt vector to stop access*/
|
||||
blt_lockvec(i);
|
||||
#endif
|
||||
|
||||
if (run->data[i].outIndex == -1) {
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i], refValue->rValue);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i], refValue->cValue);
|
||||
} else if (run->data[i].regular) {
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i],
|
||||
valuePtr->v.vec.rVec[run->data[i].outIndex]);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i],
|
||||
valuePtr->v.vec.cVec[run->data[i].outIndex]);
|
||||
} else {
|
||||
IFvalue val;
|
||||
/* should pre-check instance */
|
||||
if (!getSpecial(&run->data[i], run, &val))
|
||||
continue;
|
||||
if (run->data[i].type == IF_REAL)
|
||||
plotAddRealValue(&run->data[i], val.rValue);
|
||||
else if (run->data[i].type == IF_COMPLEX)
|
||||
plotAddComplexValue(&run->data[i], val.cValue);
|
||||
else
|
||||
fprintf(stderr, "OUTpData: unsupported data type\n");
|
||||
}
|
||||
|
||||
#ifdef TCL_MODULE
|
||||
/*relinks and unlocks vector*/
|
||||
blt_relink(i, (run->data[i]).vec);
|
||||
#endif
|
||||
|
||||
}
|
||||
OUTpD_memory(run, refValue, valuePtr);
|
||||
|
||||
gr_iplot(run->runPlot);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue