Jspice3
indparse.c File Reference
#include "spice.h"
#include <stdio.h>
#include "inpdefs.h"
#include "inpmacs.h"
Include dependency graph for indparse.c:

Go to the source code of this file.

Functions

void INDparse (int type, GENERIC *ckt, GENERIC *tabp, GENERIC *currentp)
 

Function Documentation

void INDparse ( int  type,
GENERIC ckt,
GENERIC tabp,
GENERIC currentp 
)

Definition at line 14 of file indparse.c.

20 {
21  /* inductor parser */
22 
23  /* Lname <node> <node> <val> [IC=<val>] */
24 
25  INPtables *tab = (INPtables*)tabp;
26  card *current = (card*)currentp;
27 
28  char *line; /* the part of the current line left to parse */
29  char *name; /* the device's name */
30  char *nname1; /* the first node's name */
31  char *nname2; /* the second node's name */
32  GENERIC *node1; /* the first node's node pointer */
33  GENERIC *node2; /* the second node's node pointer */
34  int error; /* error code temporary */
35  GENERIC *fast; /* pointer to the actual instance */
36  IFvalue ptemp; /* a value structure to package resistance into */
37  int waslead; /* flag to indicate that unlabeled number was found */
38  double leadval; /* actual value of unlabeled number */
39  IFuid uid; /* uid for default model */
40 
41  line = current->line;
42  INPgetTok(&line,&name,1);
43  INPinsert(&name,tab);
44 
45  INPgetTok(&line,&nname1,1);
46  INPtermInsert(ckt,&nname1,tab,&node1);
47 
48  INPgetTok(&line,&nname2,1);
49  INPtermInsert(ckt,&nname2,tab,&node2);
50 
51  if (!tab->defLmod) {
52  /* create default L model */
53  IFnewUid(ckt,&uid,(IFuid)NULL,"L",UID_MODEL,(GENERIC**)NULL);
54  IFC(newModel,(ckt,type,&(tab->defLmod),uid))
55  }
56  IFC(newInstance,(ckt,tab->defLmod,&fast,name))
57  IFC(bindNode,(ckt,fast,1,node1))
58  IFC(bindNode,(ckt,fast,2,node2))
59  PARSECALL((&line,ckt,type,fast,&leadval,&waslead,tab))
60  if (waslead) {
61  ptemp.rValue = leadval;
62  GCA(INPpName,("inductance",&ptemp,ckt,type,fast))
63  }
64 }
int INPpName()
char * line
Definition: inpdefs.h:64
int INPtermInsert()
int IFnewUid()
if(TDesc==NULL)
Definition: cd.c:1326
Definition: inpdefs.h:62
#define UID_MODEL
Definition: ifsim.h:83
Definition: subckt.c:51
double rValue
Definition: ifsim.h:233
int INPinsert()
Definition: fteinp.h:14
GENERIC * IFuid
Definition: ifsim.h:72
#define NULL
Definition: spdefs.h:121
Definition: types.c:18
#define GCA(func, args)
Definition: inpmacs.h:27
#define IFC(func, args)
Definition: inpmacs.h:19
#define PARSECALL(args)
Definition: inpmacs.h:42
GENERIC * defLmod
Definition: inpdefs.h:46
char GENERIC
Definition: ifsim.h:27
int INPgetTok()