Jspice3
pzaskq.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 Thomas L. Quarles
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 #include "suffix.h"
9 #include <stdio.h>
10 #include "cktdefs.h"
11 #include "pzdefs.h"
12 #include "iferrmsg.h"
13 #include "cktext.h"
14 
15 
16 /* ARGSUSED */
17 int
18 PZaskQuest(cktp,anal,which,value)
19 
20 GENERIC *cktp;
21 GENERIC *anal;
22 int which;
23 IFvalue *value;
24 {
25  CKTcircuit *ckt = (CKTcircuit *)cktp;
26 
27  switch (which) {
28 
29  case PZ_NODEI:
30  value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZin_pos);
31  break;
32 
33  case PZ_NODEG:
34  value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZin_neg);
35  break;
36 
37  case PZ_NODEJ:
38  value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZout_pos);
39  break;
40 
41  case PZ_NODEK:
42  value->nValue = (IFnode)CKTnum2nod(ckt,((PZAN*)anal)->PZout_neg);
43  break;
44 
45  case PZ_V:
46  if ( ((PZAN*)anal)->PZinput_type == PZ_IN_VOL) {
47  value->iValue=1;
48  }
49  else {
50  value->iValue=0;
51  }
52  break;
53 
54  case PZ_I:
55  if ( ((PZAN*)anal)->PZinput_type == PZ_IN_CUR) {
56  value->iValue=1;
57  }
58  else {
59  value->iValue=0;
60  }
61  break;
62 
63  case PZ_POL:
64  if ( ((PZAN*)anal)->PZwhich == PZ_DO_POLES) {
65  value->iValue=1;
66  }
67  else {
68  value->iValue=0;
69  }
70  break;
71 
72  case PZ_ZER:
73  if ( ((PZAN*)anal)->PZwhich == PZ_DO_ZEROS) {
74  value->iValue=1;
75  }
76  else {
77  value->iValue=0;
78  }
79  break;
80 
81  case PZ_PZ:
82  if ( ((PZAN*)anal)->PZwhich == PZ_DO_POLES | PZ_DO_ZEROS) {
83  value->iValue=1;
84  }
85  else {
86  value->iValue=0;
87  }
88  break;
89 
90  default:
91  return (E_BADPARM);
92  }
93  return (OK);
94 }
#define PZ_NODEK
Definition: pzdefs.h:52
#define PZ_NODEG
Definition: pzdefs.h:50
#define PZ_NODEJ
Definition: pzdefs.h:51
#define E_BADPARM
Definition: iferrmsg.h:26
CKTnode * CKTnum2nod()
int iValue
Definition: ifsim.h:232
#define OK
Definition: iferrmsg.h:17
#define PZ_POL
Definition: pzdefs.h:55
GENERIC * IFnode
Definition: ifsim.h:220
IFnode nValue
Definition: ifsim.h:237
#define PZ_I
Definition: pzdefs.h:54
#define PZ_V
Definition: pzdefs.h:53
#define PZ_ZER
Definition: pzdefs.h:56
#define PZ_DO_POLES
Definition: pzdefs.h:44
int PZaskQuest(GENERIC *cktp, GENERIC *anal, int which, IFvalue *value)
Definition: pzaskq.c:18
#define PZ_DO_ZEROS
Definition: pzdefs.h:45
#define PZ_IN_VOL
Definition: pzdefs.h:46
#define PZ_PZ
Definition: pzdefs.h:57
#define PZ_IN_CUR
Definition: pzdefs.h:47
#define PZ_NODEI
Definition: pzdefs.h:49
char GENERIC
Definition: ifsim.h:27
Definition: pzdefs.h:23