You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
1.2 KiB

/**********
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Thomas L. Quarles
**********/
/*
*/
/* CKTmapNode(ckt,node)
* map the given node to the compact node numbering set of the
* specified circuit
*/
#include "ngspice/ngspice.h"
#include "ngspice/ifsim.h"
#include "ngspice/sperror.h"
#include "ngspice/cktdefs.h"
/* ARGSUSED *//* fixme abandoned */
int
CKTmapNode(CKTcircuit *ckt, CKTnode **node, IFuid name)
{
CKTnode *here;
int error;
IFuid uid;
CKTnode *mynode;
for (here = ckt->CKTnodes; here; here = here->next) {
if(here->name == name) {
if(node) *node = here;
return(E_EXISTS);
}
}
/* not found, so must be a new one */
error = CKTmkNode(ckt,&mynode); /*allocate the node*/
if(error) return(error);
/* get a uid for it */
error = SPfrontEnd->IFnewUid (ckt, &uid, NULL, name, UID_SIGNAL, &mynode);
if(error) return(error);
mynode->name = uid; /* set the info we have */
mynode->type = SP_VOLTAGE;
error = CKTlinkEq(ckt,mynode); /* and link it in */
if(node) *node = mynode; /* and finally, return it */
return(OK);
}