Jspice3
traask.c
Go to the documentation of this file.
1 /**********
2 Copyright 1990 Regents of the University of California. All rights reserved.
3 Author: 1987 Thomas L. Quarles
4 **********/
5 
6 /*
7  * This routine gives access to the internal device parameter
8  * of TRAnsmission lines
9  */
10 
11 #include "spice.h"
12 #include <stdio.h>
13 #include "tradefs.h"
14 #include "sperror.h"
15 #include "util.h"
16 
17 
18 /* ARGSUSED */
19 int
20 TRAask(ckt,inst,which,value,select)
21 
22 CKTcircuit *ckt;
23 GENinstance *inst;
24 int which;
25 IFvalue *value;
26 IFvalue *select;
27 {
28  TRAinstance *here = (TRAinstance *)inst;
29  int temp;
30 
31  switch(which) {
32  case TRA_POS_NODE1:
33  value->iValue = here->TRAposNode1;
34  break;
35  case TRA_NEG_NODE1:
36  value->iValue = here->TRAnegNode1;
37  break;
38  case TRA_POS_NODE2:
39  value->iValue = here->TRAposNode2;
40  break;
41  case TRA_NEG_NODE2:
42  value->iValue = here->TRAnegNode2;
43  break;
44  case TRA_INT_NODE1:
45  value->iValue = here->TRAintNode1;
46  break;
47  case TRA_INT_NODE2:
48  value->iValue = here->TRAintNode2;
49  break;
50  case TRA_Z0:
51  value->rValue = here->TRAimped;
52  break;
53  case TRA_TD:
54  value->rValue = here->TRAtd;
55  break;
56  case TRA_NL:
57  value->rValue = here->TRAnl;
58  break;
59  case TRA_FREQ:
60  value->rValue = here->TRAf;
61  break;
62  case TRA_V1:
63  value->rValue = here->TRAinitVolt1;
64  break;
65  case TRA_I1:
66  value->rValue = here->TRAinitCur1;
67  break;
68  case TRA_V2:
69  value->rValue = here->TRAinitVolt2;
70  break;
71  case TRA_I2:
72  value->rValue = here->TRAinitCur2;
73  break;
74  case TRA_RELTOL:
75  value->rValue = here->TRAreltol;
76  break;
77  case TRA_ABSTOL:
78  value->rValue = here->TRAabstol;
79  break;
80  case TRA_BR_EQ1:
81  value->rValue = here->TRAbrEq1;
82  break;
83  case TRA_BR_EQ2:
84  value->rValue = here->TRAbrEq2;
85  break;
86  case TRA_DELAY:
87  value->v.vec.rVec = (double *) MALLOC(here->TRAsizeDelay);
88  value->v.numValue = temp = here->TRAsizeDelay;
89  while (temp--) {
90  *value->v.vec.rVec++ = *here->TRAdelays++;
91  }
92  break;
93  default:
94  return (E_BADPARM);
95  }
96  return (OK);
97 }
#define TRA_Z0
Definition: tradefs.h:95
int numValue
Definition: ifsim.h:240
double TRAinitVolt2
Definition: tradefs.h:39
int TRAbrEq1
Definition: tradefs.h:46
#define TRA_ABSTOL
Definition: tradefs.h:105
double TRAimped
Definition: tradefs.h:30
#define TRA_POS_NODE1
Definition: tradefs.h:106
union uIFvalue::@13::@14 vec
#define TRA_I1
Definition: tradefs.h:100
double TRAinitCur1
Definition: tradefs.h:38
int TRAintNode1
Definition: tradefs.h:28
#define TRA_I2
Definition: tradefs.h:102
double TRAtd
Definition: tradefs.h:32
int TRAsizeDelay
Definition: tradefs.h:44
#define E_BADPARM
Definition: iferrmsg.h:26
double TRAnl
Definition: tradefs.h:33
int TRAnegNode1
Definition: tradefs.h:25
int TRAposNode1
Definition: tradefs.h:24
int iValue
Definition: ifsim.h:232
double rValue
Definition: ifsim.h:233
double TRAf
Definition: tradefs.h:34
double TRAreltol
Definition: tradefs.h:41
#define TRA_V1
Definition: tradefs.h:99
#define TRA_INT_NODE2
Definition: tradefs.h:116
#define TRA_RELTOL
Definition: tradefs.h:104
#define TRA_BR_EQ1
Definition: tradefs.h:113
#define OK
Definition: iferrmsg.h:17
#define TRA_V2
Definition: tradefs.h:101
int TRAnegNode2
Definition: tradefs.h:27
double TRAinitVolt1
Definition: tradefs.h:37
#define MALLOC(x)
Definition: util.h:9
double TRAabstol
Definition: tradefs.h:42
#define TRA_INT_NODE1
Definition: tradefs.h:115
int TRAask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, IFvalue *select)
Definition: traask.c:20
double TRAinitCur2
Definition: tradefs.h:40
#define TRA_FREQ
Definition: tradefs.h:98
#define TRA_POS_NODE2
Definition: tradefs.h:108
struct uIFvalue::@13 v
#define TRA_BR_EQ2
Definition: tradefs.h:114
#define TRA_NEG_NODE2
Definition: tradefs.h:109
#define TRA_TD
Definition: tradefs.h:96
double * TRAdelays
Definition: tradefs.h:43
int TRAbrEq2
Definition: tradefs.h:47
int TRAposNode2
Definition: tradefs.h:26
#define TRA_NL
Definition: tradefs.h:97
#define TRA_NEG_NODE1
Definition: tradefs.h:107
int TRAintNode2
Definition: tradefs.h:29
#define TRA_DELAY
Definition: tradefs.h:112