Rollback of part of Niessner's patch.
This commit is contained in:
parent
bac65fea71
commit
0bfc3220bf
|
|
@ -21,21 +21,21 @@ int
|
|||
CKTmodCrt(void *ckt, int type, void **modfast, IFuid name)
|
||||
{
|
||||
extern SPICEdev **DEVices;
|
||||
GENmodel *mymodfast[1] = { NULL };
|
||||
GENmodel *mymodfast = NULL;
|
||||
int error;
|
||||
|
||||
error = CKTfndMod (ckt, &type, (void**)mymodfast, name);
|
||||
error = CKTfndMod(ckt,&type,(void**)&mymodfast,name);
|
||||
if(error == E_NOMOD) {
|
||||
mymodfast[0] = (GENmodel *)MALLOC(*(DEVices[type]->DEVmodSize));
|
||||
if(mymodfast[0] == (GENmodel *)NULL) return(E_NOMEM);
|
||||
mymodfast[0]->GENmodType = type;
|
||||
mymodfast[0]->GENmodName = name;
|
||||
mymodfast[0]->GENnextModel =(GENmodel *)((CKTcircuit *)ckt)->CKThead[type];
|
||||
((CKTcircuit *)ckt)->CKThead[type]=(GENmodel *)mymodfast[0];
|
||||
if(modfast) *modfast=(void *)mymodfast[0];
|
||||
mymodfast = (GENmodel *)MALLOC(*(DEVices[type]->DEVmodSize));
|
||||
if(mymodfast == (GENmodel *)NULL) return(E_NOMEM);
|
||||
mymodfast->GENmodType = type;
|
||||
mymodfast->GENmodName = name;
|
||||
mymodfast->GENnextModel =(GENmodel *)((CKTcircuit *)ckt)->CKThead[type];
|
||||
((CKTcircuit *)ckt)->CKThead[type]=(GENmodel *)mymodfast;
|
||||
if(modfast) *modfast=(void *)mymodfast;
|
||||
return(OK);
|
||||
} else if (error==0) {
|
||||
if(modfast) *modfast=(void *)mymodfast[0];
|
||||
if(modfast) *modfast=(void *)mymodfast;
|
||||
return(E_EXISTS);
|
||||
} else {
|
||||
return(error);
|
||||
|
|
|
|||
|
|
@ -24,16 +24,16 @@ CKTmkCur(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
|
|||
IFuid uid;
|
||||
int error;
|
||||
CKTnode *mynode;
|
||||
CKTnode *checknode[1];
|
||||
CKTnode *checknode;
|
||||
|
||||
error = CKTmkNode(ckt,&mynode);
|
||||
if(error) return(error);
|
||||
checknode[0] = mynode;
|
||||
checknode = mynode;
|
||||
error = (*(SPfrontEnd->IFnewUid))((void *)ckt,&uid,basename,
|
||||
suffix,UID_SIGNAL,(void**)checknode);
|
||||
suffix,UID_SIGNAL,(void**)&checknode);
|
||||
if(error) {
|
||||
FREE(mynode);
|
||||
if(node) *node = checknode[0];
|
||||
if(node) *node = checknode;
|
||||
return(error);
|
||||
}
|
||||
mynode->name = uid;
|
||||
|
|
|
|||
|
|
@ -22,16 +22,16 @@ CKTmkVolt(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
|
|||
IFuid uid;
|
||||
int error;
|
||||
CKTnode *mynode;
|
||||
CKTnode *checknode[1];
|
||||
CKTnode *checknode;
|
||||
|
||||
error = CKTmkNode(ckt,&mynode);
|
||||
if(error) return(error);
|
||||
checknode[0] = mynode;
|
||||
checknode = mynode;
|
||||
error = (*(SPfrontEnd->IFnewUid))((void *)ckt,&uid,basename,
|
||||
suffix,UID_SIGNAL,(void**)checknode);
|
||||
suffix,UID_SIGNAL,(void**)&checknode);
|
||||
if(error) {
|
||||
FREE(mynode);
|
||||
if(node) *node = checknode[0];
|
||||
if(node) *node = checknode;
|
||||
return(error);
|
||||
}
|
||||
mynode->name = uid;
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ int sens_sens(CKTcircuit *ckt, int restart)
|
|||
static int is_dc;
|
||||
int k, j, n;
|
||||
int num_vars, branch_eq=0;
|
||||
char *sen_data[1] = {NULL};
|
||||
char *sen_data=NULL;
|
||||
char namebuf[513];
|
||||
IFuid *output_names, freq_name;
|
||||
int bypass;
|
||||
|
|
@ -187,7 +187,7 @@ int sens_sens(CKTcircuit *ckt, int restart)
|
|||
error = (*SPfrontEnd->OUTpBeginPlot)((void *) ckt,
|
||||
(void *) ckt->CKTcurJob,
|
||||
ckt->CKTcurJob->JOBname, freq_name, IF_REAL, num_vars,
|
||||
output_names, type, (void **)sen_data);
|
||||
output_names, type, (void **) &sen_data);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ int sens_sens(CKTcircuit *ckt, int restart)
|
|||
output_values = NULL;
|
||||
output_cvalues = NEWN(IFcomplex, num_vars);
|
||||
if (sen_info->step_type != SENS_LINEAR)
|
||||
(*(SPfrontEnd->OUTattributes))((void *)sen_data[0],
|
||||
(*(SPfrontEnd->OUTattributes))((void *)sen_data,
|
||||
NULL, OUT_SCALE_LOG, NULL);
|
||||
|
||||
}
|
||||
|
|
@ -562,13 +562,13 @@ int sens_sens(CKTcircuit *ckt, int restart)
|
|||
|
||||
value.rValue = freq;
|
||||
|
||||
(*(SPfrontEnd->OUTpData))(sen_data[0], &value, &nvalue);
|
||||
(*(SPfrontEnd->OUTpData))(sen_data, &value, &nvalue);
|
||||
|
||||
freq = inc_freq(freq, sen_info->step_type, step_size);
|
||||
|
||||
}
|
||||
|
||||
(*SPfrontEnd->OUTendPlot)((void *) sen_data[0]);
|
||||
(*SPfrontEnd->OUTendPlot)((void *) sen_data);
|
||||
|
||||
if (is_dc) {
|
||||
FREE(output_values); /* XXX free various vectors */
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ NOISEan (CKTcircuit *ckt, int restart)
|
|||
int code;
|
||||
int step;
|
||||
IFuid freqUid;
|
||||
char *inst[1];
|
||||
char *inst;
|
||||
double freqTol; /* tolerence parameter for finding final frequency; hack */
|
||||
|
||||
NOISEAN *job = (NOISEAN*) (ckt->CKTcurJob);
|
||||
|
|
@ -47,12 +47,12 @@ NOISEan (CKTcircuit *ckt, int restart)
|
|||
negOutNode = ((CKTnode*) (job->outputRef))->number;
|
||||
|
||||
/* see if the source specified is AC */
|
||||
inst[0] = NULL;
|
||||
inst = NULL;
|
||||
code = CKTtypelook("Vsource");
|
||||
if (code != -1) {
|
||||
error = CKTfndDev((void *)ckt, &code,(void **)inst,
|
||||
error = CKTfndDev((void *)ckt,&code,(void **)&inst,
|
||||
job->input, (void *)NULL, (IFuid)NULL);
|
||||
if (!error && !((VSRCinstance *)inst[0])->VSRCacGiven) {
|
||||
if (!error && !((VSRCinstance *)inst)->VSRCacGiven) {
|
||||
errMsg = MALLOC(strlen(noacinput)+1);
|
||||
strcpy(errMsg,noacinput);
|
||||
return (E_NOACINPUT);
|
||||
|
|
@ -60,8 +60,8 @@ NOISEan (CKTcircuit *ckt, int restart)
|
|||
}
|
||||
|
||||
code = CKTtypelook("Isource");
|
||||
if (code != -1 && inst[0]==NULL) {
|
||||
error = CKTfndDev((void *)ckt,&code, (void **)inst,
|
||||
if (code != -1 && inst==NULL) {
|
||||
error = CKTfndDev((void *)ckt,&code, (void **)&inst,
|
||||
job->input, (void *)NULL,(IFuid)NULL);
|
||||
if (error) {
|
||||
/* XXX ??? */
|
||||
|
|
@ -70,7 +70,7 @@ NOISEan (CKTcircuit *ckt, int restart)
|
|||
&job->input);
|
||||
return (E_NOTFOUND);
|
||||
}
|
||||
if (!((ISRCinstance *)inst[0])->ISRCacGiven) {
|
||||
if (!((ISRCinstance *)inst)->ISRCacGiven) {
|
||||
errMsg = MALLOC(strlen(noacinput)+1);
|
||||
strcpy(errMsg,noacinput);
|
||||
return (E_NOACINPUT);
|
||||
|
|
|
|||
Loading…
Reference in New Issue