Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Thomas L. Quarles
**********/
*/
* 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"
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);
}
}
error = CKTmkNode(ckt,&mynode);
if(error) return(error);
error = SPfrontEnd->IFnewUid (ckt, &uid, NULL, name, UID_SIGNAL, &mynode);
if(error) return(error);
mynode->name = uid;
mynode->type = SP_VOLTAGE;
error = CKTlinkEq(ckt,mynode);
if(node) *node = mynode;
return(OK);
}