summaryrefslogtreecommitdiff
diff options
-rw-r--r--Makefile18
-rw-r--r--plugins/Makefile18
-rw-r--r--plugins/models-bsim/BSIM3v301/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v31/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v32/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v321/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v322/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v323/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v324/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM3v330/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM400/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM410/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM420/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM421/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM430/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM440/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM450/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM460/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM461/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM462/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM463/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM464/wrapper.h2
-rw-r--r--plugins/models-bsim/BSIM465/wrapper.h2
l---------plugins/models-bsim/Gnucap1
-rw-r--r--plugins/models-bsim/Make2.gcc12
-rw-r--r--plugins/models-bsim/Make2.mingw6
-rw-r--r--plugins/models-bsim/Makefile129
l---------plugins/models-jspice3-2.5/Gnucap1
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/acdefs.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/capabil.h133
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/cktdefs.h437
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/complex.h210
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/config.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/const.h20
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/cpdefs.h120
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/cpextern.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/cpstd.h74
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/devdefs.h239
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/devdefs.h.orig235
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/devsup.c428
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/distodef.h220
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/fteconst.h101
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/ftedata.h71
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/ftedefs.h58
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/fteext.h525
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/fteinp.h31
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/fteparse.h103
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/gendefs.h46
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/gendefs.h.orig44
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/hw.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/iferrmsg.h58
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/ifsim.h531
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/ifsim.h.orig529
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/inpdefs.h195
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/inpmacs.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/inpptree.h170
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/jobdefs.h35
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/misc.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/noisedef.h127
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/optdefs.h80
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/port.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/sen2defs.h69
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/sperror.h36
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/spice.h63
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/strext.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/suffix.h5
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/suffix.h.orig0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/trandefs.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/trcvdefs.h1
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/tskdefs.h61
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/uflags.h0
-rw-r--r--plugins/models-jspice3-2.5/Include.3f5/util.h77
-rw-r--r--plugins/models-jspice3-2.5/Make2.gcc12
-rw-r--r--plugins/models-jspice3-2.5/Make2.mingw6
-rw-r--r--plugins/models-jspice3-2.5/Makefile61
l---------plugins/models-ngspice17/Gnucap1
-rw-r--r--plugins/models-ngspice17/Include/pzdefs.h2
-rw-r--r--plugins/models-ngspice17/Include/pzdefs.h.orig (renamed from plugins/models-jspice3-2.5/Include.3f5/pzdefs.h)3
-rw-r--r--plugins/models-ngspice17/Include/smpdefs.h2
-rw-r--r--plugins/models-ngspice17/Include/smpdefs.h.orig (renamed from plugins/models-jspice3-2.5/Include.3f5/smpdefs.h)65
-rw-r--r--plugins/models-ngspice17/Make2.gcc12
-rw-r--r--plugins/models-ngspice17/Make2.mingw6
-rw-r--r--plugins/models-ngspice17/Makefile155
-rw-r--r--plugins/models-ngspice17/bsim3/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim3v0/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim3v1/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim3v1a/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim3v1s/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/alloc.obin8688 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4.obin100096 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4acld.obin155632 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4ask.obin135264 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4check.obin169792 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4cvtest.obin136144 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4del.obin123736 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4dest.obin123760 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4geo.obin24192 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4getic.obin130864 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4ld.obin481584 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4mask.obin176096 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4mdel.obin124112 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4mpar.obin177784 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4noi.obin150480 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4par.obin126840 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4pzld.obin158872 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4set.obin172632 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4temp.obin197056 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/b4trunc.obin131784 -> 0 bytes
-rwxr-xr-xplugins/models-ngspice17/bsim4.6.0ng/bsim4.sobin1857142 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/bsim4init.obin23088 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/devsup.obin27800 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/wrapper.h2
-rw-r--r--plugins/models-ngspice17/bsim4.6.0ng/wrapper.obin958072 -> 0 bytes
-rw-r--r--plugins/models-ngspice17/bsim4/wrapper.h2
l---------plugins/models-spice3f5/Gnucap1
-rw-r--r--plugins/models-spice3f5/Make2.gcc12
-rw-r--r--plugins/models-spice3f5/Make2.mingw6
-rw-r--r--plugins/models-spice3f5/Makefile89
118 files changed, 195 insertions, 5611 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..37becdf2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,18 @@
+
+SUBDIRS = \
+plugins
+
+all:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
+
+clean:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
+
+install:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done
diff --git a/plugins/Makefile b/plugins/Makefile
new file mode 100644
index 00000000..19871edf
--- /dev/null
+++ b/plugins/Makefile
@@ -0,0 +1,18 @@
+
+SUBDIRS = \
+models-bsim models-jspice3-2.5 models-ngspice17 models-spice3f5
+
+all:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
+
+clean:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
+
+install:
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done
diff --git a/plugins/models-bsim/BSIM3v301/wrapper.h b/plugins/models-bsim/BSIM3v301/wrapper.h
index 565d5c14..9664f2bf 100644
--- a/plugins/models-bsim/BSIM3v301/wrapper.h
+++ b/plugins/models-bsim/BSIM3v301/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v31/wrapper.h b/plugins/models-bsim/BSIM3v31/wrapper.h
index da3cca41..2e6e2f14 100644
--- a/plugins/models-bsim/BSIM3v31/wrapper.h
+++ b/plugins/models-bsim/BSIM3v31/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v32/wrapper.h b/plugins/models-bsim/BSIM3v32/wrapper.h
index 5e1866b9..7218a63f 100644
--- a/plugins/models-bsim/BSIM3v32/wrapper.h
+++ b/plugins/models-bsim/BSIM3v32/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v321/wrapper.h b/plugins/models-bsim/BSIM3v321/wrapper.h
index f213aead..ad426243 100644
--- a/plugins/models-bsim/BSIM3v321/wrapper.h
+++ b/plugins/models-bsim/BSIM3v321/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v322/wrapper.h b/plugins/models-bsim/BSIM3v322/wrapper.h
index 51cb4c59..74433983 100644
--- a/plugins/models-bsim/BSIM3v322/wrapper.h
+++ b/plugins/models-bsim/BSIM3v322/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v323/wrapper.h b/plugins/models-bsim/BSIM3v323/wrapper.h
index d6b283fb..331d68f3 100644
--- a/plugins/models-bsim/BSIM3v323/wrapper.h
+++ b/plugins/models-bsim/BSIM3v323/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v324/wrapper.h b/plugins/models-bsim/BSIM3v324/wrapper.h
index b2a5f9df..7b1d99be 100644
--- a/plugins/models-bsim/BSIM3v324/wrapper.h
+++ b/plugins/models-bsim/BSIM3v324/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM3v330/wrapper.h b/plugins/models-bsim/BSIM3v330/wrapper.h
index d962219d..9c4e7325 100644
--- a/plugins/models-bsim/BSIM3v330/wrapper.h
+++ b/plugins/models-bsim/BSIM3v330/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM400/wrapper.h b/plugins/models-bsim/BSIM400/wrapper.h
index 56334f9c..dd1e71ee 100644
--- a/plugins/models-bsim/BSIM400/wrapper.h
+++ b/plugins/models-bsim/BSIM400/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM410/wrapper.h b/plugins/models-bsim/BSIM410/wrapper.h
index c025efa6..b6d3cf6d 100644
--- a/plugins/models-bsim/BSIM410/wrapper.h
+++ b/plugins/models-bsim/BSIM410/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM420/wrapper.h b/plugins/models-bsim/BSIM420/wrapper.h
index db12860b..22694556 100644
--- a/plugins/models-bsim/BSIM420/wrapper.h
+++ b/plugins/models-bsim/BSIM420/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM421/wrapper.h b/plugins/models-bsim/BSIM421/wrapper.h
index e60cdd8d..36d7af7e 100644
--- a/plugins/models-bsim/BSIM421/wrapper.h
+++ b/plugins/models-bsim/BSIM421/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM430/wrapper.h b/plugins/models-bsim/BSIM430/wrapper.h
index 23f4e4ff..af39b31e 100644
--- a/plugins/models-bsim/BSIM430/wrapper.h
+++ b/plugins/models-bsim/BSIM430/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM440/wrapper.h b/plugins/models-bsim/BSIM440/wrapper.h
index 1e95e04c..35279606 100644
--- a/plugins/models-bsim/BSIM440/wrapper.h
+++ b/plugins/models-bsim/BSIM440/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM450/wrapper.h b/plugins/models-bsim/BSIM450/wrapper.h
index 4daf2dc0..f8da2371 100644
--- a/plugins/models-bsim/BSIM450/wrapper.h
+++ b/plugins/models-bsim/BSIM450/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM460/wrapper.h b/plugins/models-bsim/BSIM460/wrapper.h
index 6644a6be..b2cd3e1f 100644
--- a/plugins/models-bsim/BSIM460/wrapper.h
+++ b/plugins/models-bsim/BSIM460/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM461/wrapper.h b/plugins/models-bsim/BSIM461/wrapper.h
index e26b9386..beb1f9bf 100644
--- a/plugins/models-bsim/BSIM461/wrapper.h
+++ b/plugins/models-bsim/BSIM461/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM462/wrapper.h b/plugins/models-bsim/BSIM462/wrapper.h
index ec3acded..7889f964 100644
--- a/plugins/models-bsim/BSIM462/wrapper.h
+++ b/plugins/models-bsim/BSIM462/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM463/wrapper.h b/plugins/models-bsim/BSIM463/wrapper.h
index db182de1..510b3c07 100644
--- a/plugins/models-bsim/BSIM463/wrapper.h
+++ b/plugins/models-bsim/BSIM463/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM464/wrapper.h b/plugins/models-bsim/BSIM464/wrapper.h
index 13abab90..3484ff16 100644
--- a/plugins/models-bsim/BSIM464/wrapper.h
+++ b/plugins/models-bsim/BSIM464/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/BSIM465/wrapper.h b/plugins/models-bsim/BSIM465/wrapper.h
index efc43458..e4356311 100644
--- a/plugins/models-bsim/BSIM465/wrapper.h
+++ b/plugins/models-bsim/BSIM465/wrapper.h
@@ -24,7 +24,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-bsim/Gnucap b/plugins/models-bsim/Gnucap
deleted file mode 120000
index f5030fe8..00000000
--- a/plugins/models-bsim/Gnucap
+++ /dev/null
@@ -1 +0,0 @@
-../include \ No newline at end of file
diff --git a/plugins/models-bsim/Make2.gcc b/plugins/models-bsim/Make2.gcc
index 9afa3d55..526657e3 100644
--- a/plugins/models-bsim/Make2.gcc
+++ b/plugins/models-bsim/Make2.gcc
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/bsim
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/bsim
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
@@ -14,11 +14,13 @@ OBJS = ${CC_SRCS:.cc=.o} ${C_SRCS:.c=.o}
CC = gcc
CCC = g++
-CFLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
+C_CC_FLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
-DPREDICTOR -DAN_pz -DAN_disto -DAN_noise \
-DHAS_STDLIB -fPIC
-CCFLAGS = $(CFLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
+CFLAGS = $(C_CC_FLAGS) -std=gnu90
+
+CCFLAGS = $(C_CC_FLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
LDFLAGS = -shared
diff --git a/plugins/models-bsim/Make2.mingw b/plugins/models-bsim/Make2.mingw
index 72b608fc..f4f28d76 100644
--- a/plugins/models-bsim/Make2.mingw
+++ b/plugins/models-bsim/Make2.mingw
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/bsim
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/bsim
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
diff --git a/plugins/models-bsim/Makefile b/plugins/models-bsim/Makefile
index e098ac06..4aae8d78 100644
--- a/plugins/models-bsim/Makefile
+++ b/plugins/models-bsim/Makefile
@@ -1,117 +1,24 @@
+SUBDIRS = \
+BSIM3v301 BSIM3v31 BSIM3v32 BSIM3v321 BSIM3v322 \
+BSIM3v323 BSIM3v324 BSIM3v330 BSIM400 BSIM410 \
+BSIM420 BSIM421 BSIM430 BSIM440 BSIM450 BSIM460 \
+BSIM461 BSIM462 BSIM463 BSIM464 BSIM465 BSIMDD2p1 \
+BSIMFD2p1 BSIMPD2p0 BSIMPD2p1 BSIMPD2p2 BSIMPD2p22 \
+BSIMPD2p23 BSIMSOI3p0 BSIMSOI3p1 BSIMSOI3p11 BSIMSOI3p2 \
+BSIMSOI4p0 BSIMSOI4p1 BSIMSOI4p2 BSIMSOI4p3 BSIMSOI4p31
+
all:
- -(cd BSIM3v301; make)
- -(cd BSIM3v31; make)
- -(cd BSIM3v32; make)
- -(cd BSIM3v321; make)
- -(cd BSIM3v322; make)
- -(cd BSIM3v323; make)
- -(cd BSIM3v324; make)
- -(cd BSIM3v330; make)
- -(cd BSIM400; make)
- -(cd BSIM410; make)
- -(cd BSIM420; make)
- -(cd BSIM421; make)
- -(cd BSIM430; make)
- -(cd BSIM440; make)
- -(cd BSIM450; make)
- -(cd BSIM460; make)
- -(cd BSIM461; make)
- -(cd BSIM462; make)
- -(cd BSIM463; make)
- -(cd BSIM464; make)
- -(cd BSIM465; make)
- -(cd BSIMDD2p1; make)
- -(cd BSIMFD2p1; make)
- -(cd BSIMPD2p0; make)
- -(cd BSIMPD2p1; make)
- -(cd BSIMPD2p2; make)
- -(cd BSIMPD2p22; make)
- -(cd BSIMPD2p23; make)
- -(cd BSIMSOI3p0; make)
- -(cd BSIMSOI3p1; make)
- -(cd BSIMSOI3p11; make)
- -(cd BSIMSOI3p2; make)
- -(cd BSIMSOI4p0; make)
- -(cd BSIMSOI4p1; make)
- -(cd BSIMSOI4p2; make)
- -(cd BSIMSOI4p3; make)
- -(cd BSIMSOI4p31; make)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
clean:
- (cd BSIM3v301; make clean)
- (cd BSIM3v31; make clean)
- (cd BSIM3v32; make clean)
- (cd BSIM3v321; make clean)
- (cd BSIM3v322; make clean)
- (cd BSIM3v323; make clean)
- (cd BSIM3v324; make clean)
- (cd BSIM3v330; make clean)
- (cd BSIM400; make clean)
- (cd BSIM410; make clean)
- (cd BSIM420; make clean)
- (cd BSIM421; make clean)
- (cd BSIM430; make clean)
- (cd BSIM440; make clean)
- (cd BSIM450; make clean)
- (cd BSIM460; make clean)
- (cd BSIM461; make clean)
- (cd BSIM462; make clean)
- (cd BSIM463; make clean)
- (cd BSIM464; make clean)
- (cd BSIM465; make clean)
- (cd BSIMDD2p1; make clean)
- (cd BSIMFD2p1; make clean)
- (cd BSIMPD2p0; make clean)
- (cd BSIMPD2p1; make clean)
- (cd BSIMPD2p2; make clean)
- (cd BSIMPD2p22; make clean)
- (cd BSIMPD2p23; make clean)
- (cd BSIMSOI3p0; make clean)
- (cd BSIMSOI3p1; make clean)
- (cd BSIMSOI3p11; make clean)
- (cd BSIMSOI3p2; make clean)
- (cd BSIMSOI4p0; make clean)
- (cd BSIMSOI4p1; make clean)
- (cd BSIMSOI4p2; make clean)
- (cd BSIMSOI4p3; make clean)
- (cd BSIMSOI4p31; make clean)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
install:
- (cd BSIM3v301; make install)
- (cd BSIM3v31; make install)
- (cd BSIM3v32; make install)
- (cd BSIM3v321; make install)
- (cd BSIM3v322; make install)
- (cd BSIM3v323; make install)
- (cd BSIM3v324; make install)
- (cd BSIM3v330; make install)
- (cd BSIM400; make install)
- (cd BSIM410; make install)
- (cd BSIM420; make install)
- (cd BSIM421; make install)
- (cd BSIM430; make install)
- (cd BSIM440; make install)
- (cd BSIM450; make install)
- (cd BSIM460; make install)
- (cd BSIM461; make install)
- (cd BSIM462; make install)
- (cd BSIM463; make install)
- (cd BSIM464; make install)
- (cd BSIM465; make install)
- (cd BSIMDD2p1; make install)
- (cd BSIMFD2p1; make install)
- (cd BSIMPD2p0; make install)
- (cd BSIMPD2p1; make install)
- (cd BSIMPD2p2; make install)
- (cd BSIMPD2p22; make install)
- (cd BSIMPD2p23; make install)
- (cd BSIMSOI3p0; make install)
- (cd BSIMSOI3p1; make install)
- (cd BSIMSOI3p11; make install)
- (cd BSIMSOI3p2; make install)
- (cd BSIMSOI4p0; make install)
- (cd BSIMSOI4p1; make install)
- (cd BSIMSOI4p2; make install)
- (cd BSIMSOI4p3; make install)
- (cd BSIMSOI4p31; make install)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done
diff --git a/plugins/models-jspice3-2.5/Gnucap b/plugins/models-jspice3-2.5/Gnucap
deleted file mode 120000
index f5030fe8..00000000
--- a/plugins/models-jspice3-2.5/Gnucap
+++ /dev/null
@@ -1 +0,0 @@
-../include \ No newline at end of file
diff --git a/plugins/models-jspice3-2.5/Include.3f5/acdefs.h b/plugins/models-jspice3-2.5/Include.3f5/acdefs.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/acdefs.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/capabil.h b/plugins/models-jspice3-2.5/Include.3f5/capabil.h
deleted file mode 100644
index 64e5dfd4..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/capabil.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-**********/
-
-/*
- * #define-s that are always on
- */
-
-#define CAPZEROBYPASS
-#define NEWCONV
-/* #define CAPBYPASS Internal use only */
-
-/*
- * #define-s to identify common capabilities
- */
-
-#ifdef WANT_X11
-# define HAS_X11
-#else
-# ifdef WANT_X10
-# define HAS_X10
-# ifdef WANT_XT
-# define HAS_XT
-# endif
-# endif /* X10 */
-#endif /* !X11 */
-
-#ifdef WANT_MFB
-# define HAS_MFB
-#endif
-
-#ifdef HAS_BSDDIRS
-# define HAS_DIRS_
-#endif
-#ifdef HAS_SYSVDIRS
-# define HAS_DIRS_
-#endif
-#ifdef HAS_DOSDIRS
-# define HAS_DIRS_
-#endif
-
-#ifdef HAS_BSDTTY
-# define HAS_TTY_
-#endif
-#ifdef HAS_SYSVTTY
-# define HAS_TTY_
-#endif
-
-#ifdef HAS_BSDTIME
-# define HAS_TIME_
-# define HAS_LOCALTIME
-#endif
-#ifdef HAS_SYSVTIME
-# define HAS_TIME_
-# define HAS_LOCALTIME
-#endif
-
-#ifdef HAS_BSDRLIMIT
-# define HAS_RLIMIT_
-#endif
-#ifdef HAS_SYSVRLIMIT
-# define HAS_RLIMIT_
-#endif
-#ifdef HAS_MEMAVL
-# define HAS_RLIMIT_
-#endif
-
-#ifdef HAS_BSDRUSAGE
-# define HAS_RUSAGE_
-#endif
-#ifdef HAS_SYSVRUSAGE
-# define HAS_RUSAGE_
-#endif
-
-#ifdef HAS_X10
-# define HAS_X_
-#endif
-#ifdef HAS_X11
-# define HAS_X_
-#endif
-
-#ifndef DIR_TERM
-# define DIR_TERM 0
-#endif
-
-#ifndef DIR_PATHSEP
-# define DIR_PATHSEP 0
-#endif
-
-#ifndef DIR_CWD
-# define DIR_CWD 0
-#endif
-
-#ifdef HAS_NO_ERFC
-# ifndef HAS_NO_ERFC_DECL
-# define HAS_NO_ERFC_DECL
-# endif
-#endif
-
-#ifdef HAS_NO_IEEE_LOGB
-# ifndef HAS_NO_IEEE_LOGB_DECL
-# define HAS_NO_IEEE_LOGB_DECL
-# endif
-#endif
-
-#ifdef HAS_IEEE_SCALBN
-# define scalb scalbn
-#endif
-
-#ifdef HAS_NO_IEEE_LOGB_DECL
-# ifdef __STDC__
-extern double logb(double), scalb(double, int);
-# else
-extern double logb( ), scalb( );
-# endif
-#endif
-
-#ifdef HAS_NO_ERFC_DECL
-# ifdef __STDC__
-extern double erfc(double);
-# else
-extern double erfc( );
-# endif
-#endif
-
-#ifndef SIGNAL_TYPE
-# define SIGNAL_TYPE void
-#endif
-
-#ifndef SIGNAL_FUNCTION
-# define SIGNAL_FUNCTION SIGNAL_TYPE (*)( )
-#endif
-
diff --git a/plugins/models-jspice3-2.5/Include.3f5/cktdefs.h b/plugins/models-jspice3-2.5/Include.3f5/cktdefs.h
deleted file mode 100644
index 139fb623..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/cktdefs.h
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * Copyright (c) 1985 Thomas L. Quarles
- */
-#ifndef CKT
-#define CKT "CKTdefs.h $Revision: 1.13 $ on $Date: 89/04/05 13:09:39 $ "
-
-#define MAXNUMDEVS 32
-extern int DEVmaxnum;
-#define MAXNUMDEVNODES 4
-
-#include "smpdefs.h"
-#include "ifsim.h"
-#include "acdefs.h"
-#include "gendefs.h"
-#include "trcvdefs.h"
-#include "optdefs.h"
-#include "sen2defs.h"
-#include "pzdefs.h"
-
-
-
-typedef struct sCKTnode {
- IFuid name;
- int type;
-
-#define SP_VOLTAGE 3
-#define SP_CURRENT 4
-#define NODE_VOLTAGE SP_VOLTAGE
-#define NODE_CURRENT SP_CURRENT
-
- int number;
- double ic;
- double nodeset;
- double *ptr;
- struct sCKTnode *next;
- unsigned int icGiven:1;
- unsigned int nsGiven:1;
-} CKTnode;
-
-/* defines for node parameters */
-#define PARM_NS 1
-#define PARM_IC 2
-#define PARM_NODETYPE 3
-
-
-
-typedef struct {
- GENmodel *CKThead[MAXNUMDEVS];
- STATistics *CKTstat;
- double *(CKTstates[8]);
-#define CKTstate0 CKTstates[0]
-#define CKTstate1 CKTstates[1]
-#define CKTstate2 CKTstates[2]
-#define CKTstate3 CKTstates[3]
-#define CKTstate4 CKTstates[4]
-#define CKTstate5 CKTstates[5]
-#define CKTstate6 CKTstates[6]
-#define CKTstate7 CKTstates[7]
- double CKTtime;
- double CKTdelta;
- double CKTdeltaOld[7];
- double CKTtemp;
- double CKTnomTemp;
- double CKTvt;
- double CKTag[7]; /* the gear variable coefficient matrix */
-#ifdef PREDICTOR
- double CKTagp[7]; /* the gear predictor variable coefficient matrix */
-#endif /*PREDICTOR*/
- int CKTorder; /* the integration method order */
- int CKTmaxOrder; /* maximum integration method order */
- int CKTintegrateMethod; /* the integration method to be used */
-
-/* known integration methods */
-#define TRAPEZOIDAL 1
-#define GEAR 2
-
- SMPmatrix *CKTmatrix; /* pointer to sparse matrix */
- int CKTniState; /* internal state */
- double *CKTrhs; /* current rhs value - being loaded */
- double *CKTrhsOld; /* previous rhs value for convergence testing */
- double *CKTrhsSpare; /* spare rhs value for reordering */
- double *CKTirhs; /* current rhs value - being loaded (imag) */
- double *CKTirhsOld; /* previous rhs value (imaginary)*/
- double *CKTirhsSpare; /* spare rhs value (imaginary)*/
-#ifdef PREDICTOR
- double *CKTpred; /* predicted solution vector */
- double *CKTsols[8]; /* previous 8 solutions */
-#endif /* PREDICTOR */
-
- double *CKTrhsOp; /* opearating point values */
- double *CKTsenRhs; /* current sensitivity rhs values */
- double *CKTseniRhs; /* current sensitivity rhs values (imag)*/
-
-
-/*
- * symbolic constants for CKTniState
- * Note that they are bitwise disjoint
- */
-
-#define NISHOULDREORDER 0x1
-#define NIREORDERED 0x2
-#define NIUNINITIALIZED 0x4
-#define NIACSHOULDREORDER 0x10
-#define NIACREORDERED 0x20
-#define NIACUNINITIALIZED 0x40
-#define NIDIDPREORDER 0x100
-#define NIPZSHOULDREORDER 0x200
-
- int CKTmaxEqNum;
- int CKTcurrentAnalysis; /* the analysis in progress (if any) */
-
-/* defines for the value of CKTcurrentAnalysis */
-/* are in TSKdefs.h */
-
- CKTnode *CKTnodes;
- CKTnode *CKTlastNode;
-#define NODENAME(ckt,nodenum) CKTnodName(ckt,nodenum)
- int CKTnumStates;
- long CKTmode;
-
-/* defines for CKTmode */
-
-/* old 'mode' parameters */
-#define MODE 0x3
-#define MODETRAN 0x1
-#define MODEAC 0x2
-
-/* old 'modedc' parameters */
-#define MODEDC 0x70
-#define MODEDCOP 0x10
-#define MODETRANOP 0x20
-#define MODEDCTRANCURVE 0x40
-
-/* old 'initf' parameters */
-#define INITF 0x3f00
-#define MODEINITFLOAT 0x100
-#define MODEINITJCT 0x200
-#define MODEINITFIX 0x400
-#define MODEINITSMSIG 0x800
-#define MODEINITTRAN 0x1000
-#define MODEINITPRED 0x2000
-
-/* old 'nosolv' paramater */
-#define MODEUIC 0x10000l
-
- int CKTbypass;
- int CKTdcMaxIter; /* iteration limit for dc op. (itl1) */
- int CKTdcTrcvMaxIter; /* iteration limit for dc tran. curv (itl2) */
- int CKTtranMaxIter; /* iteration limit for each timepoint for tran*/
- /* (itl4) */
- int CKTbreakSize;
- int CKTbreak;
- double CKTsaveDelta;
- double CKTminBreak;
- double *CKTbreaks;
- double CKTabstol;
- double CKTpivotAbsTol;
- double CKTpivotRelTol;
- double CKTreltol;
- double CKTchgtol;
- double CKTvoltTol;
-#ifdef NEWTRUNC
- double CKTlteReltol;
- double CKTlteAbstol;
-#endif /* NEWTRUNC */
- double CKTgmin;
- double CKTdelmin;
- double CKTtrtol;
- double CKTfinalTime;
- double CKTstep;
- double CKTmaxStep;
- double CKTinitTime;
- double CKTomega;
- double CKTsrcFact;
- double CKTdiagGmin;
- int CKTnumSrcSteps;
- int CKTnumGminSteps;
- int CKTnoncon;
- double CKTdefaultMosL;
- double CKTdefaultMosW;
- double CKTdefaultMosAD;
- double CKTdefaultMosAS;
- unsigned int CKThadNodeset:1;
- unsigned int CKTfixLimit:1; /* flag to indicate that the limiting of
- * MOSFETs should be done as in SPICE2 */
- unsigned int CKTnoOpIter:1; /* flag to indicate not to try the operating
- * point brute force, but to use gmin stepping
- * first */
- unsigned int CKTisSetup:1; /* flag to indicate if CKTsetup done */
- JOB *CKTcurJob;
-
- SENstruct *CKTsenInfo; /* the sensitivity information */
- double *CKTtimePoints; /* list of all accepted timepoints in the
- current transient simulation */
- double *CKTdeltaList; /* list of all timesteps in the current
- transient simulation */
- int CKTtimeListSize; /* size of above lists */
- int CKTtimeIndex; /* current position in above lists */
- int CKTsizeIncr; /* amount to increment size of above arrays
- when you run out of space */
- unsigned int CKTtryToCompact:1; /* try to compact past history for LTRA
- lines */
- unsigned int CKTbadMos3:1; /* Use old, unfixed MOS3 equations */
- unsigned int CKTkeepOpInfo:1; /* flag for small signal analyses */
- int CKTtroubleNode; /* Non-convergent node number */
- GENinstance *CKTtroubleElt; /* Non-convergent device instance */
-
-} CKTcircuit;
-
-#ifdef __STDC__
-int ACan( CKTcircuit *, int );
-int ACaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int ACsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int CKTacDump( CKTcircuit *, double , GENERIC *);
-int CKTacLoad( CKTcircuit *);
-int CKTaccept( CKTcircuit *);
-int CKTacct( CKTcircuit *, GENERIC *, int , IFvalue *);
-int CKTask( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTaskAnalQ( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTaskNodQst( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTbindNode( GENERIC *, GENERIC *, int , GENERIC *);
-void CKTbreakDump( CKTcircuit *);
-int CKTclrBreak( CKTcircuit *);
-int CKTconvTest( CKTcircuit *);
-int CKTcrtElt( GENERIC *, GENERIC *, GENERIC **, IFuid );
-int CKTdelTask( GENERIC *, GENERIC *);
-int CKTdestroy( GENERIC *);
-int CKTdltAnal( GENERIC *, GENERIC *, GENERIC *);
-int CKTdltInst( GENERIC *, GENERIC *);
-int CKTdltMod( GENERIC *, GENERIC *);
-int CKTdltNod( GENERIC *, GENERIC *);
-int CKTdoJob( GENERIC *, int , GENERIC *);
-void CKTdump( CKTcircuit *, double, GENERIC *);
-int CKTfndAnal( GENERIC *, int *, GENERIC **, IFuid , GENERIC *, IFuid );
-int CKTfndBranch( CKTcircuit *, IFuid);
-int CKTfndDev( GENERIC *, int *, GENERIC **, IFuid , GENERIC *, IFuid );
-int CKTfndMod( GENERIC *, int *, GENERIC **, IFuid );
-int CKTfndNode( GENERIC *, GENERIC **, IFuid );
-int CKTfndTask( GENERIC *, GENERIC **, IFuid );
-int CKTground( GENERIC *, GENERIC **, IFuid );
-int CKTic( CKTcircuit *);
-int CKTinit( GENERIC **);
-int CKTinst2Node( GENERIC *, GENERIC *, int , GENERIC **, IFuid *);
-int CKTlinkEq(CKTcircuit*,CKTnode*);
-int CKTload( CKTcircuit *);
-int CKTmapNode( GENERIC *, GENERIC **, IFuid );
-int CKTmkCur( CKTcircuit *, CKTnode **, IFuid , char *);
-int CKTmkNode(CKTcircuit*,CKTnode**);
-int CKTmkVolt( CKTcircuit *, CKTnode **, IFuid , char *);
-int CKTmodAsk( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTmodCrt( GENERIC *, int , GENERIC **, IFuid );
-int CKTmodParam( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTnames(CKTcircuit *, int *, IFuid **);
-int CKTnewAnal( GENERIC *, int , IFuid , GENERIC **, GENERIC *);
-int CKTnewEq( GENERIC *, GENERIC **, IFuid );
-int CKTnewNode( GENERIC *, GENERIC **, IFuid );
-int CKTnewTask( GENERIC *, GENERIC **, IFuid );
-IFuid CKTnodName( CKTcircuit *, int );
-void CKTnodOut( CKTcircuit *);
-CKTnode * CKTnum2nod( CKTcircuit *, int );
-int CKTop(CKTcircuit *, long, long, int );
-int CKTpModName( char *, IFvalue *, CKTcircuit *, int , IFuid , GENmodel **);
-int CKTpName( char *, IFvalue *, CKTcircuit *, int , char *, GENinstance **);
-int CKTparam( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTpzFindZeros( CKTcircuit *, PZtrial **, int * );
-int CKTpzLoad( CKTcircuit *, SPcomplex * );
-int CKTpzSetup( CKTcircuit *, int);
-int CKTsenAC( CKTcircuit *);
-int CKTsenComp( CKTcircuit *);
-int CKTsenDCtran( CKTcircuit *);
-int CKTsenLoad( CKTcircuit *);
-void CKTsenPrint( CKTcircuit *);
-int CKTsenSetup( CKTcircuit *);
-int CKTsenUpdate( CKTcircuit *);
-int CKTsetAnalPm( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTsetBreak( CKTcircuit *, double );
-int CKTsetNodPm( GENERIC *, GENERIC *, int , IFvalue *, IFvalue *);
-int CKTsetOpt( GENERIC *, GENERIC *, int , IFvalue *);
-int CKTsetup( CKTcircuit *);
-int CKTtemp( CKTcircuit *);
-char *CKTtrouble(GENERIC *, char *);
-void CKTterr( int , CKTcircuit *, double *);
-int CKTtrunc( CKTcircuit *, double *);
-int CKTtypelook( char *);
-int DCOaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int DCOsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int DCTaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int DCTsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int DCop( CKTcircuit *);
-int DCtrCurv( CKTcircuit *, int );
-int DCtran( CKTcircuit *, int );
-int DISTOan(CKTcircuit *, int);
-int NOISEan(CKTcircuit *, int);
-int PZan( CKTcircuit *, int );
-int PZinit( CKTcircuit * );
-int PZpost( CKTcircuit * );
-int PZaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int PZsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int SENaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-void SENdestroy( SENstruct *);
-int SENsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int SENstartup( CKTcircuit *);
-int SPIinit( IFfrontEnd *, IFsimulator **);
-char * SPerror( int );
-int TFanal( CKTcircuit *, int );
-int TFaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int TFsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int TRANaskQuest( CKTcircuit *, GENERIC *, int , IFvalue *);
-int TRANsetParm( CKTcircuit *, GENERIC *, int , IFvalue *);
-int TRANinit(CKTcircuit *, JOB *);
-int NIacIter( CKTcircuit * );
-int NIcomCof( CKTcircuit * );
-int NIconvTest(CKTcircuit * );
-void NIdestroy(CKTcircuit * );
-int NIinit( CKTcircuit * );
-int NIintegrate( CKTcircuit *, double *, double *, double , int );
-int NIiter( CKTcircuit * , int );
-int NIpzMuller(PZtrial **, PZtrial *);
-int NIpzComplex(PZtrial **, PZtrial *);
-int NIpzSym(PZtrial **, PZtrial *);
-int NIpzSym2(PZtrial **, PZtrial *);
-int NIreinit( CKTcircuit *);
-int NIsenReinit( CKTcircuit *);
-#else /* stdc */
-int ACan();
-int ACaskQuest();
-int ACsetParm();
-int CKTacDump();
-int CKTacLoad();
-int CKTaccept();
-int CKTacct();
-int CKTask();
-int CKTaskAnalQ();
-int CKTaskNodQst();
-int CKTbindNode();
-void CKTbreakDump();
-int CKTclrBreak();
-int CKTcrtElt();
-int CKTdelTask();
-int CKTdestroy();
-int CKTdltAnal();
-int CKTdltInst();
-int CKTdltMod();
-int CKTdltNod();
-int CKTdoJob();
-void CKTdump();
-int CKTfndAnal();
-int CKTfndBranch();
-int CKTfndDev();
-int CKTfndMod();
-int CKTfndNode();
-int CKTfndTask();
-int CKTground();
-int CKTic();
-int CKTinit();
-int CKTinst2Node();
-int CKTlinkEq();
-int CKTload();
-int CKTmapNode();
-int CKTmkCur();
-int CKTmkNode();
-int CKTmkVolt();
-int CKTmodAsk();
-int CKTmodCrt();
-int CKTmodParam();
-int CKTnames();
-int CKTnewAnal();
-int CKTnewEq();
-int CKTnewNode();
-int CKTnewTask();
-IFuid CKTnodName();
-void CKTnodOut();
-CKTnode * CKTnum2nod();
-int CKTop();
-int CKTpModName();
-int CKTpName();
-int CKTparam();
-int CKTpzLoad();
-int CKTpzSetup();
-int CKTsenAC();
-int CKTsenComp();
-int CKTsenDCtran();
-int CKTsenLoad();
-void CKTsenPrint();
-int CKTsenSetup();
-int CKTsenUpdate();
-int CKTsetAnalPm();
-int CKTsetBreak();
-int CKTsetNodPm();
-int CKTsetOpt();
-int CKTsetup();
-int CKTpzSetup();
-int CKTtemp();
-char *CKTtrouble( );
-void CKTterr();
-int CKTtrunc();
-int CKTtypelook();
-int DCOaskQuest();
-int DCOsetParm();
-int DCTaskQuest();
-int DCTsetParm();
-int DCop();
-int DCtrCurv();
-int DCtran();
-int DISTOan();
-int NOISEan();
-int PZan();
-int PZaskQuest();
-int PZsetParm();
-int SENaskQuest();
-void SENdestroy();
-int SENsetParm();
-int SENstartup();
-int SPIinit();
-char * SPerror();
-int TFanal();
-int TFaskQuest();
-int TFsetParm();
-int TRANaskQuest();
-int TRANsetParm();
-int TRANinit( );
-int NIacIter();
-int NIcomCof();
-int NIconvTest();
-void NIdestroy();
-int NIinit();
-int NIintegrate();
-int NIiter();
-int NIpzMuller();
-int NIpzSolve();
-int NIreinit();
-int NIsenReinit();
-#endif /* stdc */
-
-extern IFfrontEnd *SPfrontEnd;
-
-#endif /*CKT*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/complex.h b/plugins/models-jspice3-2.5/Include.3f5/complex.h
deleted file mode 100644
index 42948e50..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/complex.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 1985 Thomas L. Quarles
- */
-#ifndef CMPLX
-#define CMPLX "complex.h $Revision: 1.5 $ on $Date: 88/11/22 02:51:07 $ "
-
-/* header file containing definitions for complex functions
- *
- * Each expects two arguments for each complex number - a real and an
- * imaginary part.
- */
-typedef struct {
- double real;
- double imag;
-} SPcomplex;
-
-
-#define DC_ABS(a,b) (FABS(a) + FABS(b))
-
-#ifdef notdef
-#define DC_DIV(a,b,c,d,x,y) { \
- double r,s;\
- if(FABS(c)>FABS(d)) { \
- r=(d)/(c);\
- s=(c)+r*(d);\
- x=((a)+(b)*r)/s;\
- y=((b)-(a)*r)/s;\
- } else { \
- r=(c)/(d);\
- s=(d)+r*(c);\
- x=((a)*r+(b))/s;\
- y=((b)*r-(a))/s;\
- }\
-}
-#endif /*notdef */
-
-#ifndef HAS_SHORTMACRO
-#define DC_DIVEQ(a,b,c,d) { \
- double r,s,x,y;\
- if(FABS(c)>FABS(d)) { \
- r=(d)/(c);\
- s=(c)+r*(d);\
- x=((*(a))+(*(b))*r)/s;\
- y=((*(b))-(*(a))*r)/s;\
- } else { \
- r=(c)/(d);\
- s=(d)+r*(c);\
- x=((*(a))*r+(*(b)))/s;\
- y=((*(b))*r-(*(a)))/s;\
- }\
- (*(a)) = x; \
- (*(b)) = y; \
-}
-#else /*HAS_SHORTMACRO*/
-#define DC_DIVEQ DCdiveq
-#ifdef __STDC__
-extern void DCdiveq(double*,double*,double,double);
-#else /* stdc */
-extern void DCdiveq();
-#endif /* stdc */
-#endif /*HAS_SHORTMACRO*/
-
-#ifndef HAS_SHORTMACRO
-#define DC_MULT(a,b,c,d,x,y) { \
- *(x) = (a) * (c) - (b) * (d) ;\
- *(y) = (a) * (d) + (b) * (c) ;\
-}
-#else /*HAS_SHORTMACRO*/
-#define DC_MULT DCmult
-#ifdef __STDC__
-extern void DCmult(double,double,double,double,double*,double*);
-#else /* stdc */
-extern void DCmult();
-#endif /* stdc */
-#endif /*HAS_SHORTMACRO*/
-
-#ifdef notdef
-#define DC_MINUS(a,b,c,d,x,y) { \
- (x) = (a) - (c) ;\
- (y) = (b) - (d) ;\
-}
-#endif /*notdef*/
-
-#ifndef HAS_SHORTMACRO
-#define DC_MINUSEQ(a,b,c,d) { \
- *(a) -= (c) ;\
- *(b) -= (d) ;\
-}
-#else /*HAS_SHORTMACRO*/
-#define DC_MINUSEQ DCminusEq
-#ifdef __STDC__
-extern void DCminusEq(double*,double*,double,double);
-#else /* stdc */
-extern void DCminusEq();
-#endif /* stdc */
-#endif /*HAS_SHORTMACRO*/
-
-#define C_SQRT(A) { \
- double _mag, _a; \
- if ((A).imag == 0.0) { \
- if ((A).real < 0.0) { \
- (A).imag = sqrt(-(A).real); \
- (A).real = 0.0; \
- } else { \
- (A).real = sqrt((A).real); \
- (A).imag = 0.0; \
- } \
- } else { \
- _mag = sqrt((A).real * (A).real + (A).imag * (A).imag); \
- _a = (_mag - (A).real) / 2.0; \
- if (_a <= 0.0) { \
- (A).real = sqrt(_mag); \
- (A).imag /= (2.0 * (A).real); /*XXX*/ \
- } else { \
- _a = sqrt(_a); \
- (A).real = (A).imag / (2.0 * _a); \
- (A).imag = _a; \
- } \
- } \
- }
-
-#define C_MAG2(A) (((A).real = (A).real * (A).real + (A).imag * (A).imag), \
- (A).imag = 0.0)
-
-#define C_CONJ(A) ((A).imag *= -1.0)
-
-#define C_CONJEQ(A,B) { \
- (A).real = (B.real); \
- (A).imag = - (B.imag); \
- }
-
-#define C_EQ(A,B) { \
- (A).real = (B.real); \
- (A).imag = (B.imag); \
- }
-
-#define C_NORM(A,B) { \
- if ((A).real == 0.0 && (A).imag == 0.0) { \
- (B) = 0; \
- } else { \
- while (FABS((A).real) > 1.0 || FABS((A).imag) > 1.0) { \
- (B) += 1; \
- (A).real /= 2.0; \
- (A).imag /= 2.0; \
- } \
- while (FABS((A).real) <= 0.5 && FABS((A).imag) <= 0.5) { \
- (B) -= 1; \
- (A).real *= 2.0; \
- (A).imag *= 2.0; \
- } \
- } \
- }
-
-#define C_ABS(A) (sqrt((A).real * (A.real) + (A.imag * A.imag)))
-
-#define C_MUL(A,B) { \
- double TMP1, TMP2; \
- TMP1 = (A.real); \
- TMP2 = (B.real); \
- (A).real = TMP1 * TMP2 - (A.imag) * (B.imag); \
- (A).imag = TMP1 * (B.imag) + (A.imag) * TMP2; \
- }
-
-#define C_MULEQ(A,B,C) { \
- (A).real = (B.real) * (C.real) - (B.imag) * (C.imag); \
- (A).imag = (B.real) * (C.imag) + (B.imag) * (C.real); \
- }
-
-#define C_DIV(A,B) { \
- double _tmp, _mag; \
- _tmp = (A.real); \
- (A).real = _tmp * (B.real) + (A).imag * (B.imag); \
- (A).imag = - _tmp * (B.imag) + (A.imag) * (B.real); \
- _mag = (B.real) * (B.real) + (B.imag) * (B.imag); \
- (A).real /= _mag; \
- (A).imag /= _mag; \
- }
-
-#define C_DIVEQ(A,B,C) { \
- double _mag; \
- (A).real = (B.real) * (C.real) + (B.imag) * (C.imag); \
- (A).imag = (B.imag) * (C.real) - (B.real) * (C.imag) ; \
- _mag = (C.real) * (C.real) + (C.imag) * (C.imag); \
- (A).real /= _mag; \
- (A).imag /= _mag; \
- }
-
-#define C_ADD(A,B) { \
- (A).real += (B.real); \
- (A).imag += (B.imag); \
- }
-
-#define C_ADDEQ(A,B,C) { \
- (A).real = (B.real) + (C.real); \
- (A).imag = (B.imag) + (C.imag); \
- }
-
-#define C_SUB(A,B) { \
- (A).real -= (B.real); \
- (A).imag -= (B.imag); \
- }
-
-#define C_SUBEQ(A,B,C) { \
- (A).real = (B.real) - (C.real); \
- (A).imag = (B.imag) - (C.imag); \
- }
-
-
-
-#endif /*CMPLX*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/config.h b/plugins/models-jspice3-2.5/Include.3f5/config.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/config.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/const.h b/plugins/models-jspice3-2.5/Include.3f5/const.h
deleted file mode 100644
index c03df684..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/const.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-/*
- */
-#ifndef CONST
-#define CONST
-
-#define CHARGE (1.6021918e-19)
-#define CONSTCtoK (273.15)
-#define CONSTboltz (1.3806226e-23)
-#define REFTEMP 300.15 /* 27 degrees C */
-
- extern double CONSTroot2;
- extern double CONSTvt0;
- extern double CONSTKoverQ;
- extern double CONSTe;
-
-#endif /*CONST*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/cpdefs.h b/plugins/models-jspice3-2.5/Include.3f5/cpdefs.h
deleted file mode 100644
index c527089d..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/cpdefs.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- * General stuff for the C-shell parser.
- */
-
-/* Standard definitions */
-#ifndef CPDEFS
-#define CPDEFS
-
-#include "cpstd.h"
-
-#define MAXWORDS 512
-
-/* Information about spice commands. */
-
-struct comm {
- char *co_comname; /* The name of the command. */
- void (*co_func) (); /* The function that handles the command. */
- bool co_stringargs; /* Collapse the arguments into a string. */
- bool co_spiceonly; /* These can't be used from nutmeg. */
- bool co_major; /* Is this a "major" command? */
- long co_cctypes[4]; /* Bitmasks for command completion. */
- unsigned int co_env;/* print help message on this environment mask */
- int co_minargs; /* minimum number of arguments required */
- int co_maxargs; /* maximum number of arguments allowed */
- int (*co_argfn) (); /* The fn that prompts the user. */
- char *co_help; /* When these are printed, printf(string, av[0]) .. */
-};
-
-#define LOTS 1000
-
-/* The history list. Things get put here after the first (basic) parse.
- * The word list will change later, so be sure to copy it.
- */
-
-struct histent {
- int hi_event;
- wordlist *hi_wlist;
- struct histent *hi_next;
- struct histent *hi_prev;
-};
-
-/* Variables that are accessible to the parser via $varname expansions.
- * If the type is VT_LIST the value is a pointer to a list of the elements.
- */
-
-struct variable {
- char va_type;
- char *va_name;
- union {
- bool vV_bool;
- int vV_num;
- double vV_real;
- char *vV_string;
- struct variable *vV_list;
- } va_V;
- struct variable *va_next; /* Link. */
-} ;
-
-#define va_bool va_V.vV_bool
-#define va_num va_V.vV_num
-#define va_real va_V.vV_real
-#define va_string va_V.vV_string
-#define va_vlist va_V.vV_list
-
-#define VT_BOOL 1
-#define VT_NUM 2
-#define VT_REAL 3
-#define VT_STRING 4
-#define VT_LIST 5
-
-/* The values returned by cp_userset(). */
-
-#define US_OK 1 /* Either not relevant or nothing special. */
-#define US_READONLY 2 /* Complain and don't set this var. */
-#define US_DONTRECORD 3 /* Ok, but don't keep track of this one. */
-#define US_SIMVAR 4 /* OK, recorded in options struct */
-#define US_NOSIMVAR 5 /* Not OK, simulation param but circuit not loaded */
-
-/* Aliases. These will be expanded if the word is the first in an input
- * line. The substitution string may contain arg selectors.
- */
-
-struct alias {
- char *al_name; /* The word to be substituted for. */
- wordlist *al_text; /* What to substitute for it. */
- struct alias *al_next;
- struct alias *al_prev;
-} ;
-
-/* The current record of what characters are special. */
-
-#define CPC_BRR 004 /* Break word to right of character. */
-#define CPC_BRL 010 /* Break word to left of character. */
-
-/* For quoting individual characters. '' strings are all quoted, but `` and
- * "" strings are maintained as single words with the quotes around them.
- * Note that this won't work on non-ascii machines.
- */
-
-#ifdef HAS_ASCII
-#define quote(c) ((c) | 0200)
-#define strip(c) ((c) & 0177)
-#else /* HAS_ASCII */
-#define quote(c) (c)
-#define strip(c) (c)
-#endif /* !HAS_ASCII */
-
-#define CT_ALIASES 1
-#define CT_LABEL 15
-
-/* Get all the extern definitions... */
-
-#include "cpextern.h"
-
-#endif /*CPDEFS*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/cpextern.h b/plugins/models-jspice3-2.5/Include.3f5/cpextern.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/cpextern.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/cpstd.h b/plugins/models-jspice3-2.5/Include.3f5/cpstd.h
deleted file mode 100644
index d8d01093..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/cpstd.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1986 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- * Standard definitions. This file serves as the header file for std.c and
- * wlist.c
- */
-
-#ifndef _STD_H_
-#define _STD_H_
-
-typedef int bool;
-
-#include "misc.h"
-
-#ifndef FILE
-/* XXX Bogus */
-# include <stdio.h>
-#endif
-
-/* Doubly linked lists of words. */
-
-struct wordlist {
- char *wl_word;
- struct wordlist *wl_next;
- struct wordlist *wl_prev;
-} ;
-
-typedef struct wordlist wordlist;
-
-/* Complex numbers. */
-
-struct _complex { /* IBM portability... */
- double cx_real;
- double cx_imag;
-} ;
-
-typedef struct _complex complex;
-
-#define realpart(cval) ((struct _complex *) (cval))->cx_real
-#define imagpart(cval) ((struct _complex *) (cval))->cx_imag
-
-/* Externs defined in std.c */
-
-extern char *getusername();
-extern char *gethome();
-extern char *tildexpand();
-extern char *printnum();
-extern int cp_numdgt;
-extern void fatal();
-#ifndef linux
-extern void setenv();
-#endif /* linux */
-extern void cp_printword();
-
-/* Externs from wlist.c */
-
-extern char **wl_mkvec();
-extern char *wl_flatten();
-extern int wl_length();
-extern void wl_free();
-extern void wl_print();
-extern void wl_sort();
-extern wordlist *wl_append();
-extern wordlist *wl_build();
-extern wordlist *wl_copy();
-extern wordlist *wl_range();
-extern wordlist *wl_nthelem();
-extern wordlist *wl_reverse();
-extern wordlist *wl_splice();
-
-#endif /* _STD_H_*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/devdefs.h b/plugins/models-jspice3-2.5/Include.3f5/devdefs.h
deleted file mode 100644
index 748d9aa2..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/devdefs.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef DEV
-#define DEV
-
-#include "optdefs.h"
-#include "gendefs.h"
-#include "ifsim.h"
-#include "cktdefs.h"
-#include "noisedef.h"
-#include "complex.h"
-
-#ifdef __STDC__
-double DEVlimvds(double,double);
-double DEVpnjlim(double,double,double,double,int*);
-double DEVfetlim(double,double,double);
-void DEVcmeyer(double,double,double,double,double,double,double,double,double,
- double,double,double*,double*,double*,double,double,double,double);
-void DEVqmeyer(double,double,double,double,double,double*,double*,double*,
- double,double);
-#ifdef notdef
-void DEVcap(CKTcircuit*, double, double, double, double, double, double,
- double, double, double, double, double, double, double, double,
- double*, double*, double*, double*, double*, double*, double*,
- double*, double*, double*, double*, double*, double, double,
- double, double*, double*, double);
-#endif
-double DEVpred(CKTcircuit*,int);
-#else /* stdc */
-double DEVlimvds();
-double DEVpnjlim();
-double DEVfetlim();
-void DEVcmeyer();
-void DEVqmeyer();
-#ifdef notdef
-void DEVcap();
-#endif
-double DEVpred();
-#endif /* stdc */
-
-typedef struct SPICEdev {
- IFdevice DEVpublic;
-
-#ifdef __STDC__
- int (*DEVparam)(int,IFvalue*,GENinstance*,IFvalue *);
- /* routine to input a parameter to a device instance */
- int (*DEVmodParam)(int,IFvalue*,GENmodel*);
- /* routine to input a paramater to a model */
- int (*DEVload)(GENmodel*,CKTcircuit*);
- /* routine to load the device into the matrix */
- int (*DEVsetup)(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
- /* setup routine to preprocess devices once before soloution begins */
-#ifndef SPICE_3e
- int (*DEVunsetup)(GENmodel*,CKTcircuit*);
- /* clean up before running again */
-#endif
- int (*DEVpzSetup)(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
- /* setup routine to process devices specially for pz analysis */
- int (*DEVtemperature)(GENmodel*,CKTcircuit*);
- /* subroutine to do temperature dependent setup processing */
- int (*DEVtrunc)(GENmodel*,CKTcircuit*,double*);
- /* subroutine to perform truncation error calc. */
- int (*DEVfindBranch)(CKTcircuit*,GENmodel*,IFuid);
- /* subroutine to search for device branch eq.s */
- int (*DEVacLoad)(GENmodel*,CKTcircuit*);
- /* ac analysis loading function */
- int (*DEVaccept)(CKTcircuit*,GENmodel*);
- /* subroutine to call on acceptance of a timepoint */
- void (*DEVdestroy)(GENmodel**);
- /* subroutine to destroy all models and instances */
- int (*DEVmodDelete)(GENmodel**,IFuid,GENmodel*);
- /* subroutine to delete a model and all instances */
- int (*DEVdelete)(GENmodel*,IFuid,GENinstance**);
- /* subroutine to delete an instance */
- int (*DEVsetic)(GENmodel*,CKTcircuit*);
- /* routine to pick up device init conds from rhs */
- int (*DEVask)(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
- /* routine to ask about device details*/
- int (*DEVmodAsk)(CKTcircuit*,GENmodel*,int,IFvalue*);
- /* routine to ask about model details*/
- int (*DEVpzLoad)(GENmodel*,CKTcircuit*,SPcomplex*);
- /* routine to load for pole-zero analysis */
- int (*DEVconvTest)(GENmodel*,CKTcircuit*);
- /* convergence test function */
-
- int (*DEVsenSetup)(SENstruct*,GENmodel*);
- /* routine to setup the device sensitivity info */
- int (*DEVsenLoad)(GENmodel*,CKTcircuit*);
- /* routine to load the device sensitivity info */
- int (*DEVsenUpdate)(GENmodel*,CKTcircuit*);
- /* routine to update the device sensitivity info */
- int (*DEVsenAcLoad)(GENmodel*,CKTcircuit*);
- /* routine to load the device ac sensitivity info */
- void (*DEVsenPrint)(GENmodel*,CKTcircuit*);
- /* subroutine to print out sensitivity info */
- int (*DEVsenTrunc)(GENmodel*,CKTcircuit*,double*);
- /* subroutine to print out sensitivity info */
- int (*DEVdisto)(int,GENmodel*,CKTcircuit*);
- /* procedure to do distortion operations */
- int (*DEVnoise)(int, int, GENmodel*,CKTcircuit*, Ndata *, double *);
- /* noise routine */
-
-#else /* stdc */
-
- int (*DEVparam)(); /* routine to input a parameter to a device instance */
- int (*DEVmodParam)(); /* routine to input a paramater to a model */
- int (*DEVload)(); /* routine to load the device into the matrix */
- int (*DEVsetup)(); /* setup routine to preprocess devices once before
- * soloution begins */
-#ifndef SPICE_3e
- int (*DEVunsetup)(); /* clean up before running again */
-#endif
-
- int (*DEVpzSetup)(); /* setup routine to process devices specially for
- * pz analysis */
- int (*DEVtemperature)(); /* subroutine to do temperature dependent
- * setup processing */
- int (*DEVtrunc)(); /* subroutine to perform truncation error calc. */
- int (*DEVfindBranch)(); /* subroutine to search for device branch eq.s */
- int (*DEVacLoad)(); /* ac analysis loading function */
- int (*DEVaccept)(); /* subroutine to call on acceptance of a timepoint */
- void (*DEVdestroy)(); /* subroutine to destroy all models and instances */
- int (*DEVmodDelete)(); /* subroutine to delete a model and all instances */
- int (*DEVdelete)(); /* subroutine to delete an instance */
- int (*DEVsetic)(); /* routine to pick up device init conds from rhs */
- int (*DEVask)(); /* routine to ask about device details*/
- int (*DEVmodAsk)(); /* routine to ask about model details*/
- int (*DEVpzLoad)(); /* routine to load for pole-zero analysis */
- int (*DEVconvTest)(); /* convergence test function */
-
- int (*DEVsenSetup)(); /* routine to setup the device sensitivity info */
- int (*DEVsenLoad)(); /* routine to load the device sensitivity info */
- int (*DEVsenUpdate)(); /* routine to update the device sensitivity info */
- int (*DEVsenAcLoad)(); /* routine to load the device ac sensitivity info*/
- void (*DEVsenPrint)(); /* subroutine to print out sensitivity info */
- int (*DEVsenTrunc)(); /* subroutine to print out sensitivity info */
- int (*DEVdisto)(); /* distortion routine */
- int (*DEVnoise)(); /* noise routine */
-
-#endif /* stdc */
-
- int *DEVinstSize; /* size of an instance */
- int *DEVmodSize; /* size of a model */
-
-} SPICEdev; /* instance of structure for each possible type of device */
-
-/* IOP( ) Input/output parameter
- * IOPP( ) IO parameter which the principle value of a device (used
- * for naming output variables in sensetivity)
- * IOPA( ) IO parameter significant for time-varying (non-dc) analyses
- * IOPAP( ) Principle value is significant for time-varying analyses
- * IOPAA( ) IO parameter significant for ac analyses only
- * IOPAAP( ) IO parameter principle value for ac analyses only
- * IOPN( ) IO parameter significant for noise analyses only
- * IOPR( ) Redundant IO parameter name (e.g. "vto" vs. "vt0")
- * IOPX( ) IO parameter which is not used by sensetivity in any case
- *
- * IOPQ( ) This (Q) parameter must be non-zero for sensetivity of
- * following Z parameter (model params done first)
- * IOPZ( ) Prev. 'Q' parameter must be non-zero for sensetivity
- * IOPQO( ) Like Q, but or-ed with previous Q value
- * ....U( ) uninteresting for default "show" command output
- */
-
-#ifndef HAS_MINDATA
-
-# define IOP(a,b,c,d) { a, b, c|IF_SET|IF_ASK, d }
-# define IOPU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_UNINTERESTING, d }
-# define IOPP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_PRINCIPAL, d }
-# define IOPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC, d }
-# define IOPAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_UNINTERESTING,d }
-# define IOPAP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL, d }
-# define IOPAA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY, d }
-# define IOPAAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_UNINTERESTING,d}
-# define IOPPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_PRINCIPAL, d }
-# define IOPN(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NOISE, d }
-# define IOPR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_REDUNDANT, NULL }
-# define IOPX(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE, d }
-# define IOPXU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE|IF_UNINTERESTING,\
- d }
-# define IOPQ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY, d }
-# define IOPQU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY|IF_UNINTERESTING,\
- d }
-# define IOPZ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY, d }
-# define IOPZU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY|IF_UNINTERESTING,\
- d }
-# define IOPQO(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_ORQUERY, d }
-
-# define IP(a,b,c,d) { a , b , c|IF_SET , d }
-# define OP(a,b,c,d) { a , b , c|IF_ASK , d }
-# define OPU(a,b,c,d) { a , b , c|IF_ASK|IF_UNINTERESTING , d }
-# define OPR(a,b,c,d) { a , b , c|IF_ASK|IF_REDUNDANT , d }
-# define P(a,b,c,d) { a , b , c , d }
-
-#else /* HAS_MINDATA */
-
-/*
- * these are for the IBM PC which gets upset by the long description
- * strings used in IFparm definitions because they add up to more than
- * 64k of static data
- */
-
-# define IOP(a,b,c,d) { a, b, c|IF_SET|IF_ASK, NULL }
-# define IOPU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_UNINTERESTING, NULL }
-# define IOPP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_PRINCIPAL, NULL }
-# define IOPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC, NULL }
-# define IOPAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_UNINTERESTING, NULL }
-# define IOPAP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL, NULL }
-# define IOPAA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY, NULL }
-# define IOPAAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_UNINTERESTING,\
- NULL }
-# define IOPPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_PRINCIPAL,NULL }
-# define IOPN(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NOISE, NULL }
-# define IOPR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_REDUNDANT, NULL }
-# define IOPX(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE, NULL }
-# define IOPXU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE|IF_UNINTERESTING,\
- NULL }
-# define IOPQ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY, NULL }
-# define IOPQU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY|IF_UNINTERESTING,\
- NULL }
-# define IOPZ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY, NULL }
-# define IOPZU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY|IF_UNINTERESTING,\
- NULL }
-# define IOPQO(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_ORQUERY, NULL }
-
-# define IP(a,b,c,d) { a, b, c|IF_SET , NULL }
-# define OP(a,b,c,d) { a, b, c|IF_ASK , NULL }
-# define OPU(a,b,c,d) { a , b , c|IF_ASK|IF_UNINTERESTING , NULL }
-# define OPR(a,b,c,d) { a , b , c|IF_ASK|IF_REDUNDANT , NULL }
-# define P(a,b,c,d) { a, b, c , NULL }
-
-#endif /* HAS_MINDATA */
-
-#define DEV_DEFAULT 0x1
-
-#endif /*DEV*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/devdefs.h.orig b/plugins/models-jspice3-2.5/Include.3f5/devdefs.h.orig
deleted file mode 100644
index f68b20c1..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/devdefs.h.orig
+++ /dev/null
@@ -1,235 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef DEV
-#define DEV
-
-#include "optdefs.h"
-#include "gendefs.h"
-#include "ifsim.h"
-#include "cktdefs.h"
-#include "noisedef.h"
-#include "complex.h"
-
-#ifdef __STDC__
-double DEVlimvds(double,double);
-double DEVpnjlim(double,double,double,double,int*);
-double DEVfetlim(double,double,double);
-void DEVcmeyer(double,double,double,double,double,double,double,double,double,
- double,double,double*,double*,double*,double,double,double,double);
-void DEVqmeyer(double,double,double,double,double,double*,double*,double*,
- double,double);
-#ifdef notdef
-void DEVcap(CKTcircuit*, double, double, double, double, double, double,
- double, double, double, double, double, double, double, double,
- double*, double*, double*, double*, double*, double*, double*,
- double*, double*, double*, double*, double*, double, double,
- double, double*, double*, double);
-#endif
-double DEVpred(CKTcircuit*,int);
-#else /* stdc */
-double DEVlimvds();
-double DEVpnjlim();
-double DEVfetlim();
-void DEVcmeyer();
-void DEVqmeyer();
-#ifdef notdef
-void DEVcap();
-#endif
-double DEVpred();
-#endif /* stdc */
-
-typedef struct SPICEdev {
- IFdevice DEVpublic;
-
-#ifdef __STDC__
- int (*DEVparam)(int,IFvalue*,GENinstance*,IFvalue *);
- /* routine to input a parameter to a device instance */
- int (*DEVmodParam)(int,IFvalue*,GENmodel*);
- /* routine to input a paramater to a model */
- int (*DEVload)(GENmodel*,CKTcircuit*);
- /* routine to load the device into the matrix */
- int (*DEVsetup)(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
- /* setup routine to preprocess devices once before soloution begins */
- int (*DEVunsetup)(GENmodel*,CKTcircuit*);
- /* clean up before running again */
- int (*DEVpzSetup)(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
- /* setup routine to process devices specially for pz analysis */
- int (*DEVtemperature)(GENmodel*,CKTcircuit*);
- /* subroutine to do temperature dependent setup processing */
- int (*DEVtrunc)(GENmodel*,CKTcircuit*,double*);
- /* subroutine to perform truncation error calc. */
- int (*DEVfindBranch)(CKTcircuit*,GENmodel*,IFuid);
- /* subroutine to search for device branch eq.s */
- int (*DEVacLoad)(GENmodel*,CKTcircuit*);
- /* ac analysis loading function */
- int (*DEVaccept)(CKTcircuit*,GENmodel*);
- /* subroutine to call on acceptance of a timepoint */
- void (*DEVdestroy)(GENmodel**);
- /* subroutine to destroy all models and instances */
- int (*DEVmodDelete)(GENmodel**,IFuid,GENmodel*);
- /* subroutine to delete a model and all instances */
- int (*DEVdelete)(GENmodel*,IFuid,GENinstance**);
- /* subroutine to delete an instance */
- int (*DEVsetic)(GENmodel*,CKTcircuit*);
- /* routine to pick up device init conds from rhs */
- int (*DEVask)(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*);
- /* routine to ask about device details*/
- int (*DEVmodAsk)(CKTcircuit*,GENmodel*,int,IFvalue*);
- /* routine to ask about model details*/
- int (*DEVpzLoad)(GENmodel*,CKTcircuit*,SPcomplex*);
- /* routine to load for pole-zero analysis */
- int (*DEVconvTest)(GENmodel*,CKTcircuit*);
- /* convergence test function */
-
- int (*DEVsenSetup)(SENstruct*,GENmodel*);
- /* routine to setup the device sensitivity info */
- int (*DEVsenLoad)(GENmodel*,CKTcircuit*);
- /* routine to load the device sensitivity info */
- int (*DEVsenUpdate)(GENmodel*,CKTcircuit*);
- /* routine to update the device sensitivity info */
- int (*DEVsenAcLoad)(GENmodel*,CKTcircuit*);
- /* routine to load the device ac sensitivity info */
- void (*DEVsenPrint)(GENmodel*,CKTcircuit*);
- /* subroutine to print out sensitivity info */
- int (*DEVsenTrunc)(GENmodel*,CKTcircuit*,double*);
- /* subroutine to print out sensitivity info */
- int (*DEVdisto)(int,GENmodel*,CKTcircuit*);
- /* procedure to do distortion operations */
- int (*DEVnoise)(int, int, GENmodel*,CKTcircuit*, Ndata *, double *);
- /* noise routine */
-
-#else /* stdc */
-
- int (*DEVparam)(); /* routine to input a parameter to a device instance */
- int (*DEVmodParam)(); /* routine to input a paramater to a model */
- int (*DEVload)(); /* routine to load the device into the matrix */
- int (*DEVsetup)(); /* setup routine to preprocess devices once before
- * soloution begins */
- int (*DEVunsetup)(); /* clean up before running again */
-
- int (*DEVpzSetup)(); /* setup routine to process devices specially for
- * pz analysis */
- int (*DEVtemperature)(); /* subroutine to do temperature dependent
- * setup processing */
- int (*DEVtrunc)(); /* subroutine to perform truncation error calc. */
- int (*DEVfindBranch)(); /* subroutine to search for device branch eq.s */
- int (*DEVacLoad)(); /* ac analysis loading function */
- int (*DEVaccept)(); /* subroutine to call on acceptance of a timepoint */
- void (*DEVdestroy)(); /* subroutine to destroy all models and instances */
- int (*DEVmodDelete)(); /* subroutine to delete a model and all instances */
- int (*DEVdelete)(); /* subroutine to delete an instance */
- int (*DEVsetic)(); /* routine to pick up device init conds from rhs */
- int (*DEVask)(); /* routine to ask about device details*/
- int (*DEVmodAsk)(); /* routine to ask about model details*/
- int (*DEVpzLoad)(); /* routine to load for pole-zero analysis */
- int (*DEVconvTest)(); /* convergence test function */
-
- int (*DEVsenSetup)(); /* routine to setup the device sensitivity info */
- int (*DEVsenLoad)(); /* routine to load the device sensitivity info */
- int (*DEVsenUpdate)(); /* routine to update the device sensitivity info */
- int (*DEVsenAcLoad)(); /* routine to load the device ac sensitivity info*/
- void (*DEVsenPrint)(); /* subroutine to print out sensitivity info */
- int (*DEVsenTrunc)(); /* subroutine to print out sensitivity info */
- int (*DEVdisto)(); /* distortion routine */
- int (*DEVnoise)(); /* noise routine */
-
-#endif /* stdc */
-
- int *DEVinstSize; /* size of an instance */
- int *DEVmodSize; /* size of a model */
-
-} SPICEdev; /* instance of structure for each possible type of device */
-
-/* IOP( ) Input/output parameter
- * IOPP( ) IO parameter which the principle value of a device (used
- * for naming output variables in sensetivity)
- * IOPA( ) IO parameter significant for time-varying (non-dc) analyses
- * IOPAP( ) Principle value is significant for time-varying analyses
- * IOPAA( ) IO parameter significant for ac analyses only
- * IOPAAP( ) IO parameter principle value for ac analyses only
- * IOPN( ) IO parameter significant for noise analyses only
- * IOPR( ) Redundant IO parameter name (e.g. "vto" vs. "vt0")
- * IOPX( ) IO parameter which is not used by sensetivity in any case
- *
- * IOPQ( ) This (Q) parameter must be non-zero for sensetivity of
- * following Z parameter (model params done first)
- * IOPZ( ) Prev. 'Q' parameter must be non-zero for sensetivity
- * IOPQO( ) Like Q, but or-ed with previous Q value
- * ....U( ) uninteresting for default "show" command output
- */
-
-#ifndef HAS_MINDATA
-
-# define IOP(a,b,c,d) { a, b, c|IF_SET|IF_ASK, d }
-# define IOPU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_UNINTERESTING, d }
-# define IOPP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_PRINCIPAL, d }
-# define IOPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC, d }
-# define IOPAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_UNINTERESTING,d }
-# define IOPAP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL, d }
-# define IOPAA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY, d }
-# define IOPAAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_UNINTERESTING,d}
-# define IOPPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_PRINCIPAL, d }
-# define IOPN(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NOISE, d }
-# define IOPR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_REDUNDANT, NULL }
-# define IOPX(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE, d }
-# define IOPXU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE|IF_UNINTERESTING,\
- d }
-# define IOPQ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY, d }
-# define IOPQU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY|IF_UNINTERESTING,\
- d }
-# define IOPZ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY, d }
-# define IOPZU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY|IF_UNINTERESTING,\
- d }
-# define IOPQO(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_ORQUERY, d }
-
-# define IP(a,b,c,d) { a , b , c|IF_SET , d }
-# define OP(a,b,c,d) { a , b , c|IF_ASK , d }
-# define OPU(a,b,c,d) { a , b , c|IF_ASK|IF_UNINTERESTING , d }
-# define OPR(a,b,c,d) { a , b , c|IF_ASK|IF_REDUNDANT , d }
-# define P(a,b,c,d) { a , b , c , d }
-
-#else /* HAS_MINDATA */
-
-/*
- * these are for the IBM PC which gets upset by the long description
- * strings used in IFparm definitions because they add up to more than
- * 64k of static data
- */
-
-# define IOP(a,b,c,d) { a, b, c|IF_SET|IF_ASK, NULL }
-# define IOPU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_UNINTERESTING, NULL }
-# define IOPP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_PRINCIPAL, NULL }
-# define IOPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC, NULL }
-# define IOPAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_UNINTERESTING, NULL }
-# define IOPAP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL, NULL }
-# define IOPAA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY, NULL }
-# define IOPAAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_UNINTERESTING,\
- NULL }
-# define IOPPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC_ONLY|IF_PRINCIPAL,NULL }
-# define IOPN(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NOISE, NULL }
-# define IOPR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_REDUNDANT, NULL }
-# define IOPX(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE, NULL }
-# define IOPXU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_NONSENSE|IF_UNINTERESTING,\
- NULL }
-# define IOPQ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY, NULL }
-# define IOPQU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_SETQUERY|IF_UNINTERESTING,\
- NULL }
-# define IOPZ(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY, NULL }
-# define IOPZU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_CHKQUERY|IF_UNINTERESTING,\
- NULL }
-# define IOPQO(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_ORQUERY, NULL }
-
-# define IP(a,b,c,d) { a, b, c|IF_SET , NULL }
-# define OP(a,b,c,d) { a, b, c|IF_ASK , NULL }
-# define OPU(a,b,c,d) { a , b , c|IF_ASK|IF_UNINTERESTING , NULL }
-# define OPR(a,b,c,d) { a , b , c|IF_ASK|IF_REDUNDANT , NULL }
-# define P(a,b,c,d) { a, b, c , NULL }
-
-#endif /* HAS_MINDATA */
-
-#define DEV_DEFAULT 0x1
-
-#endif /*DEV*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/devsup.c b/plugins/models-jspice3-2.5/Include.3f5/devsup.c
deleted file mode 100644
index e92d9835..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/devsup.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
- /* support routines for device models */
-
-#include "spice.h"
-#include "devdefs.h"
-#include "cktdefs.h"
-#include "util.h"
-#include "suffix.h"
-
- /* DEVlimvds(vnew,vold)
- * limit the per-iteration change of VDS
- */
-
-double
-DEVlimvds(vnew,vold)
- double vnew;
- double vold;
-
-{
-
- if(vold >= 3.5) {
- if(vnew > vold) {
- vnew = MIN(vnew,(3 * vold) +2);
- } else {
- if (vnew < 3.5) {
- vnew = MAX(vnew,2);
- }
- }
- } else {
- if(vnew > vold) {
- vnew = MIN(vnew,4);
- } else {
- vnew = MAX(vnew,-.5);
- }
- }
- return(vnew);
-}
-
-
- /* DEVpnjlim(vnew,vold,vt,vcrit,icheck)
- * limit the per-iteration change of PN junction voltages
- */
-
-
-double
-DEVpnjlim(vnew,vold,vt,vcrit,icheck)
-
- double vnew;
- double vold;
- double vt;
- double vcrit;
- int *icheck;
-
-{
- double arg;
-
- if((vnew > vcrit) && (FABS(vnew - vold) > (vt + vt))) {
- if(vold > 0) {
- arg = 1 + (vnew - vold) / vt;
- if(arg > 0) {
- vnew = vold + vt * log(arg);
- } else {
- vnew = vcrit;
- }
- } else {
- vnew = vt *log(vnew/vt);
- }
- *icheck = 1;
- } else {
- *icheck = 0;
- }
- return(vnew);
-}
-
- /*
- * DEVfetlim(vnew,vold.vto)
- *
- * limit the per-iteration change of FET voltages
- */
-
-double
-DEVfetlim(vnew,vold,vto)
- double vnew;
- double vold;
- double vto;
-
-{
- double vtsthi;
- double vtstlo;
- double vtox;
- double delv;
- double vtemp;
-
- vtsthi = FABS(2*(vold-vto))+2;
- vtstlo = vtsthi/2 +2;
- vtox = vto + 3.5;
- delv = vnew-vold;
-
- if (vold >= vto) {
- if(vold >= vtox) {
- if(delv <= 0) {
- /* going off */
- if(vnew >= vtox) {
- if(-delv >vtstlo) {
- vnew = vold - vtstlo;
- }
- } else {
- vnew = MAX(vnew,vto+2);
- }
- } else {
- /* staying on */
- if(delv >= vtsthi) {
- vnew = vold + vtsthi;
- }
- }
- } else {
- /* middle region */
- if(delv <= 0) {
- /* decreasing */
- vnew = MAX(vnew,vto-.5);
- } else {
- /* increasing */
- vnew = MIN(vnew,vto+4);
- }
- }
- } else {
- /* off */
- if(delv <= 0) {
- if(-delv >vtsthi) {
- vnew = vold - vtsthi;
- }
- } else {
- vtemp = vto + .5;
- if(vnew <= vtemp) {
- if(delv >vtstlo) {
- vnew = vold + vtstlo;
- }
- } else {
- vnew = vtemp;
- }
- }
- }
- return(vnew);
-}
-
-
- /*
- * DEVcmeyer(vgs0,vgd0,vgb0,von0,vdsat0,
- * vgs1,vgd1,vgb1,covlgs,covlgd,covlgb,
- * cgs0,cgd0,cgb0,
- * von,vdsat)
- *
- * Compute the MOS overlap capacitances as functions of the
- * device terminal voltages
- */
-
-void
-DEVcmeyer(vgs0,vgd0,vgb0,von0,vdsat0,
- vgs1,vgd1,vgb1,covlgs,covlgd,covlgb,
- cgs,cgd,cgb,
- phi,cox,von,vdsat)
-double vgs0; /* initial voltage gate-source */
-double vgd0; /* initial voltage gate-drain */
-double vgb0; /* initial voltage gate-bulk */
-double von0;
-double vdsat0;
-double vgs1; /* final voltage gate-source */
-double vgd1; /* final voltage gate-drain */
-double vgb1; /* final voltage gate-bulk */
-double covlgs; /* overlap capacitance gate-source */
-double covlgd; /* overlap capacitance gate-drain */
-double covlgb; /* overlap capacitance gate-bulk */
-register double *cgs;
-register double *cgd;
-register double *cgb;
-double phi;
-double cox;
-double von;
-double vdsat;
-
-{
-
-
- double vdb;
- double vdbsat;
- double vddif;
- double vddif1;
- double vddif2;
- double vgbt;
-
- *cgs = 0;
- *cgd = 0;
- *cgb = 0;
-
- vgbt = vgs1-von;
- if (vgbt <= -phi) {
- *cgb = cox;
- } else if (vgbt <= -phi/2) {
- *cgb = -vgbt*cox/phi;
- } else if (vgbt <= 0) {
- *cgb = -vgbt*cox/phi;
- *cgs = cox/(7.5e-1*phi)*vgbt+cox/1.5;
- } else {
- vdbsat = vdsat-(vgs1-vgb1);
- vdb = vgb1-vgd1;
- if (vdbsat <= vdb) {
- *cgs = cox/1.5;
- } else {
- vddif = 2.0*vdbsat-vdb;
- vddif1 = vdbsat-vdb-1.0e-12;
- vddif2 = vddif*vddif;
- *cgd = cox*(1.0-vdbsat*vdbsat/vddif2)/1.5;
- *cgs = cox*(1.0-vddif1*vddif1/vddif2)/1.5;
- }
- }
-
- vgbt = vgs0-von0;
- if (vgbt <= -phi) {
- *cgb += cox;
- } else if (vgbt <= -phi/2) {
- *cgb += -vgbt*cox/phi;
- } else if (vgbt <= 0) {
- *cgb += -vgbt*cox/phi;
- *cgs += cox/(7.5e-1*phi)*vgbt+cox/1.5;
- } else {
- vdbsat = vdsat0-(vgs0-vgb0);
- vdb = vgb0-vgd0;
- if (vdbsat <= vdb) {
- *cgs += cox/1.5;
- } else {
- vddif = 2.0*vdbsat-vdb;
- vddif1 = vdbsat-vdb-1.0e-12;
- vddif2 = vddif*vddif;
- *cgd += cox*(1.0-vdbsat*vdbsat/vddif2)/1.5;
- *cgs += cox*(1.0-vddif1*vddif1/vddif2)/1.5;
- }
- }
-
- *cgs = *cgs *.5 + covlgs;
- *cgd = *cgd *.5 + covlgd;
- *cgb = *cgb *.5 + covlgb;
-}
-
-
- /*
- * DEVqmeyer(vgs,vgd,vgb,von,vdsat,capgs,capgd,capgb,phi,cox)
- *
- *
- *
- * Compute the MOS overlap capacitances as functions of the
- * device terminal voltages
- */
-
-/* ARGSUSED */ /* because vgb is no longer used */
-void
-DEVqmeyer(vgs,vgd,vgb,von,vdsat,capgs,capgd,capgb,phi,cox)
-double vgs; /* initial voltage gate-source */
-double vgd; /* initial voltage gate-drain */
-double vgb; /* initial voltage gate-bulk */
-double von;
-double vdsat;
-double *capgs; /* non-constant portion of g-s overlap capacitance */
-double *capgd; /* non-constant portion of g-d overlap capacitance */
-double *capgb; /* non-constant portion of g-b overlap capacitance */
-double phi;
-double cox; /* oxide capactiance */
-
-{
-
-
- double vds;
- double vddif;
- double vddif1;
- double vddif2;
- double vgst;
-
-
- vgst = vgs-von;
- if (vgst <= -phi) {
- *capgb = cox/2;
- *capgs = 0;
- *capgd = 0;
- } else if (vgst <= -phi/2) {
- *capgb = -vgst*cox/(2*phi);
- *capgs = 0;
- *capgd = 0;
- } else if (vgst <= 0) {
- *capgb = -vgst*cox/(2*phi);
- *capgs = vgst*cox/(1.5*phi)+cox/3;
- *capgd = 0;
- } else {
- vds = vgs-vgd;
- if (vdsat <= vds) {
- *capgs = cox/3;
- *capgd = 0;
- *capgb = 0;
- } else {
- vddif = 2.0*vdsat-vds;
- vddif1 = vdsat-vds/*-1.0e-12*/;
- vddif2 = vddif*vddif;
- *capgd = cox*(1.0-vdsat*vdsat/vddif2)/3;
- *capgs = cox*(1.0-vddif1*vddif1/vddif2)/3;
- *capgb = 0;
- }
- }
-
-}
-
-#ifdef notdef
-/* XXX This is no longer used, apparently */
-void
-DEVcap(ckt,vgd,vgs,vgb,covlgd,covlgs,covlgb,
- capbd,capbs,cggb,cgdb,cgsb,cbgb,cbdb,cbsb,
- gcggb,gcgdb,gcgsb,gcbgb,gcbdb,gcbsb,
- gcdgb,gcddb,gcdsb,gcsgb,gcsdb,gcssb,
- qgate,qchan,qbulk,qdrn,qsrc,xqc)
-
-register CKTcircuit *ckt;
- double vgd;
- double vgs;
- double vgb;
- double covlgd;
- double covlgs;
- double covlgb;
- double capbd;
- double capbs;
- double cggb;
- double cgdb;
- double cgsb;
- double cbgb;
- double cbdb;
- double cbsb;
- double *gcggb;
- double *gcgdb;
- double *gcgsb;
- double *gcbgb;
- double *gcbdb;
- double *gcbsb;
- double *gcdgb;
- double *gcddb;
- double *gcdsb;
- double *gcsgb;
- double *gcsdb;
- double *gcssb;
- double qgate;
- double qchan;
- double qbulk;
- double *qdrn;
- double *qsrc;
- double xqc;
-
- /*
- * compute equivalent conductances
- * divide up the channel charge (1-xqc)/xqc to source and drain
- */
-{
-
- double gcd;
- double gcdxd;
- double gcdxs;
- double gcg;
- double gcgxd;
- double gcgxs;
- double gcs;
- double gcsxd;
- double gcsxs;
- double qgb;
- double qgd;
- double qgs;
-
- gcg = (cggb+cbgb)*ckt->CKTag[1];
- gcd = (cgdb+cbdb)*ckt->CKTag[1];
- gcs = (cgsb+cbsb)*ckt->CKTag[1];
- gcgxd = -xqc*gcg;
- gcgxs = -(1-xqc)*gcg;
- gcdxd = -xqc*gcd;
- gcdxs = -(1-xqc)*gcd;
- gcsxd = -xqc*gcs;
- gcsxs = -(1-xqc)*gcs;
- *gcdgb = gcgxd-covlgd*ckt->CKTag[1];
- *gcddb = gcdxd+(capbd+covlgd)*ckt->CKTag[1];
- *gcdsb = gcsxd;
- *gcsgb = gcgxs-covlgs*ckt->CKTag[1];
- *gcsdb = gcdxs;
- *gcssb = gcsxs+(capbs+covlgs)*ckt->CKTag[1];
- *gcggb = (cggb+covlgd+covlgs+covlgb)*ckt->CKTag[1];
- *gcgdb = (cgdb-covlgd)*ckt->CKTag[1];
- *gcgsb = (cgsb-covlgs)*ckt->CKTag[1];
- *gcbgb = (cbgb-covlgb)*ckt->CKTag[1];
- *gcbdb = (cbdb-capbd)*ckt->CKTag[1];
- *gcbsb = (cbsb-capbs)*ckt->CKTag[1];
- /*
- * compute total terminal charges
- */
- qgd = covlgd*vgd;
- qgs = covlgs*vgs;
- qgb = covlgb*vgb;
- qgate = qgate+qgd+qgs+qgb;
- qbulk = qbulk-qgb;
- *qdrn = xqc*qchan-qgd;
- *qsrc = (1-xqc)*qchan-qgs;
- /*
- * finished
- */
-}
-#endif
-
-double DEVpred(ckt,loct)
- CKTcircuit *ckt;
- int loct;
-{
-
- /* predict a value for the capacitor at loct by
- * extrapolating from previous values
- */
-
-#ifndef NEWTRUNC
- double xfact;
- xfact = ckt->CKTdelta/ckt->CKTdeltaOld[1];
- return( ( (1+xfact) * *(ckt->CKTstate1+loct) ) -
- ( xfact * *(ckt->CKTstate2+loct) ) );
-#endif /*NEWTRUNC*/
-
-}
diff --git a/plugins/models-jspice3-2.5/Include.3f5/distodef.h b/plugins/models-jspice3-2.5/Include.3f5/distodef.h
deleted file mode 100644
index 2424f6f3..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/distodef.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1988 Jaijeet S Roychowdhury
-**********/
-
-#ifndef DISTODEF
-#define DISTODEF
-
-#ifdef D_DBG_ALLTIMES
-#define D_DBG_BLOCKTIMES
-#define D_DBG_SMALLTIMES
-#endif
-
-#include "jobdefs.h"
-#include "gendefs.h"
-#include "cktdefs.h"
-
-/* structure for passing a large number of values */
-typedef struct {
-
-double cxx;
-double cyy;
-double czz;
-double cxy;
-double cyz;
-double cxz;
-double cxxx;
-double cyyy;
-double czzz;
-double cxxy;
-double cxxz;
-double cxyy;
-double cyyz;
-double cxzz;
-double cyzz;
-double cxyz;
-double r1h1x;
-double i1h1x;
-double r1h1y;
-double i1h1y;
-double r1h1z;
-double i1h1z;
-double r1h2x;
-double i1h2x;
-double r1h2y;
-double i1h2y;
-double r1h2z;
-double i1h2z;
-double r2h11x;
-double i2h11x;
-double r2h11y;
-double i2h11y;
-double r2h11z;
-double i2h11z;
-double h2f1f2x;
-double ih2f1f2x;
-double h2f1f2y;
-double ih2f1f2y;
-double h2f1f2z;
-double ih2f1f2z;
-
-} DpassStr;
-
-/* structure to keep derivatives of upto 3rd order w.r.t 3 variables */
-typedef struct {
-double value;
-double d1_p;
-double d1_q;
-double d1_r;
-double d2_p2;
-double d2_q2;
-double d2_r2;
-double d2_pq;
-double d2_qr;
-double d2_pr;
-double d3_p3;
-double d3_q3;
-double d3_r3;
-double d3_p2q;
-double d3_p2r;
-double d3_pq2;
-double d3_q2r;
-double d3_pr2;
-double d3_qr2;
-double d3_pqr;
-} Dderivs;
-
- /* structure used to describe an DISTO analysis to be performed */
-typedef struct {
- int JOBtype;
- JOB *JOBnextJob; /* pointer to next thing to do */
- char *JOBname; /* name of this job */
- double DstartF1; /* the start value of the higher frequency for distortion analysis */
- double DstopF1; /* the stop value ove above */
- double DfreqDelta; /* multiplier for decade/octave stepping, */
- /* step for linear steps. */
- double DsaveF1; /* frequency at which we left off last time*/
- int DstepType; /* values described below */
- int DnumSteps;
- int Df2wanted; /* set if f2overf1 is given in the disto command line */
- int Df2given; /* set if at least 1 source has an f2 input */
- double Df2ovrF1; /* ratio of f2 over f1 if 2 frequencies given
- should be < 1 */
- double Domega1; /* current omega1 */
- double Domega2; /* current omega2 */
-
- double* r1H1ptr;
- double* i1H1ptr;
- double* r2H11ptr;
- double* i2H11ptr;
- double* r3H11ptr;
- double* i3H11ptr;
- double* r1H2ptr; /* distortion analysis Volterra transforms */
- double* i1H2ptr;
- double* r2H12ptr;
- double* i2H12ptr;
- double* r2H1m2ptr;
- double* i2H1m2ptr;
- double* r3H1m2ptr;
- double* i3H1m2ptr;
-
- double** r1H1stor;
- double** i1H1stor;
- double** r2H11stor;
- double** i2H11stor;
- double** r3H11stor;
- double** i3H11stor; /*these store computed values*/
- double** r1H2stor; /* for the plots */
- double** i1H2stor;
- double** r2H12stor;
- double** i2H12stor;
- double** r2H1m2stor;
- double** i2H1m2stor;
- double** r3H1m2stor;
- double** i3H1m2stor;
-} DISTOAN;
-
-/* available step types: */
-
-#define DECADE 1
-#define OCTAVE 2
-#define LINEAR 3
-
-/* defns. used in DsetParm */
-
-#define D_DEC 1
-#define D_OCT 2
-#define D_LIN 3
-#define D_START 4
-#define D_STOP 5
-#define D_STEPS 6
-#define D_F2OVRF1 7
-
-/* defns. used by CKTdisto for calling different functions */
-
-#define D_SETUP 1
-#define D_F1 2
-#define D_F2 3
-#define D_TWOF1 4
-#define D_THRF1 5
-#define D_F1PF2 6
-#define D_F1MF2 7
-#define D_2F1MF2 8
-#define D_RHSF1 9
-#define D_RHSF2 10
-
-#ifdef __STDC__
-extern int DsetParm(CKTcircuit*,GENERIC*,int,IFvalue*);
-extern int DaskQuest(CKTcircuit*,GENERIC*,int,IFvalue*);
-extern double D1i2F1(double, double, double);
-extern double D1i3F1(double, double, double, double, double, double);
-extern double D1iF12(double, double, double, double, double);
-extern double D1i2F12(double, double, double, double, double, double, double, double, double, double);
-extern double D1n2F1(double, double, double);
-extern double D1n3F1(double, double, double, double, double, double);
-extern double D1nF12(double, double, double, double, double);
-extern double D1n2F12(double, double, double, double, double, double, double, double, double, double);
-extern double DFn2F1(double, double, double, double, double,
- double, double, double, double, double, double, double);
-extern double DFi2F1(double, double, double, double, double,
- double, double, double, double, double, double, double);
-extern double DFi3F1(double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double);
-extern double DFn3F1(double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double);
-extern double DFnF12(double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double);
-extern double DFiF12(double, double, double, double,
- double, double, double, double, double, double, double,
- double, double, double, double, double, double, double);
-extern double DFn2F12(DpassStr*);
-extern double DFi2F12(DpassStr*);
-#else /* stdc */
-extern int DsetParm();
-extern int DaskQuest();
-extern double D1i2F1();
-extern double D1i3F1();
-extern double D1iF12();
-extern double D1i2F12();
-extern double D1n2F1();
-extern double D1n3F1();
-extern double D1nF12();
-extern double D1n2F12();
-extern double DFn2F1();
-extern double DFi2F1();
-extern double DFn3F1();
-extern double DFi3F1();
-extern double DFnF12();
-extern double DFiF12();
-extern double DFn2F12();
-extern double DFi2F12();
-#endif /* stdc */
-#endif /*DISTODEFS*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/fteconst.h b/plugins/models-jspice3-2.5/Include.3f5/fteconst.h
deleted file mode 100644
index c36ab9e0..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/fteconst.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/* Vector types. */
-
-#ifndef _CONSTANTS_
-#define _CONSTANTS_
-
-#define SV_NOTYPE 0
-#define SV_TIME 1
-#define SV_FREQUENCY 2
-#define SV_VOLTAGE 3
-#define SV_CURRENT 4
-#define SV_OUTPUT_N_DENS 5
-#define SV_OUTPUT_NOISE 6
-#define SV_INPUT_N_DENS 7
-#define SV_INPUT_NOISE 8
-#define SV_POLE 9
-#define SV_ZERO 10
-#define SV_SPARAM 11
-
-#ifdef notdef
-#define SV_OUTPUT_NOISE 5
-#define SV_INPUT_NOISE 6
-#define SV_HD2 7
-#define SV_HD3 8
-#define SV_DIM2 9
-#define SV_SIM2 10
-#define SV_DIM3 11
-#define SV_POLE 12
-#define SV_ZERO 13
-#define SV_SPARAM 14
-#endif
-
-/* Dvec flags. */
-
-#define VF_REAL (1 << 0) /* The data is real. */
-#define VF_COMPLEX (1 << 1) /* The data is complex. */
-#define VF_ACCUM (1 << 2) /* writedata should save this vector. */
-#define VF_PLOT (1 << 3) /* writedata should incrementally plot it. */
-#define VF_PRINT (1 << 4) /* writedata should print this vector. */
-#define VF_MINGIVEN (1 << 5) /* The v_minsignal value is valid. */
-#define VF_MAXGIVEN (1 << 6) /* The v_maxsignal value is valid. */
-#define VF_PERMANENT (1 << 7) /* Don't garbage collect this vector. */
-
-/* Grid types. */
-
-/*
-#define GRID_NONE 0
-#define GRID_LIN 1
-#define GRID_LOGLOG 2
-#define GRID_XLOG 3
-#define GRID_YLOG 4
-#define GRID_POLAR 5
-#define GRID_SMITH 6
-*/
-
-/* SMITHGRID is only a smith grid, SMITH transforms the data */
-typedef enum {
- GRID_NONE = 0, GRID_LIN = 1, GRID_LOGLOG = 2, GRID_XLOG = 3,
- GRID_YLOG = 4, GRID_POLAR = 5, GRID_SMITH = 6, GRID_SMITHGRID = 7
-} GRIDTYPE;
-
-/* Plot types. */
-
-/*
-#define PLOT_LIN 0
-#define PLOT_COMB 1
-#define PLOT_POINT 2
-*/
-
-typedef enum {
- PLOT_LIN = 0, PLOT_COMB = 1, PLOT_POINT = 2
-} PLOTTYPE;
-
-/* The types for command completion keywords. Note that these constants
- * are built into cmdtab.c, so DON'T change them unless you want to
- * change all of the bitmasks in cp_coms.
- * Note that this is spice- and nutmeg- dependent.
- */
-
-#define CT_FILENAME 0
-#define CT_CKTNAMES 2
-#define CT_COMMANDS 3
-#define CT_DBNUMS 4
-#define CT_DEVNAMES 5
-#define CT_LISTINGARGS 6
-#define CT_NODENAMES 7
-#define CT_PLOT 8
-#define CT_PLOTKEYWORDS 9
-#define CT_RUSEARGS 10
-#define CT_STOPARGS 11
-#define CT_UDFUNCS 12
-#define CT_VARIABLES 13
-#define CT_VECTOR 14
-#define CT_TYPENAMES 16
-
-#endif
-
diff --git a/plugins/models-jspice3-2.5/Include.3f5/ftedata.h b/plugins/models-jspice3-2.5/Include.3f5/ftedata.h
deleted file mode 100644
index f8a087c4..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/ftedata.h
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/* RCS Info: $Revision: 1.5 $ on $Date: 88/11/17 02:35:21 $
- * $Source: /ic3/quarles/shared/include/RCS/FTEdata.h,v $
- * Copyright (c) 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
- *
- * Structures used for representing spice data in nutmeg.
- */
-
-#ifndef FTEdata_h
-#define FTEdata_h
-
-#include "cpstd.h" /* for struct complex */
-#include "fteconst.h"
-
-/* A (possibly multi-dimensional) data vector. The data is represented
- * internally by a 1-d array. The number of dimensions and the size
- * of each dimension is recorded, along with v_length, the total size of
- * the array. If the dimensionality is 0 or 1, v_length is significant
- * instead of v_numdims and v_dims, and the vector is handled in the old
- * manner.
- */
-
-#define MAXDIMS 8
-
-struct dvec {
- char *v_name; /* Same as so_vname. */
- int v_type; /* Same as so_vtype. */
- short v_flags; /* Flags (a combination of VF_*). */
- double *v_realdata; /* Real data. */
- complex *v_compdata; /* Complex data. */
- double v_minsignal; /* Minimum value to plot. */
- double v_maxsignal; /* Maximum value to plot. */
- GRIDTYPE v_gridtype; /* One of GRID_*. */
- PLOTTYPE v_plottype; /* One of PLOT_*. */
- int v_length; /* Length of the vector. */
- int v_rlength; /* How much space we really have. */
- int v_outindex; /* Index if writedata is building the vector. */
- int v_linestyle; /* What line style we are using. */
- int v_color; /* What color we are using. */
- char *v_defcolor; /* The name of a color to use. */
- int v_numdims; /* How many dims -- 0 = scalar (len = 1). */
- int v_dims[MAXDIMS]; /* The actual size in each dimension. */
- struct plot *v_plot; /* The plot structure (if it has one). */
- struct dvec *v_next; /* Link for list of plot vectors. */
- struct dvec *v_link2; /* Extra link for things like print. */
- struct dvec *v_scale; /* If this has a non-standard scale... */
-} ;
-
-#define isreal(v) ((v)->v_flags & VF_REAL)
-#define iscomplex(v) ((v)->v_flags & VF_COMPLEX)
-
-/* The information for a particular set of vectors that come from one
- * plot.
- */
-
-struct plot {
- char *pl_title; /* The title card. */
- char *pl_date; /* Date. */
- char *pl_name; /* The plot name. */
- char *pl_typename; /* Tran1, op2, etc. */
- struct dvec *pl_dvecs; /* The data vectors in this plot. */
- struct dvec *pl_scale; /* The "scale" for the rest of the vectors. */
- struct plot *pl_next; /* List of plots. */
- wordlist *pl_commands; /* Commands to execute for this plot. */
- struct variable *pl_env;/* The 'environment' for this plot. */
- char *pl_ccom; /* The ccom struct for this plot. */
- bool pl_written; /* Some or all of the vecs have been saved. */
- int pl_ndims; /* Number of dimensions */
-} ;
-
-#endif /* FTEdata_h */
diff --git a/plugins/models-jspice3-2.5/Include.3f5/ftedefs.h b/plugins/models-jspice3-2.5/Include.3f5/ftedefs.h
deleted file mode 100644
index accd8850..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/ftedefs.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- *
- * General front end stuff.
- */
-#ifndef FTEdefs_h
-#define FTEdefs_h
-
-#define DEF_WIDTH 80 /* Line printer width. */
-#define DEF_HEIGHT 60 /* Line printer height. */
-#define IPOINTMIN 20 /* When we start plotting incremental plots. */
-#include "fteparse.h"
-#include "fteinp.h"
-
-/* The curcuits that are currently available to the user. */
-
-struct circ {
- char *ci_name; /* What the circuit can be called. */
- char *ci_ckt; /* The CKTcircuit structure. */
- INPtables *ci_symtab; /* The INP symbol table. */
- struct line *ci_deck; /* The input deck. */
- struct line *ci_origdeck;/* The input deck, before subckt expansion. */
- struct line *ci_options;/* The .option cards from the deck... */
- struct variable *ci_vars; /* ... and the parsed versions. */
- bool ci_inprogress; /* We are in a break now. */
- bool ci_runonce; /* So com_run can to a reset if necessary... */
- wordlist *ci_commands; /* Things to do when this circuit is done. */
- struct circ *ci_next; /* The next in the list. */
- char *ci_nodes; /* ccom structs for the nodes... */
- char *ci_devices; /* and devices in the circuit. */
- char *ci_filename; /* Where this circuit came from. */
- char *ci_defTask; /* the default task for this circuit */
- char *ci_specTask; /* the special task for command line jobs */
- char *ci_curTask; /* the most recent task for this circuit */
- char *ci_defOpt; /* the default options anal. for this circuit */
- char *ci_specOpt; /* the special options anal. for command line jobs */
- char *ci_curOpt; /* the most recent options anal. for the circuit */
-} ;
-
-struct subcirc {
- char *sc_name; /* Whatever... */
-} ;
-
-struct save_info {
- char *name;
- IFuid *analysis;
- int used;
-};
-
-#define mylog10(xx) (((xx) > 0.0) ? log10(xx) : (- log10(HUGE)))
-
-#include "fteext.h"
-
-#endif /* FTEdefs_h */
diff --git a/plugins/models-jspice3-2.5/Include.3f5/fteext.h b/plugins/models-jspice3-2.5/Include.3f5/fteext.h
deleted file mode 100644
index 4c2ab118..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/fteext.h
+++ /dev/null
@@ -1,525 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1986 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- * Definitions for all external symbols in FTE.
- */
-
-#ifndef FTEext_h
-#define FTEext_h
-
-/* needed to find out what the interface structures look like */
-#include "ifsim.h"
-#include "fteparse.h"
-#include "cpdefs.h"
-#include "ftedefs.h"
-#include "fteinp.h"
-
-/* agraf.c */
-
-extern void ft_agraf();
-
-/* arg.c */
-
-extern int arg_plot();
-extern int arg_display();
-extern int arg_print();
-extern int arg_let();
-extern int arg_load();
-extern int arg_set();
-extern void outmenuprompt();
-
-/* aspice.c */
-
-extern void com_aspice();
-extern void com_jobs();
-extern void com_rspice();
-extern void ft_checkkids();
-
-/* binary.c */
-
-extern void braw_write();
-extern struct plot *braw_read();
-
-/* breakpoint.c */
-
-extern bool ft_bpcheck();
-extern void com_delete();
-extern void com_iplot();
-extern void com_save();
-extern void com_step();
-extern void com_stop();
-extern void com_sttus();
-extern void com_trce();
-extern void ft_trquery();
-extern void dbfree( );
-
-/* circuits.c */
-
-extern struct circ *ft_curckt;
-extern struct circ *ft_circuits;
-extern struct subcirc *ft_subcircuits;
-extern void ft_setccirc();
-extern void ft_newcirc();
-extern void ft_newsubcirc();
-
-/* clip.c */
-
-extern bool clip_line();
-extern bool clip_to_circle();
-
-/* cmath1.c */
-
-extern bool cx_degrees;
-extern char *cx_mag();
-extern char *cx_ph();
-extern char *cx_j();
-extern char *cx_real();
-extern char *cx_imag();
-extern char *cx_pos();
-extern char *cx_db();
-extern char *cx_log();
-extern char *cx_ln();
-extern char *cx_exp();
-extern char *cx_sqrt();
-extern char *cx_sin();
-extern char *cx_cos();
-
-/* cmath2.c */
-
-extern char *cx_tan();
-extern char *cx_atan();
-extern char *cx_norm();
-extern char *cx_uminus();
-extern char *cx_rnd();
-extern char *cx_mean();
-extern char *cx_length();
-extern char *cx_vector();
-extern char *cx_unitvec();
-extern char *cx_plus();
-extern char *cx_minus();
-extern char *cx_times();
-extern char *cx_mod();
-
-/* cmath3.c */
-
-extern char *cx_divide();
-extern char *cx_comma();
-extern char *cx_power();
-extern char *cx_eq();
-extern char *cx_gt();
-extern char *cx_lt();
-extern char *cx_ge();
-extern char *cx_le();
-extern char *cx_ne();
-
-/* cmath4.c */
-
-extern char *cx_and();
-extern char *cx_or();
-extern char *cx_not();
-extern char *cx_interpolate();
-extern char *cx_deriv();
-
-/* cmdtab.c */
-
-extern struct comm *cp_coms;
-
-/* compose.c */
-
-extern void com_compose();
-
-/* cpinterface.c symbols declared in CPextern.h */
-
-/* debugcoms.c */
-
-extern void com_dump();
-extern void com_state();
-
-/* define.c */
-
-extern struct pnode *ft_substdef();
-extern void com_define();
-extern void com_undefine();
-extern void ft_pnode();
-
-/* device.c */
-
-extern void com_show();
-extern void com_showmod();
-extern void com_alter();
-
-/* diff.c */
-
-extern void com_diff();
-
-/* doplot.c */
-
-extern void com_asciiplot();
-extern void com_hardcopy();
-extern void com_plot();
-extern void com_xgraph();
-
-/* dotcards.c */
-
-extern bool ft_acctprint;
-extern bool ft_listprint;
-extern bool ft_nopage;
-extern bool ft_nomod;
-extern bool ft_nodesprint;
-extern bool ft_optsprint;
-extern int ft_cktcoms();
-extern void ft_dotsaves();
-extern int ft_savedotargs();
-
-/* error.c */
-
-extern void fatal();
-extern void fperror();
-extern void ft_sperror();
-extern char ErrorMessage[];
-
-/* evaluate.c */
-
-extern struct dvec *op_and();
-extern struct dvec *op_comma();
-extern struct dvec *op_divide();
-extern struct dvec *op_eq();
-extern struct dvec *ft_evaluate();
-extern struct dvec *op_ge();
-extern struct dvec *op_gt();
-extern struct dvec *op_le();
-extern struct dvec *op_lt();
-extern struct dvec *op_minus();
-extern struct dvec *op_mod();
-extern struct dvec *op_ne();
-extern struct dvec *op_not();
-extern struct dvec *op_or();
-extern struct dvec *op_ind();
-extern struct dvec *op_plus();
-extern struct dvec *op_power();
-extern struct dvec *op_times();
-extern struct dvec *op_uminus();
-extern struct dvec *op_range();
-
-/* fourier.c */
-
-extern void com_fourier();
-
-/* ginterface.c */
-
-extern bool gi_init();
-extern bool gi_endpause;
-extern bool gi_rottext;
-extern int gi_fntheight;
-extern int gi_fntwidth;
-extern int gi_maxx;
-extern int gi_maxy;
-extern int gi_nolst;
-extern int gi_nocolors;
-extern int gi_package;
-extern void gi_arc();
-extern void gi_clearscreen();
-extern void gi_close();
-extern void gi_drawline();
-extern void gi_redraw();
-extern void gi_setcolor();
-extern void gi_resetcolor();
-extern void gi_setlinestyle();
-extern void gi_text();
-extern void gi_update();
-
-/* graf.c */
-
-extern bool gr_gmode;
-extern bool gr_hmode;
-extern bool gr_init();
-extern void gr_clean();
-extern void gr_end();
-extern void gr_iplot();
-extern void gr_iplot_end();
-extern void gr_pmsg();
-extern void gr_point();
-extern void gr_start();
-extern double gr_xrange[2];
-extern double gr_yrange[2];
-extern int gr_xmargin;
-extern int gr_ymargin;
-extern int gr_xcenter;
-extern int gr_ycenter;
-extern int gr_radius;
-extern bool gr_circular;
-
-/* grid.c */
-
-extern void gr_fixgrid();
-
-/* inp.c */
-
-extern void com_edit();
-extern void com_listing();
-extern void com_source();
-extern void inp_dodeck();
-extern void inp_source();
-extern void inp_spsource();
-extern void inp_casefix();
-extern void inp_list();
-extern void inp_readall();
-extern FILE *inp_pathopen();
-
-/* nutinp.c */
-
-extern void inp_nutsource();
-extern void nutinp_dodeck();
-extern void nutcom_source();
-
-/* interpolate.c */
-
-extern bool ft_interpolate();
-extern bool ft_polyfit();
-extern double ft_peval();
-extern void ft_polyderiv( );
-extern void com_linearize();
-
-/* mfbinterface.c */
-
-extern void mi_arc();
-extern bool mi_init();
-extern void mi_clearscreen();
-extern void mi_close();
-extern void mi_drawline();
-extern void mi_resetcolor();
-extern void mi_setcolor();
-extern void mi_setlinestyle();
-extern void mi_text();
-extern void mi_update();
-
-/* misccoms.c */
-
-extern void com_bug();
-extern void com_ahelp();
-extern void com_ghelp();
-extern void com_help();
-extern void com_quit();
-extern void com_version();
-extern int hcomp();
-extern void com_where();
-
-/* numparse.c */
-
-extern bool ft_strictnumparse;
-extern double *ft_numparse();
-
-/* options.c */
-
-extern bool ft_simdb;
-extern bool ft_parsedb;
-extern bool ft_evdb;
-extern bool ft_vecdb;
-extern bool ft_grdb;
-extern bool ft_gidb;
-extern bool ft_controldb;
-extern bool ft_asyncdb;
-extern char *ft_setkwords[];
-extern struct line *inp_getopts();
-extern struct variable *cp_enqvar();
-extern struct variable *cp_uservars();
-extern int cp_userset();
-
-/* parse.c */
-
-extern struct func ft_funcs[];
-extern struct func func_not;
-extern struct func func_uminus;
-extern struct pnode *ft_getpnames();
-extern void free_pnode();
-
-/* plotcurve.c */
-
-extern int ft_findpoint();
-extern double *ft_minmax();
-extern void ft_graf();
-
-/* plotinterface.c */
-
-extern void pi_arc();
-extern bool pi_init();
-extern void pi_clearscreen();
-extern void pi_close();
-extern void pi_drawline();
-extern void pi_resetcolor();
-extern void pi_setcolor();
-extern void pi_setlinestyle();
-extern void pi_text();
-extern void pi_update();
-
-/* postcoms.c */
-
-extern void com_cross();
-extern void com_display();
-extern void com_let();
-extern void com_unlet();
-extern void com_load();
-extern void com_print();
-extern void com_write();
-extern void com_destroy();
-extern void com_splot();
-extern void com_setscale();
-extern void com_transpose();
-
-/* rawfile.c */
-
-extern int raw_prec;
-extern void raw_write();
-extern struct plot *raw_read();
-
-/* resource.c */
-
-extern void com_rusage();
-extern void ft_ckspace();
-extern void init_rlimits();
-
-/* runcoms.c */
-
-extern void com_ac();
-extern void com_dc();
-extern void com_op();
-extern void com_pz();
-extern void com_sens();
-extern void com_rset();
-extern void com_resume();
-extern void com_run();
-extern void com_tran();
-extern void com_tf();
-extern void com_scirc();
-extern void com_disto();
-extern void com_noise();
-extern int ft_dorun();
-
-/* spice.c & nutmeg.c */
-
-extern bool menumode;
-extern bool ft_batchmode;
-extern bool ft_nutmeg;
-extern bool ft_servermode;
-extern IFsimulator *ft_sim;
-extern char *ft_rawfile;
-extern char *cp_program;
-extern SIGNAL_TYPE ft_sigintr();
-extern SIGNAL_TYPE sigfloat();
-extern SIGNAL_TYPE sigstop();
-extern SIGNAL_TYPE sigquit();
-extern SIGNAL_TYPE sigill();
-extern SIGNAL_TYPE sigbus();
-extern SIGNAL_TYPE sigsegv();
-extern SIGNAL_TYPE sig_sys();
-extern void main();
-
-/* spiceif.c & nutmegif.c */
-
-extern bool if_tranparams();
-extern char *if_errstring();
-extern char *if_inpdeck();
-extern int if_run();
-extern int if_sens_run();
-extern struct variable *(*if_getparam)();
-extern struct variable *nutif_getparam();
-extern struct variable *spif_getparam();
-extern void if_cktfree();
-extern void if_dump();
-extern int if_option();
-extern void if_setndnames();
-extern void if_setparam();
-extern struct variable *if_getstat();
-
-/* subckt.c */
-
-extern struct line *inp_deckcopy();
-extern struct line *inp_subcktexpand();
-extern int inp_numnodes();
-
-/* types.c */
-
-extern void com_dftype();
-extern void com_stype();
-extern char *ft_typabbrev();
-extern char *ft_typenames();
-extern char *ft_plotabbrev();
-extern int ft_typnum();
-
-/* vectors.c */
-
-extern bool vec_eq();
-extern int plot_num;
-extern struct dvec *vec_fromplot();
-extern struct dvec *vec_copy();
-extern struct dvec *vec_get();
-extern struct dvec *vec_mkfamily();
-extern struct plot *plot_cur;
-extern struct plot *plot_alloc();
-extern struct plot *plot_list;
-extern int plotl_changed;
-extern void plot_add();
-extern void vec_free();
-extern void vec_gc();
-extern void ft_loadfile();
-extern void vec_new();
-extern void plot_docoms();
-extern void vec_remove();
-extern void ft_sdatafree();
-extern void plot_setcur();
-extern void plot_new();
-extern char *vec_basename();
-extern bool plot_prefix();
-extern void vec_transpose();
-
-/* writedata.c */
-
-extern bool ft_intrpt;
-extern bool ft_setflag;
-extern int wrd_close();
-extern int wrd_command();
-extern int wrd_cptime;
-extern int wrd_end();
-extern int wrd_init();
-extern int wrd_limpts;
-extern int wrd_open();
-extern int wrd_output();
-extern int wrd_point();
-extern int wrd_pt2();
-extern int wrd_run();
-extern int wrd_stopnow();
-extern void wrd_chtrace();
-extern void wrd_error();
-extern void wrd_version();
-extern wordlist *wrd_saves;
-
-/* xinterface.c */
-
-extern void xi_arc();
-extern bool xi_init();
-extern bool xi_dump();
-extern void xi_clearscreen();
-extern void xi_close();
-extern void xi_drawline();
-extern void xi_resetcolor();
-extern void xi_setcolor();
-extern void xi_setlinestyle();
-extern void xi_text();
-extern void xi_update();
-extern void xi_zoomdata();
-extern struct screen *screens;
-extern void com_clearplot();
-
-/* newcoms.c */
-extern void com_reshape();
-
-/* dimens.c */
-extern char *dimstring();
-extern int atodims();
-extern char *indexstring();
-extern int incindex( );
-
-#endif /* FTEext_h */
diff --git a/plugins/models-jspice3-2.5/Include.3f5/fteinp.h b/plugins/models-jspice3-2.5/Include.3f5/fteinp.h
deleted file mode 100644
index 0efc28c4..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/fteinp.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- *
- * Note that this definition must be the same as struct card in INPdefs.h...
- */
-
-#ifndef FTEinput_h
-#define FTEinput_h
-
-#include "inpdefs.h"
-
-struct line {
- int li_linenum;
- char *li_line;
- char *li_error;
- struct line *li_next;
- struct line *li_actual;
-} ;
-
-/* Listing types. */
-
-#define LS_LOGICAL 1
-#define LS_PHYSICAL 2
-#define LS_DECK 3
-
-#endif /* FTEinput_h */
-
diff --git a/plugins/models-jspice3-2.5/Include.3f5/fteparse.h b/plugins/models-jspice3-2.5/Include.3f5/fteparse.h
deleted file mode 100644
index 60b4f29a..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/fteparse.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- *
- * Stuff for parsing -- used by the parser and in ft_evaluate().
- */
-
-#ifndef FTEPARSE
-#define FTEPARSE
-
-
-#include "ftedata.h"
-
-struct pnode {
- char *pn_name; /* If non-NULL, the name. */
- struct dvec *pn_value; /* Non-NULL in a terminal node. */
- struct func *pn_func; /* Non-NULL is a function. */
- struct op *pn_op; /* Operation if the above two NULL. */
- struct pnode *pn_left; /* Left branch or function argument. */
- struct pnode *pn_right; /* Right branch. */
- struct pnode *pn_next; /* For expression lists. */
-} ;
-
-/* Operations. These should really be considered functions. */
-
-struct op {
- int op_num; /* From parser #defines. */
- char *op_name; /* Printing name. */
- char op_arity; /* One or two. */
- struct dvec *(*op_func)(); /* The function to do the work. */
-} ;
-
-/* The functions that are available. */
-
-struct func {
- char *fu_name; /* The print name of the function. */
- char *(*fu_func)(); /* The function. */
-} ;
-
-/* User-definable functions. The idea of ud_name is that the args are
- * kept in strings after the name, all seperated by '\0's. There
- * will be ud_arity of them.
- */
-
-struct udfunc {
- char *ud_name; /* The name. */
- int ud_arity; /* The arity of the function. */
- struct pnode *ud_text; /* The definition. */
- struct udfunc *ud_next; /* Link pointer. */
-} ;
-
-#define MAXARITY 32
-
-/* Parser elements. */
-
-struct element {
- int e_token; /* One of the below. */
- int e_type; /* If the token is VALUE. */
- union {
- char *un_string;
- double un_double;
- struct pnode *un_pnode;
- } e_un;
-#define e_string e_un.un_string
-#define e_double e_un.un_double
-#define e_indices e_un.un_indices
-#define e_pnode e_un.un_pnode
-};
-
-/* See the table in parse.c */
-
-#define END 0
-#define PLUS 1
-#define MINUS 2
-#define TIMES 3
-#define MOD 4
-#define DIVIDE 5
-#define POWER 6
-#define UMINUS 7
-#define LPAREN 8
-#define RPAREN 9
-#define COMMA 10
-#define VALUE 11
-#define EQ 12
-#define GT 13
-#define LT 14
-#define GE 15
-#define LE 16
-#define NE 17
-#define AND 18
-#define OR 19
-#define NOT 20
-#define INDX 21
-#define RANGE 22
-
-#define NUM 1
-#define STRING 2
-#define PNODE 3
-
-#endif /* FTEPARSE */
diff --git a/plugins/models-jspice3-2.5/Include.3f5/gendefs.h b/plugins/models-jspice3-2.5/Include.3f5/gendefs.h
deleted file mode 100644
index 5b93edca..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/gendefs.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef GEN
-#define GEN
-
-#include "ifsim.h"
-
- /* definitions used to describe generic devices */
-
-/* information used to describe a single instance */
-
-typedef struct sGENinstance {
- struct sGENmodel *GENmodPtr; /* backpointer to model */
- struct sGENinstance *GENnextInstance; /* pointer to next instance of
- * current model*/
- IFuid GENname; /* pointer to character string naming this instance */
-#ifndef SPICE_3e
- int GENstate; /* state index number */
-#endif
- int GENnode1; /* appropriate node numbers */
- int GENnode2; /* appropriate node numbers */
- int GENnode3; /* appropriate node numbers */
- int GENnode4; /* appropriate node numbers */
- int GENnode5; /* appropriate node numbers */
-} GENinstance ;
-
-
-/* Generic circuit data */
-
-typedef void GENcircuit;
-
-/* per model data */
-
-typedef struct sGENmodel { /* model structure for a resistor */
- int GENmodType; /* type index of this device type */
- struct sGENmodel *GENnextModel; /* pointer to next possible model in
- * linked list */
- GENinstance * GENinstances; /* pointer to list of instances that have this
- * model */
- IFuid GENmodName; /* pointer to character string naming this model */
-} GENmodel;
-
-#endif /*GEN*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/gendefs.h.orig b/plugins/models-jspice3-2.5/Include.3f5/gendefs.h.orig
deleted file mode 100644
index 75da9da0..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/gendefs.h.orig
+++ /dev/null
@@ -1,44 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef GEN
-#define GEN
-
-#include "ifsim.h"
-
- /* definitions used to describe generic devices */
-
-/* information used to describe a single instance */
-
-typedef struct sGENinstance {
- struct sGENmodel *GENmodPtr; /* backpointer to model */
- struct sGENinstance *GENnextInstance; /* pointer to next instance of
- * current model*/
- IFuid GENname; /* pointer to character string naming this instance */
- int GENstate; /* state index number */
- int GENnode1; /* appropriate node numbers */
- int GENnode2; /* appropriate node numbers */
- int GENnode3; /* appropriate node numbers */
- int GENnode4; /* appropriate node numbers */
- int GENnode5; /* appropriate node numbers */
-} GENinstance ;
-
-
-/* Generic circuit data */
-
-typedef void GENcircuit;
-
-/* per model data */
-
-typedef struct sGENmodel { /* model structure for a resistor */
- int GENmodType; /* type index of this device type */
- struct sGENmodel *GENnextModel; /* pointer to next possible model in
- * linked list */
- GENinstance * GENinstances; /* pointer to list of instances that have this
- * model */
- IFuid GENmodName; /* pointer to character string naming this model */
-} GENmodel;
-
-#endif /*GEN*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/hw.h b/plugins/models-jspice3-2.5/Include.3f5/hw.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/hw.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/iferrmsg.h b/plugins/models-jspice3-2.5/Include.3f5/iferrmsg.h
deleted file mode 100644
index 630b5b29..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/iferrmsg.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1986 Thomas L. Quarles
-**********/
-
-/*
- */
-
-#ifndef IFERRMSGS
-#define IFERRMSGS
-
-
- /* common error message descriptions */
-
-#define E_PAUSE -1 /* pausing on demand */
-
-#define OK 0
-
-#define E_PANIC 1 /* vague internal error for "can't get here" cases */
-#define E_EXISTS 2 /* warning/error - attempt to create duplicate */
- /* instance or model. Old one reused instead */
-#define E_NODEV 3 /* attempt to modify a non-existant instance */
-#define E_NOMOD 4 /* attempt to modify a non-existant model */
-#define E_NOANAL 5 /* attempt to modify a non-existant analysis */
-#define E_NOTERM 6 /* attempt to bind to a non-existant terminal */
-#define E_BADPARM 7 /* attempt to specify a non-existant parameter */
-#define E_NOMEM 8 /* insufficient memory available - VERY FATAL */
-#define E_NODECON 9 /* warning/error - node already connected, old */
- /* connection replaced */
-#define E_UNSUPP 10 /* the specified operation is unsupported by the */
- /* simulator */
-#define E_PARMVAL 11 /* the parameter value specified is illegal */
-#define E_NOTEMPTY 12 /* deleted still referenced item. */
-#define E_NOCHANGE 13 /* simulator can't tolerate any more topology changes */
-#define E_NOTFOUND 14 /* simulator can't find something it was looking for */
-#define E_BAD_DOMAIN 15 /* output interface begin/end domain calls mismatched */
-
-
-#define E_PRIVATE 100 /* messages above this number are private to */
- /* the simulator and MUST be accompanied by */
- /* a proper setting of errMsg */
- /* this constant should be added to all such messages */
- /* to ensure error free operation if it must be */
- /* changed in the future */
-
-extern char *errMsg; /* descriptive message about what went wrong */
- /* MUST be malloc()'d - front end will free() */
- /* this should be a detailed message,and is assumed */
- /* malloc()'d so that you will feel free to add */
- /* lots of descriptive information with sprintf*/
-
-extern char *errRtn; /* name of the routine declaring error */
- /* should not be malloc()'d, will not be free()'d */
- /* This should be a simple constant in your routine */
- /* and thus can be set correctly even if we run out */
- /* of memory */
-
-#endif /*IFERRMSGS*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/ifsim.h b/plugins/models-jspice3-2.5/Include.3f5/ifsim.h
deleted file mode 100644
index 1066f9cb..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/ifsim.h
+++ /dev/null
@@ -1,531 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1986 Thomas L. Quarles
-**********/
-
-#ifndef IFSIMULATOR
-#define IFSIMULATOR
-
-/*
- * We don't always have access to an ANSI C compiler yet, so we
- * make the following convenient definition
- */
-
-#ifdef __STDC__
-
- /* using an ansi C compiler, so we have the void* construct */
-
-typedef void GENERIC;
-
-#else
-
- /* not using an ansi C compiler, so we have to use char* as the */
- /* most generic pointer type */
-
-typedef char GENERIC;
-
-#endif
-/*
- * structure: IFparm
- *
- *
- * The structure used to describe all values passed
- * between the front end and the simulator when there is any
- * possibility one argument of the function could have more
- * than one type.
- *
- * keyword is provided for the front end and is the token
- * the user is expected to label the data with.
- *
- * id is an integer intended to uniquely identify the parameter
- * to the simulator
- *
- * dataType is an integer which indicates the type of argument
- * that must be passed for this parameter
- *
- * description is a longer description intended for help menus
- * the description should all fit on one line, but should
- * give a knowledgable user a good idea what the parameter is
- * used for.
- */
-
-typedef struct sIFparm {
- char *keyword;
- int id;
- int dataType;
- char *description;
-} IFparm;
-
-/*
- *
- * datatype: IFuid
- *
- * unique identifier for all name-type data in the simulator.
- * this permits the front end to use something other than
- * a unique, fully qualified character string to identify
- * an object.
- *
- */
-
-typedef GENERIC *IFuid;
-
-/*
- *
- * types for IFnewUid
- *
- */
-
-#define UID_ANALYSIS 0x1
-#define UID_TASK 0x2
-#define UID_INSTANCE 0x4
-#define UID_MODEL 0x8
-#define UID_SIGNAL 0x10
-#define UID_OTHER 0x20
-
-
-/*
- * dataType values:
- *
- * Note: These structures are put together by ORing together the
- * appropriate bits from the fields below as is shown for the vector
- * types.
- * IF_REQUIRED indicates that the parameter must be specified.
- * The front end does not NEED to check for this, but can to save time,
- * since failure to do so will cause the simulator to fail.
- * IF_SET indicates that the specified item is an input parameter.
- * IF_ASK indicates that the specified item is something the simulator
- * can provide information about.
- * IF_SET and IF_ASK are NOT mutually exclusive.
- * if IF_SET and IF_ASK are both zero, it indicates a parameter that
- * the simulator recoginizes are being a reasonable paremeter, but
- * which this simulator does not implement.
- */
-
-#define IF_FLAG 0x1
-#define IF_INTEGER 0x2
-#define IF_REAL 0x4
-#define IF_COMPLEX 0x8
-#define IF_NODE 0x10
-#define IF_STRING 0x20
-#define IF_INSTANCE 0x40
-#define IF_PARSETREE 0x80
-
-/* indicates that for a query the integer field will have a selector
- * in it to pick a sub-field */
-#define IF_SELECT 0x800
-#define IF_VSELECT 0x400
-
-/* indicates a vector of the specified type */
-#define IF_VECTOR 0x8000
-
-#define IF_FLAGVEC (IF_FLAG|IF_VECTOR)
-#define IF_INTVEC (IF_INTEGER|IF_VECTOR)
-#define IF_REALVEC (IF_REAL|IF_VECTOR)
-#define IF_CPLXVEC (IF_COMPLEX|IF_VECTOR)
-#define IF_NODEVEC (IF_NODE|IF_VECTOR)
-#define IF_STRINGVEC (IF_STRING|IF_VECTOR)
-#define IF_INSTVEC (IF_INSTANCE|IF_VECTOR)
-
-#define IF_REQUIRED 0x4000
-
-#define IF_VARTYPES 0x80ff
-
-#define IF_SET 0x2000
-#define IF_ASK 0x1000
-
-/* If you AND with IF_UNIMP_MASK and get 0, it is recognized, but not
- * implemented
- */
-#define IF_UNIMP_MASK (~0xfff)
-
-/* Used by sensetivity to check if a parameter is or is not useful */
-#define IF_REDUNDANT 0x0010000
-#define IF_PRINCIPAL 0x0020000
-#define IF_AC 0x0040000
-#define IF_AC_ONLY 0x0080000
-#define IF_NOISE 0x0100000
-#define IF_NONSENSE 0x0200000
-
-#define IF_SETQUERY 0x0400000
-#define IF_ORQUERY 0x0800000
-#define IF_CHKQUERY 0x1000000
-
-/* For "show" command: do not print value in a table by default */
-#define IF_UNINTERESTING 0x2000000
-
-/* Structure: IFparseTree
- *
- * This structure is returned by the parser for a IF_PARSETREE valued
- * parameter and describes the information that the simulator needs
- * to know about the parse tree in order to use it.
- * It is expected that the front end will have a more extensive
- * structure which this structure will be a prefix of.
- *
- * Note that the function pointer is provided as a hook for
- * versions which may want to compile code for the parse trees
- * if they are used heavily.
- *
- */
-
-typedef struct sIFparseTree {
- int numVars; /* number of variables used */
- int *varTypes; /* array of types of variables */
- union uIFvalue * vars; /* array of structures describing values */
-#ifdef __STDC__
- int ((*IFeval)(struct sIFparseTree*,double,double*,double*,double*));
-#else
- int ((*IFeval)()); /* function to call to get evaluated */
-#endif /* STDC */
-} IFparseTree;
-
-
-/*
- * Structure: IFvalue
- *
- * structure used to pass the values corresponding to the above
- * dataType. All types are passed in one of these structures, with
- * relatively simple rules concerning the handling of the structure.
- *
- * whoever makes the subroutine call allocates a single instance of the
- * structure. The basic data structure belongs to you, and you
- * should arrange to free it when appropriate.
- *
- * The responsibilities of the data supplier are:
- * Any vectors referenced by the structure are to be malloc()'d
- * and are assumed to have been turned over to the recipient and
- * thus should not be re-used or free()'d.
- *
- * The responsibilities of the data recipient are:
- * scalar valued data is to be copied by the recipient
- * vector valued data is now the property of the recipient,
- * and must be free()'d when no longer needed.
- *
- * Character strings are a special case: Since it is assumed
- * that all character strings are directly descended from input
- * tokens, it is assumed that they are static, thus nobody
- * frees them until the circuit is deleted, when the front end
- * may do so.
- *
- * EVERYBODY's responsibility is to be SURE that the right data
- * is filled in and read out of the structure as per the IFparm
- * structure describing the parameter being passed. Programs
- * neglecting this rule are fated to die of data corruption
- *
- */
-
-/*
- * Some preliminary definitions:
- *
- * IFnode's are returned by the simulator, thus we don't really
- * know what they look like, just that we get to carry pointers
- * to them around all the time, and will need to save them occasionally
- *
- */
-
-
-typedef void * IFnode;
-
-/*
- * and of course, the standard complex data type
- */
-typedef struct sIFcomplex {
- double real;
- double imag;
-} IFcomplex;
-
-
-typedef union uIFvalue {
- int iValue; /* integer or flag valued data */
- double rValue; /* real valued data */
- IFcomplex cValue; /* complex valued data */
- char *sValue; /* string valued data */
- IFuid uValue; /* UID valued data */
- IFnode nValue; /* node valued data */
- IFparseTree *tValue; /* parse tree */
- struct {
- int numValue; /* length of vector */
- union {
- int *iVec; /* pointer to integer vector */
- double *rVec; /* pointer to real vector */
- IFcomplex *cVec;/* pointer to complex vector */
- char **sVec; /* pointer to string vector */
- IFuid *uVec; /* pointer to UID vector */
- IFnode *nVec; /* pointer to node vector */
- }vec;
- }v;
-} IFvalue;
-
-
-/*
- * structure: IFdevice
- *
- * This structure contains all the information available to the
- * front end about a particular device. The simulator will
- * present the front end with an array of pointers to these structures
- * which it will use to determine legal device types and parameters.
- *
- * Note to simulators: you are passing an array of pointers to
- * these structures, so you may in fact make this the first component
- * in a larger, more complex structure which includes other data
- * which you need, but which is not needed in the common
- * front end interface.
- *
- */
-
-typedef struct sIFdevice {
- const char *name; /* name of this type of device */
- const char *description; /* description of this type of device */
-
- int *terms; /* number of terminals on this device */
- int *numNames; /* number of names in termNames */
- char **termNames; /* pointer to array of pointers to names */
- /* array contains 'terms' pointers */
-
- int *numInstanceParms; /* number of instance parameter descriptors */
- IFparm *instanceParms; /* array of instance parameter descriptors */
-
- int *numModelParms; /* number of model parameter descriptors */
- IFparm *modelParms; /* array of model parameter descriptors */
-
-#ifndef SPICE_3e
- int flags; /* DEV_ */
-#endif
-
-} IFdevice;
-
-
-/*
- * Structure: IFanalysis
- *
- * This structure contains all the information available to the
- * front end about a particular analysis type. The simulator will
- * present the front end with an array of pointers to these structures
- * which it will use to determine legal analysis types and parameters.
- *
- * Note to simulators: As for IFdevice above, you pass an array of pointers
- * to these, so you can make this structure a prefix to a larger structure
- * which you use internally.
- *
- */
-
-typedef struct sIFanalysis {
- char *name; /* name of this analysis type */
- char *description; /* description of this type of analysis */
-
- int numParms; /* number of analysis parameter descriptors */
- IFparm *analysisParms; /* array of analysis parameter descriptors */
-
-} IFanalysis;
-
-
-/*
- * Structure: IFsimulator
- *
- * This is what we have been leading up to all along.
- * This structure describes a simulator to the front end, and is
- * returned from the SIMinit command to the front end.
- * This is where all those neat structures we described in the first
- * few hundred lines of this file come from.
- *
- */
-
-typedef struct sIFsimulator {
- char *simulator; /* the simulator's name */
- char *description; /* description of this simulator */
- char *version; /* version or revision level of simulator*/
-
-#ifdef __STDC__
- int ((*newCircuit)(GENERIC **));
- /* create new circuit */
- int ((*deleteCircuit)(GENERIC *));
- /* destroy old circuit's data structures*/
-
- int ((*newNode)(GENERIC *,GENERIC**,IFuid));
- /* create new node */
- int ((*groundNode)(GENERIC*,GENERIC**,IFuid));
- /* create ground node */
- int ((*bindNode)(GENERIC *,GENERIC*,int,GENERIC*));
- /* bind a node to a terminal */
- int ((*findNode)(GENERIC *,GENERIC**,IFuid));
- /* find a node by name */
- int ((*instToNode)(GENERIC *,GENERIC *,int,GENERIC **,IFuid *));
- /* find the node attached to a terminal */
- int ((*setNodeParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on a node */
- int ((*askNodeQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about a node */
- int ((*deleteNode)(GENERIC*,GENERIC*));
- /* delete a node from the circuit */
-
- int ((*newInstance)(GENERIC*,GENERIC*,GENERIC**,IFuid));
- /* create new instance */
- int ((*setInstanceParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on an instance */
- int ((*askInstanceQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about an instance */
- int ((*findInstance)(GENERIC*,int*,GENERIC**,IFuid,GENERIC*,IFuid));
- /* find a specific instance */
- int ((*deleteInstance)(GENERIC*,GENERIC*));
- /* delete an instance from the circuit */
-
- int ((*newModel)(GENERIC*,int,GENERIC**,IFuid));
- /* create new model */
- int ((*setModelParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on a model */
- int ((*askModelQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a questions about a model */
- int ((*findModel)(GENERIC*,int*,GENERIC**,IFuid));
- /* find a specific model */
- int ((*deleteModel)(GENERIC*,GENERIC*));
- /* delete a model from the circuit*/
-
- int ((*newTask)(GENERIC*,GENERIC**,IFuid));
- /* create a new task */
- int ((*newAnalysis)(GENERIC*,int,IFuid,GENERIC**,GENERIC*));
- /* create new analysis within a task */
- int ((*setAnalysisParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on an analysis */
- int ((*askAnalysisQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about an analysis */
- int ((*findAnalysis)(GENERIC*,int*,GENERIC**,IFuid,GENERIC*,IFuid));
- /* find a specific analysis */
- int ((*findTask)(GENERIC*,GENERIC**,IFuid));
- /* find a specific task */
- int ((*deleteTask)(GENERIC*,GENERIC*));
- /* delete a task */
-
- int ((*doAnalyses)(GENERIC*,int,GENERIC*));
- char *((*nonconvErr)(GENERIC*,char *)); /* return nonconvergence error */
-#else
- int ((*newCircuit)()); /* create new circuit */
- int ((*deleteCircuit)()); /* destroy old circuit's data structures */
-
- int ((*newNode)()); /* create new node */
- int ((*groundNode)()); /* create ground node */
- int ((*bindNode)()); /* bind a node to a terminal */
- int ((*findNode)()); /* find a node by name */
- int ((*instToNode)()); /* find the node attached to a terminal */
- int ((*setNodeParm)()); /* set a parameter on a node */
- int ((*askNodeQuest)()); /* ask a question about a node */
- int ((*deleteNode)()); /* delete a node from the circuit */
-
- int ((*newInstance)()); /* create new instance */
- int ((*setInstanceParm)()); /* set a parameter on an instance */
- int ((*askInstanceQuest)()); /* ask a question about an instance */
- int ((*findInstance)()); /* find a specific instance */
- int ((*deleteInstance)()); /* delete an instance from the circuit */
-
- int ((*newModel)()); /* create new model */
- int ((*setModelParm)()); /* set a parameter on a model */
- int ((*askModelQuest)()); /* ask a questions about a model */
- int ((*findModel)()); /* find a specific model */
- int ((*deleteModel)()); /* delete a model from the circuit*/
-
- int ((*newTask)()); /* create a new task */
- int ((*newAnalysis)()); /* create new analysis within a task */
- int ((*setAnalysisParm)()); /* set a parameter on an analysis */
- int ((*askAnalysisQuest)()); /* ask a question about an analysis */
- int ((*findAnalysis)()); /* find a specific analysis */
- int ((*findTask)()); /* find a specific task */
- int ((*deleteTask)()); /* delete a task */
-
- int ((*doAnalyses)()); /* run a specified task */
- char *((*nonconvErr)()); /* return nonconvergence error */
-#endif /* STDC */
-
- int numDevices; /* number of device types supported */
- IFdevice **devices; /* array of device type descriptors */
-
- int numAnalyses; /* number of analysis types supported */
- IFanalysis **analyses; /* array of analysis type descriptors */
-
- int numNodeParms; /* number of node parameters supported */
- IFparm *nodeParms; /* array of node parameter descriptors */
-
- int numSpecSigs; /* number of special signals legal in parse trees */
- char **specSigs; /* names of special signals legal in parse trees */
-
-} IFsimulator;
-
-/*
- * Structure: IFfrontEnd
- *
- * This structure provides the simulator with all the information
- * it needs about the front end. This is the entire set of
- * front end and back end related routines the simulator
- * should know about.
- *
- */
-
-typedef struct sIFfrontEnd {
-#ifdef __STDC__
- int ((*IFnewUid)(GENERIC*,IFuid*,IFuid,char*,int,GENERIC**));
- /* create a new UID in the circuit */
- int ((*IFdelUid)(GENERIC*,IFuid,int));
- /* create a new UID in the circuit */
- int ((*IFpauseTest)(void));
- /* should we stop now? */
- double ((*IFseconds)(void));
- /* what time is it? */
- int ((*IFerror)(int,char*,IFuid*));
- /* output an error or warning message */
- int ((*OUTpBeginPlot)(GENERIC*,GENERIC*,IFuid,IFuid,int,
- int,IFuid*,int,GENERIC**));
- /* start pointwise output plot */
- int ((*OUTpData)(GENERIC*,IFvalue*,IFvalue*));
- /* data for pointwise plot */
- int ((*OUTwBeginPlot)(GENERIC*,GENERIC*,IFuid,IFuid,int,
- int,IFuid*,int,GENERIC**));
- /* start windowed output plot */
- int ((*OUTwReference)(GENERIC*,IFvalue*,GENERIC**));
- /* independent vector for windowed plot */
- int ((*OUTwData)(GENERIC*,int,IFvalue*,GENERIC*));
- /* data for windowed plot */
- int ((*OUTwEnd)(GENERIC*));
- /* signal end of windows */
- int ((*OUTendPlot)(GENERIC*));
- /* end of plot */
- int ((*OUTbeginDomain)(GENERIC*,IFuid,int,IFvalue*));
- /* start nested domain */
- int ((*OUTendDomain)(GENERIC*));
- /* end nested domain */
- int ((*OUTattributes)(GENERIC *,IFuid*,int,IFvalue*));
- /* specify output attributes of node */
-#else /* not STDC */
- int ((*IFnewUid)()); /* create a new UID in the circuit */
- int ((*IFdelUid)()); /* create a new UID in the circuit */
- int ((*IFpauseTest)()); /* should we stop now? */
- double ((*IFseconds)()); /* what time is it? */
- int ((*IFerror)()); /* output an error or warning message */
- int ((*OUTpBeginPlot)()); /* start pointwise output plot */
- int ((*OUTpData)()); /* data for pointwise plot */
- int ((*OUTwBeginPlot)()); /* start windowed output plot */
- int ((*OUTwReference)()); /* independent vector for windowed plot */
- int ((*OUTwData)()); /* data for windowed plot */
- int ((*OUTwEnd)()); /* signal end of windows */
- int ((*OUTendPlot)()); /* end of plot */
- int ((*OUTbeginDomain)()); /* start nested domain */
- int ((*OUTendDomain)()); /* end nested domain */
- int ((*OUTattributes)()); /* specify output attributes of node */
-#endif /* STDC */
-} IFfrontEnd;
-
-/* flags for the first argument to IFerror */
-#define ERR_WARNING 0x1
-#define ERR_FATAL 0x2
-#define ERR_PANIC 0x4
-#define ERR_INFO 0x8
-
- /* valid values for the second argument to doAnalyses */
-
- /* continue the analysis from where we left off */
-#define RESUME 0
- /* start everything over from the beginning of this task*/
-#define RESTART 1
- /* abandon the current analysis and go on the the next in the task*/
-#define SKIPTONEXT 2
-
-#define OUT_SCALE_LIN 1
-#define OUT_SCALE_LOG 2
-
-#endif /*IFSIMULATOR*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/ifsim.h.orig b/plugins/models-jspice3-2.5/Include.3f5/ifsim.h.orig
deleted file mode 100644
index 58578a94..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/ifsim.h.orig
+++ /dev/null
@@ -1,529 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1986 Thomas L. Quarles
-**********/
-
-#ifndef IFSIMULATOR
-#define IFSIMULATOR
-
-/*
- * We don't always have access to an ANSI C compiler yet, so we
- * make the following convenient definition
- */
-
-#ifdef __STDC__
-
- /* using an ansi C compiler, so we have the void* construct */
-
-typedef void GENERIC;
-
-#else
-
- /* not using an ansi C compiler, so we have to use char* as the */
- /* most generic pointer type */
-
-typedef char GENERIC;
-
-#endif
-/*
- * structure: IFparm
- *
- *
- * The structure used to describe all values passed
- * between the front end and the simulator when there is any
- * possibility one argument of the function could have more
- * than one type.
- *
- * keyword is provided for the front end and is the token
- * the user is expected to label the data with.
- *
- * id is an integer intended to uniquely identify the parameter
- * to the simulator
- *
- * dataType is an integer which indicates the type of argument
- * that must be passed for this parameter
- *
- * description is a longer description intended for help menus
- * the description should all fit on one line, but should
- * give a knowledgable user a good idea what the parameter is
- * used for.
- */
-
-typedef struct sIFparm {
- char *keyword;
- int id;
- int dataType;
- char *description;
-} IFparm;
-
-/*
- *
- * datatype: IFuid
- *
- * unique identifier for all name-type data in the simulator.
- * this permits the front end to use something other than
- * a unique, fully qualified character string to identify
- * an object.
- *
- */
-
-typedef GENERIC *IFuid;
-
-/*
- *
- * types for IFnewUid
- *
- */
-
-#define UID_ANALYSIS 0x1
-#define UID_TASK 0x2
-#define UID_INSTANCE 0x4
-#define UID_MODEL 0x8
-#define UID_SIGNAL 0x10
-#define UID_OTHER 0x20
-
-
-/*
- * dataType values:
- *
- * Note: These structures are put together by ORing together the
- * appropriate bits from the fields below as is shown for the vector
- * types.
- * IF_REQUIRED indicates that the parameter must be specified.
- * The front end does not NEED to check for this, but can to save time,
- * since failure to do so will cause the simulator to fail.
- * IF_SET indicates that the specified item is an input parameter.
- * IF_ASK indicates that the specified item is something the simulator
- * can provide information about.
- * IF_SET and IF_ASK are NOT mutually exclusive.
- * if IF_SET and IF_ASK are both zero, it indicates a parameter that
- * the simulator recoginizes are being a reasonable paremeter, but
- * which this simulator does not implement.
- */
-
-#define IF_FLAG 0x1
-#define IF_INTEGER 0x2
-#define IF_REAL 0x4
-#define IF_COMPLEX 0x8
-#define IF_NODE 0x10
-#define IF_STRING 0x20
-#define IF_INSTANCE 0x40
-#define IF_PARSETREE 0x80
-
-/* indicates that for a query the integer field will have a selector
- * in it to pick a sub-field */
-#define IF_SELECT 0x800
-#define IF_VSELECT 0x400
-
-/* indicates a vector of the specified type */
-#define IF_VECTOR 0x8000
-
-#define IF_FLAGVEC (IF_FLAG|IF_VECTOR)
-#define IF_INTVEC (IF_INTEGER|IF_VECTOR)
-#define IF_REALVEC (IF_REAL|IF_VECTOR)
-#define IF_CPLXVEC (IF_COMPLEX|IF_VECTOR)
-#define IF_NODEVEC (IF_NODE|IF_VECTOR)
-#define IF_STRINGVEC (IF_STRING|IF_VECTOR)
-#define IF_INSTVEC (IF_INSTANCE|IF_VECTOR)
-
-#define IF_REQUIRED 0x4000
-
-#define IF_VARTYPES 0x80ff
-
-#define IF_SET 0x2000
-#define IF_ASK 0x1000
-
-/* If you AND with IF_UNIMP_MASK and get 0, it is recognized, but not
- * implemented
- */
-#define IF_UNIMP_MASK (~0xfff)
-
-/* Used by sensetivity to check if a parameter is or is not useful */
-#define IF_REDUNDANT 0x0010000
-#define IF_PRINCIPAL 0x0020000
-#define IF_AC 0x0040000
-#define IF_AC_ONLY 0x0080000
-#define IF_NOISE 0x0100000
-#define IF_NONSENSE 0x0200000
-
-#define IF_SETQUERY 0x0400000
-#define IF_ORQUERY 0x0800000
-#define IF_CHKQUERY 0x1000000
-
-/* For "show" command: do not print value in a table by default */
-#define IF_UNINTERESTING 0x2000000
-
-/* Structure: IFparseTree
- *
- * This structure is returned by the parser for a IF_PARSETREE valued
- * parameter and describes the information that the simulator needs
- * to know about the parse tree in order to use it.
- * It is expected that the front end will have a more extensive
- * structure which this structure will be a prefix of.
- *
- * Note that the function pointer is provided as a hook for
- * versions which may want to compile code for the parse trees
- * if they are used heavily.
- *
- */
-
-typedef struct sIFparseTree {
- int numVars; /* number of variables used */
- int *varTypes; /* array of types of variables */
- union uIFvalue * vars; /* array of structures describing values */
-#ifdef __STDC__
- int ((*IFeval)(struct sIFparseTree*,double,double*,double*,double*));
-#else
- int ((*IFeval)()); /* function to call to get evaluated */
-#endif /* STDC */
-} IFparseTree;
-
-
-/*
- * Structure: IFvalue
- *
- * structure used to pass the values corresponding to the above
- * dataType. All types are passed in one of these structures, with
- * relatively simple rules concerning the handling of the structure.
- *
- * whoever makes the subroutine call allocates a single instance of the
- * structure. The basic data structure belongs to you, and you
- * should arrange to free it when appropriate.
- *
- * The responsibilities of the data supplier are:
- * Any vectors referenced by the structure are to be malloc()'d
- * and are assumed to have been turned over to the recipient and
- * thus should not be re-used or free()'d.
- *
- * The responsibilities of the data recipient are:
- * scalar valued data is to be copied by the recipient
- * vector valued data is now the property of the recipient,
- * and must be free()'d when no longer needed.
- *
- * Character strings are a special case: Since it is assumed
- * that all character strings are directly descended from input
- * tokens, it is assumed that they are static, thus nobody
- * frees them until the circuit is deleted, when the front end
- * may do so.
- *
- * EVERYBODY's responsibility is to be SURE that the right data
- * is filled in and read out of the structure as per the IFparm
- * structure describing the parameter being passed. Programs
- * neglecting this rule are fated to die of data corruption
- *
- */
-
-/*
- * Some preliminary definitions:
- *
- * IFnode's are returned by the simulator, thus we don't really
- * know what they look like, just that we get to carry pointers
- * to them around all the time, and will need to save them occasionally
- *
- */
-
-
-typedef void * IFnode;
-
-/*
- * and of course, the standard complex data type
- */
-typedef struct sIFcomplex {
- double real;
- double imag;
-} IFcomplex;
-
-
-typedef union uIFvalue {
- int iValue; /* integer or flag valued data */
- double rValue; /* real valued data */
- IFcomplex cValue; /* complex valued data */
- char *sValue; /* string valued data */
- IFuid uValue; /* UID valued data */
- IFnode nValue; /* node valued data */
- IFparseTree *tValue; /* parse tree */
- struct {
- int numValue; /* length of vector */
- union {
- int *iVec; /* pointer to integer vector */
- double *rVec; /* pointer to real vector */
- IFcomplex *cVec;/* pointer to complex vector */
- char **sVec; /* pointer to string vector */
- IFuid *uVec; /* pointer to UID vector */
- IFnode *nVec; /* pointer to node vector */
- }vec;
- }v;
-} IFvalue;
-
-
-/*
- * structure: IFdevice
- *
- * This structure contains all the information available to the
- * front end about a particular device. The simulator will
- * present the front end with an array of pointers to these structures
- * which it will use to determine legal device types and parameters.
- *
- * Note to simulators: you are passing an array of pointers to
- * these structures, so you may in fact make this the first component
- * in a larger, more complex structure which includes other data
- * which you need, but which is not needed in the common
- * front end interface.
- *
- */
-
-typedef struct sIFdevice {
- char *name; /* name of this type of device */
- char *description; /* description of this type of device */
-
- int *terms; /* number of terminals on this device */
- int *numNames; /* number of names in termNames */
- char **termNames; /* pointer to array of pointers to names */
- /* array contains 'terms' pointers */
-
- int *numInstanceParms; /* number of instance parameter descriptors */
- IFparm *instanceParms; /* array of instance parameter descriptors */
-
- int *numModelParms; /* number of model parameter descriptors */
- IFparm *modelParms; /* array of model parameter descriptors */
-
- int flags; /* DEV_ */
-
-} IFdevice;
-
-
-/*
- * Structure: IFanalysis
- *
- * This structure contains all the information available to the
- * front end about a particular analysis type. The simulator will
- * present the front end with an array of pointers to these structures
- * which it will use to determine legal analysis types and parameters.
- *
- * Note to simulators: As for IFdevice above, you pass an array of pointers
- * to these, so you can make this structure a prefix to a larger structure
- * which you use internally.
- *
- */
-
-typedef struct sIFanalysis {
- char *name; /* name of this analysis type */
- char *description; /* description of this type of analysis */
-
- int numParms; /* number of analysis parameter descriptors */
- IFparm *analysisParms; /* array of analysis parameter descriptors */
-
-} IFanalysis;
-
-
-/*
- * Structure: IFsimulator
- *
- * This is what we have been leading up to all along.
- * This structure describes a simulator to the front end, and is
- * returned from the SIMinit command to the front end.
- * This is where all those neat structures we described in the first
- * few hundred lines of this file come from.
- *
- */
-
-typedef struct sIFsimulator {
- char *simulator; /* the simulator's name */
- char *description; /* description of this simulator */
- char *version; /* version or revision level of simulator*/
-
-#ifdef __STDC__
- int ((*newCircuit)(GENERIC **));
- /* create new circuit */
- int ((*deleteCircuit)(GENERIC *));
- /* destroy old circuit's data structures*/
-
- int ((*newNode)(GENERIC *,GENERIC**,IFuid));
- /* create new node */
- int ((*groundNode)(GENERIC*,GENERIC**,IFuid));
- /* create ground node */
- int ((*bindNode)(GENERIC *,GENERIC*,int,GENERIC*));
- /* bind a node to a terminal */
- int ((*findNode)(GENERIC *,GENERIC**,IFuid));
- /* find a node by name */
- int ((*instToNode)(GENERIC *,GENERIC *,int,GENERIC **,IFuid *));
- /* find the node attached to a terminal */
- int ((*setNodeParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on a node */
- int ((*askNodeQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about a node */
- int ((*deleteNode)(GENERIC*,GENERIC*));
- /* delete a node from the circuit */
-
- int ((*newInstance)(GENERIC*,GENERIC*,GENERIC**,IFuid));
- /* create new instance */
- int ((*setInstanceParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on an instance */
- int ((*askInstanceQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about an instance */
- int ((*findInstance)(GENERIC*,int*,GENERIC**,IFuid,GENERIC*,IFuid));
- /* find a specific instance */
- int ((*deleteInstance)(GENERIC*,GENERIC*));
- /* delete an instance from the circuit */
-
- int ((*newModel)(GENERIC*,int,GENERIC**,IFuid));
- /* create new model */
- int ((*setModelParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on a model */
- int ((*askModelQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a questions about a model */
- int ((*findModel)(GENERIC*,int*,GENERIC**,IFuid));
- /* find a specific model */
- int ((*deleteModel)(GENERIC*,GENERIC*));
- /* delete a model from the circuit*/
-
- int ((*newTask)(GENERIC*,GENERIC**,IFuid));
- /* create a new task */
- int ((*newAnalysis)(GENERIC*,int,IFuid,GENERIC**,GENERIC*));
- /* create new analysis within a task */
- int ((*setAnalysisParm)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* set a parameter on an analysis */
- int ((*askAnalysisQuest)(GENERIC*,GENERIC*,int,IFvalue*,IFvalue*));
- /* ask a question about an analysis */
- int ((*findAnalysis)(GENERIC*,int*,GENERIC**,IFuid,GENERIC*,IFuid));
- /* find a specific analysis */
- int ((*findTask)(GENERIC*,GENERIC**,IFuid));
- /* find a specific task */
- int ((*deleteTask)(GENERIC*,GENERIC*));
- /* delete a task */
-
- int ((*doAnalyses)(GENERIC*,int,GENERIC*));
- char *((*nonconvErr)(GENERIC*,char *)); /* return nonconvergence error */
-#else
- int ((*newCircuit)()); /* create new circuit */
- int ((*deleteCircuit)()); /* destroy old circuit's data structures */
-
- int ((*newNode)()); /* create new node */
- int ((*groundNode)()); /* create ground node */
- int ((*bindNode)()); /* bind a node to a terminal */
- int ((*findNode)()); /* find a node by name */
- int ((*instToNode)()); /* find the node attached to a terminal */
- int ((*setNodeParm)()); /* set a parameter on a node */
- int ((*askNodeQuest)()); /* ask a question about a node */
- int ((*deleteNode)()); /* delete a node from the circuit */
-
- int ((*newInstance)()); /* create new instance */
- int ((*setInstanceParm)()); /* set a parameter on an instance */
- int ((*askInstanceQuest)()); /* ask a question about an instance */
- int ((*findInstance)()); /* find a specific instance */
- int ((*deleteInstance)()); /* delete an instance from the circuit */
-
- int ((*newModel)()); /* create new model */
- int ((*setModelParm)()); /* set a parameter on a model */
- int ((*askModelQuest)()); /* ask a questions about a model */
- int ((*findModel)()); /* find a specific model */
- int ((*deleteModel)()); /* delete a model from the circuit*/
-
- int ((*newTask)()); /* create a new task */
- int ((*newAnalysis)()); /* create new analysis within a task */
- int ((*setAnalysisParm)()); /* set a parameter on an analysis */
- int ((*askAnalysisQuest)()); /* ask a question about an analysis */
- int ((*findAnalysis)()); /* find a specific analysis */
- int ((*findTask)()); /* find a specific task */
- int ((*deleteTask)()); /* delete a task */
-
- int ((*doAnalyses)()); /* run a specified task */
- char *((*nonconvErr)()); /* return nonconvergence error */
-#endif /* STDC */
-
- int numDevices; /* number of device types supported */
- IFdevice **devices; /* array of device type descriptors */
-
- int numAnalyses; /* number of analysis types supported */
- IFanalysis **analyses; /* array of analysis type descriptors */
-
- int numNodeParms; /* number of node parameters supported */
- IFparm *nodeParms; /* array of node parameter descriptors */
-
- int numSpecSigs; /* number of special signals legal in parse trees */
- char **specSigs; /* names of special signals legal in parse trees */
-
-} IFsimulator;
-
-/*
- * Structure: IFfrontEnd
- *
- * This structure provides the simulator with all the information
- * it needs about the front end. This is the entire set of
- * front end and back end related routines the simulator
- * should know about.
- *
- */
-
-typedef struct sIFfrontEnd {
-#ifdef __STDC__
- int ((*IFnewUid)(GENERIC*,IFuid*,IFuid,char*,int,GENERIC**));
- /* create a new UID in the circuit */
- int ((*IFdelUid)(GENERIC*,IFuid,int));
- /* create a new UID in the circuit */
- int ((*IFpauseTest)(void));
- /* should we stop now? */
- double ((*IFseconds)(void));
- /* what time is it? */
- int ((*IFerror)(int,char*,IFuid*));
- /* output an error or warning message */
- int ((*OUTpBeginPlot)(GENERIC*,GENERIC*,IFuid,IFuid,int,
- int,IFuid*,int,GENERIC**));
- /* start pointwise output plot */
- int ((*OUTpData)(GENERIC*,IFvalue*,IFvalue*));
- /* data for pointwise plot */
- int ((*OUTwBeginPlot)(GENERIC*,GENERIC*,IFuid,IFuid,int,
- int,IFuid*,int,GENERIC**));
- /* start windowed output plot */
- int ((*OUTwReference)(GENERIC*,IFvalue*,GENERIC**));
- /* independent vector for windowed plot */
- int ((*OUTwData)(GENERIC*,int,IFvalue*,GENERIC*));
- /* data for windowed plot */
- int ((*OUTwEnd)(GENERIC*));
- /* signal end of windows */
- int ((*OUTendPlot)(GENERIC*));
- /* end of plot */
- int ((*OUTbeginDomain)(GENERIC*,IFuid,int,IFvalue*));
- /* start nested domain */
- int ((*OUTendDomain)(GENERIC*));
- /* end nested domain */
- int ((*OUTattributes)(GENERIC *,IFuid*,int,IFvalue*));
- /* specify output attributes of node */
-#else /* not STDC */
- int ((*IFnewUid)()); /* create a new UID in the circuit */
- int ((*IFdelUid)()); /* create a new UID in the circuit */
- int ((*IFpauseTest)()); /* should we stop now? */
- double ((*IFseconds)()); /* what time is it? */
- int ((*IFerror)()); /* output an error or warning message */
- int ((*OUTpBeginPlot)()); /* start pointwise output plot */
- int ((*OUTpData)()); /* data for pointwise plot */
- int ((*OUTwBeginPlot)()); /* start windowed output plot */
- int ((*OUTwReference)()); /* independent vector for windowed plot */
- int ((*OUTwData)()); /* data for windowed plot */
- int ((*OUTwEnd)()); /* signal end of windows */
- int ((*OUTendPlot)()); /* end of plot */
- int ((*OUTbeginDomain)()); /* start nested domain */
- int ((*OUTendDomain)()); /* end nested domain */
- int ((*OUTattributes)()); /* specify output attributes of node */
-#endif /* STDC */
-} IFfrontEnd;
-
-/* flags for the first argument to IFerror */
-#define ERR_WARNING 0x1
-#define ERR_FATAL 0x2
-#define ERR_PANIC 0x4
-#define ERR_INFO 0x8
-
- /* valid values for the second argument to doAnalyses */
-
- /* continue the analysis from where we left off */
-#define RESUME 0
- /* start everything over from the beginning of this task*/
-#define RESTART 1
- /* abandon the current analysis and go on the the next in the task*/
-#define SKIPTONEXT 2
-
-#define OUT_SCALE_LIN 1
-#define OUT_SCALE_LOG 2
-
-#endif /*IFSIMULATOR*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/inpdefs.h b/plugins/models-jspice3-2.5/Include.3f5/inpdefs.h
deleted file mode 100644
index fb2d3fec..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/inpdefs.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef INP
-#define INP
-
- /* structure declarations used by either/both input package */
-
-#include "ifsim.h"
-#include "gendefs.h"
-#include "inpptree.h"
-
-struct INPtab {
- char *t_ent;
- struct INPtab *t_next;
-};
-
-struct INPnTab {
- char *t_ent;
- GENERIC* t_node;
- struct INPnTab *t_next;
-};
-
-typedef struct sINPtables{
- struct INPtab **INPsymtab;
- struct INPnTab **INPtermsymtab;
- int INPsize;
- int INPtermsize;
- GENERIC *defAmod;
- GENERIC *defBmod;
- GENERIC *defCmod;
- GENERIC *defDmod;
- GENERIC *defEmod;
- GENERIC *defFmod;
- GENERIC *defGmod;
- GENERIC *defHmod;
- GENERIC *defImod;
- GENERIC *defJmod;
- GENERIC *defKmod;
- GENERIC *defLmod;
- GENERIC *defMmod;
- GENERIC *defNmod;
- GENERIC *defOmod;
- GENERIC *defPmod;
- GENERIC *defQmod;
- GENERIC *defRmod;
- GENERIC *defSmod;
- GENERIC *defTmod;
- GENERIC *defUmod;
- GENERIC *defVmod;
- GENERIC *defWmod;
- GENERIC *defYmod;
- GENERIC *defZmod;
-} INPtables;
-
-typedef struct card{
- int linenum;
- char *line;
- char *error;
- struct card *nextcard;
- struct card *actualLine;
-} card;
-
-/* structure used to save models in after they are read during pass 1 */
-typedef struct sINPmodel{
- IFuid INPmodName; /* uid of model */
- int INPmodType; /* type index of device type */
- struct sINPmodel *INPnextModel; /* link to next model */
- int INPmodUsed; /* flag to indicate it has already been used */
- card *INPmodLine; /* pointer to line describing model */
- GENERIC *INPmodfast; /* high speed pointer to model for access */
-} INPmodel;
-
-/* listing types - used for debug listings */
-#define LOGICAL 1
-#define PHYSICAL 2
-
-#ifdef __STDC__
-int IFnewUid(GENERIC*,IFuid*,IFuid,char*,int,GENERIC**);
-int IFdelUid(GENERIC*,IFuid,int);
-int INPaName(char*,IFvalue*,GENERIC*,int*,char*,GENERIC**,IFsimulator*,int*,
- IFvalue*);
-int INPapName(GENERIC*,int,GENERIC*,char*,IFvalue*);
-void INPcaseFix(char*);
-char * INPdevParse(char**,GENERIC*,int,GENERIC*,double*,int*,INPtables*);
-char *INPdomodel(GENERIC *,card*, INPtables*);
-void INPdoOpts(GENERIC*,GENERIC*,card*,INPtables*);
-char *INPerrCat(char *, char *);
-char *INPerror(int);
-double INPevaluate(char**,int*,int);
-char * INPfindLev(char*,int*);
-char * INPgetMod(GENERIC*,char*,INPmodel**,INPtables*);
-int INPgetTok(char**,char**,int);
-void INPgetTree(char**,INPparseTree**,GENERIC*,INPtables*);
-IFvalue * INPgetValue(GENERIC*,char**,int,INPtables*);
-int INPgndInsert(GENERIC*,char**,INPtables*,GENERIC**);
-int INPinsert(char**,INPtables*);
-int INPremove(char*,INPtables*);
-int INPlookMod(char*);
-int INPmakeMod(char*,int,card*);
-char *INPmkTemp(char*);
-void INPpas1(GENERIC*,card*,INPtables*);
-void INPpas2(GENERIC*,card*,INPtables*,GENERIC *);
-int INPpName(char*,IFvalue*,GENERIC*,int,GENERIC*);
-int INPtermInsert(GENERIC*,char**,INPtables*,GENERIC**);
-int INPmkTerm(GENERIC*,char**,INPtables*,GENERIC**);
-int INPtypelook(char*);
-void INP2B(GENERIC*,INPtables*,card*);
-void INP2C(GENERIC*,INPtables*,card*);
-void INP2D(GENERIC*,INPtables*,card*);
-void INP2E(GENERIC*,INPtables*,card*);
-void INP2F(GENERIC*,INPtables*,card*);
-void INP2G(GENERIC*,INPtables*,card*);
-void INP2H(GENERIC*,INPtables*,card*);
-void INP2I(GENERIC*,INPtables*,card*);
-void INP2J(GENERIC*,INPtables*,card*);
-void INP2K(GENERIC*,INPtables*,card*);
-void INP2L(GENERIC*,INPtables*,card*);
-void INP2M(GENERIC*,INPtables*,card*);
-void INP2O(GENERIC*,INPtables*,card*);
-void INP2Q(GENERIC*,INPtables*,card*,GENERIC*);
-void INP2R(GENERIC*,INPtables*,card*);
-void INP2S(GENERIC*,INPtables*,card*);
-void INP2T(GENERIC*,INPtables*,card*);
-void INP2U(GENERIC*,INPtables*,card*);
-void INP2V(GENERIC*,INPtables*,card*);
-void INP2W(GENERIC*,INPtables*,card*);
-void INP2Z(GENERIC*,INPtables*,card*);
-int INP2dot(GENERIC*,INPtables*,card*,GENERIC*,GENERIC*);
-INPtables *INPtabInit(int);
-void INPkillMods(void);
-void INPtabEnd(INPtables *);
-#else /* stdc */
-int IFnewUid();
-int IFdelUid();
-int INPaName();
-IFvalue * INPgetValue();
-INPtables *INPtabInit();
-char * INPdevParse();
-char * INPdomodel();
-char * INPerrCat();
-char * INPfindLev();
-char * INPgetMod();
-char *INPerror();
-char *INPmkTemp();
-double INPevaluate();
-int INPapName();
-int INPgetTitle();
-int INPgetTok();
-int INPgndInsert();
-int INPlookMod();
-int INPmakeMod();
-int INPpName();
-int INPreadAll();
-int INPtermInsert();
-int INPmkTerm();
-int INPtypelook();
-void INPcaseFix();
-void INPdoOpts();
-int INPinsert();
-int INPremove();
-void INPkillMods();
-void INPlist();
-void INPpas1() ;
-void INPpas2() ;
-void INPtabEnd();
-void INPptPrint();
-void INPgetTree();
-void INP2B();
-void INP2C();
-void INP2D();
-void INP2E();
-void INP2F();
-void INP2G();
-void INP2H();
-void INP2I();
-void INP2J();
-void INP2K();
-void INP2L();
-void INP2M();
-void INP2O();
-void INP2Q();
-void INP2R();
-void INP2S();
-void INP2T();
-void INP2U();
-void INP2V();
-void INP2W();
-void INP2Z();
-int INP2dot();
-#endif /* stdc */
-
-#endif /*INP*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/inpmacs.h b/plugins/models-jspice3-2.5/Include.3f5/inpmacs.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/inpmacs.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/inpptree.h b/plugins/models-jspice3-2.5/Include.3f5/inpptree.h
deleted file mode 100644
index 1d08ea7d..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/inpptree.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1987 Wayne A. Christopher, U. C. Berkeley CAD Group
-**********/
-
-/*
- * [email protected], ucbvax!faustus
- *
- * These definitions specify the format of the parse tree parameter type.
- * The first four are the elements of IFparseTree, defined in IFsim.h.
- */
-
-#include "ifsim.h"
-
-#ifndef INP_PARSE
-#define INP_PARSE
-
-
-/* This is the parameter value passed to the device routines. To get the
- * value of the function, where tree is a pointer to the INPparseTree,
- * result is a pointer to where you want the result, derivs is a pointer to
- * an vector of numVars doubles, and vals is a pointer to the selected
- * elements from the RHS, do
- * tree->p.IFeval(&tree, result, vals, derivs)
- * This routine will return either OK, E_PARMVAL, or E_PANIC. If an error
- * is reported the eval function will have printed something to standard
- * out before returning.
- */
-
-typedef struct INPparseTree {
- IFparseTree p;
- struct INPparseNode *tree; /* The real stuff. */
- struct INPparseNode **derivs; /* The derivative parse trees. */
-} INPparseTree;
-
-/* This is what is passed as the actual parameter value. The fields will all
- * be filled in as needed.
- *
- * Values with names like v(something) and i(something) are treated specially.
- * They are considered voltages at nodes and branch currents through
- * voltage sources, respectively. The corresponding parameters will be of
- * type IF_NODE and IF_INSTANCE, respectively.
- */
-
-typedef struct INPparseNode {
- int type; /* One of PT_*, below. */
- struct INPparseNode *left; /* Left operand, or single operand. */
- struct INPparseNode *right; /* Right operand, if there is one. */
- double constant; /* If INP_CONSTANT. */
- int valueIndex; /* If INP_VAR, index into vars array. */
- char *funcname; /* If INP_FUNCTION, name of function, */
- int funcnum; /* ... one of PTF_*, */
- double (*function)(); /* ... and pointer to the function. */
-} INPparseNode;
-
-/* These are the possible types of nodes we can have in the parse tree. The
- * numbers for the ops 1 - 5 have to be the same as the token numbers,
- * below.
- */
-
-#define PT_PLACEHOLDER 0 /* For i(something) ... */
-#define PT_PLUS 1
-#define PT_MINUS 2
-#define PT_TIMES 3
-#define PT_DIVIDE 4
-#define PT_POWER 5
-#define PT_FUNCTION 6
-#define PT_CONSTANT 7
-#define PT_VAR 8
-#define PT_COMMA 10
-
-/* These are the functions that we support. */
-
-#define PTF_ACOS 0
-#define PTF_ACOSH 1
-#define PTF_ASIN 2
-#define PTF_ASINH 3
-#define PTF_ATAN 4
-#define PTF_ATANH 5
-#define PTF_COS 6
-#define PTF_COSH 7
-#define PTF_EXP 8
-#define PTF_LN 9
-#define PTF_LOG 10
-#define PTF_SIN 11
-#define PTF_SINH 12
-#define PTF_SQRT 13
-#define PTF_TAN 14
-#define PTF_TANH 15
-#define PTF_UMINUS 16
-#define PTF_ABS 17
-#define PTF_SGN 18
-#define PTF_USTEP 19
-#define PTF_URAMP 20
-
-/* The following things are used by the parser -- these are the token types the
- * lexer returns.
- */
-
-#define TOK_END 0
-#define TOK_PLUS 1
-#define TOK_MINUS 2
-#define TOK_TIMES 3
-#define TOK_DIVIDE 4
-#define TOK_POWER 5
-#define TOK_UMINUS 6
-#define TOK_LPAREN 7
-#define TOK_RPAREN 8
-#define TOK_VALUE 9
-#define TOK_COMMA 10
-
-/* And the types for value tokens... */
-
-#define TYP_NUM 0
-#define TYP_STRING 1
-#define TYP_PNODE 2
-
-/* A parser stack element. */
-
-typedef struct PTelement {
- int token;
- int type;
- union {
- char *string;
- double real;
- INPparseNode *pnode;
- } value;
-} PTelement ;
-
-#define PT_STACKSIZE 200
-
-/* These are things defined in PTfunctions.c */
-
-extern double PTplus();
-extern double PTminus();
-extern double PTtimes();
-extern double PTdivide();
-extern double PTpower();
-extern double PTacos();
-extern double PTabs();
-extern double PTacosh();
-extern double PTasin();
-extern double PTasinh();
-extern double PTatan();
-extern double PTatanh();
-extern double PTcos();
-extern double PTcosh();
-extern double PTexp();
-extern double PTln();
-extern double PTlog();
-extern double PTsgn();
-extern double PTsin();
-extern double PTsinh();
-extern double PTsqrt();
-extern double PTtan();
-extern double PTtanh();
-extern double PTustep();
-extern double PTuramp();
-extern double PTuminus();
-
-/* And in IFeval.c */
-
-#ifdef __STDC__
-extern int IFeval(IFparseTree *, double, double*, double*, double*);
-#else /* stdc */
-extern int IFeval();
-#endif /* stdc */
-
-#endif
-
diff --git a/plugins/models-jspice3-2.5/Include.3f5/jobdefs.h b/plugins/models-jspice3-2.5/Include.3f5/jobdefs.h
deleted file mode 100644
index 71bbe241..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/jobdefs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef JOBdef
-#define JOBdef
-
-
-#include "ifsim.h"
-
-typedef struct sJOB{
- int JOBtype; /* type of job */
- struct sJOB *JOBnextJob; /* next job in list */
- IFuid JOBname; /* name of this job */
-
-} JOB;
-
-typedef struct {
- IFanalysis public;
- int size;
- int domain;
- int do_ic;
- int (*(setParm))( );
- int (*(askQuest))( );
- int (*an_init)( );
- int (*an_func)( );
-} SPICEanalysis;
-
-#define NODOMAIN 0
-#define TIMEDOMAIN 1
-#define FREQUENCYDOMAIN 2
-#define SWEEPDOMAIN 3
-
-#endif /*JOBdef*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/misc.h b/plugins/models-jspice3-2.5/Include.3f5/misc.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/misc.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/noisedef.h b/plugins/models-jspice3-2.5/Include.3f5/noisedef.h
deleted file mode 100644
index 50d73bf3..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/noisedef.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1987 Gary W. Ng
-**********/
-
-#ifndef NOISEDEFS
-#define NOISEDEFS
-
-#include "jobdefs.h"
-
- /* structure used to describe an noise analysis */
-
-typedef struct {
- int JOBtype;
- JOB *JOBnextJob; /* pointer to next thing to do */
- char *JOBname; /* name of this job */
- IFnode output; /* noise output summation node */
- IFnode outputRef; /* noise output reference node */
- IFuid input; /* name of the AC source used as input reference */
- double NstartFreq;
- double NstopFreq;
- double NfreqDelta; /* multiplier for decade/octave stepping, */
- /* step for linear steps. */
- double NsavFstp; /* frequency step at which we stopped last time */
- double NsavOnoise; /* integrated output noise when we left off last time */
- double NsavInoise; /* integrated input noise when we left off last time */
- int NstpType; /* values described below */
- int NnumSteps;
- int NStpsSm; /* number of steps before we output a noise summary report */
-} NOISEAN;
-
-
-
- /* structure used to carry information between subparts of the noise analysis code */
-
-typedef struct {
- double freq;
- double lstFreq;
- double delFreq;
- double outNoiz; /* integrated output noise as of the last frequency point */
- double inNoise; /* integrated input noise as of the last frequency point */
- double GainSqInv;
- double lnGainInv;
- double lnFreq;
- double lnLastFreq;
- double delLnFreq;
- int outNumber; /* keeps track of the current output variable */
- int numPlots; /* keeps track of the number of active plots so we can close them in */
- /* a do loop. */
- unsigned int prtSummary;
- double *outpVector; /* pointer to our array of noise outputs */
- GENERIC *NplotPtr; /* the plot pointer */
- IFuid *namelist; /* list of plot names */
-} Ndata;
-
-
-/* codes for saving and retrieving integrated noise data */
-
-#define LNLSTDENS 0 /* array location that the log of the last noise density is stored */
-#define OUTNOIZ 1 /* array location that integrated output noise is stored */
-#define INNOIZ 2 /* array location that integrated input noise is stored */
-
-#define NSTATVARS 3 /* number of "state" variables that must be stored for each noise */
- /* generator. in this case it is three: LNLSTDENS, OUTNOIZ */
- /* and INNOIZ */
-
-
-/* available step types: */
-
-#define DECADE 1
-#define OCTAVE 2
-#define LINEAR 3
-
-
-/* noise analysis parameters */
-
-#define N_OUTPUT 1
-#define N_OUTREF 2
-#define N_INPUT 3
-#define N_START 4
-#define N_STOP 5
-#define N_STEPS 6
-#define N_PTSPERSUM 7
-#define N_DEC 8
-#define N_OCT 9
-#define N_LIN 10
-
-
-/* noise routine operations/modes */
-
-#define N_DENS 1
-#define INT_NOIZ 2
-#define N_OPEN 1
-#define N_CALC 2
-#define N_CLOSE 3
-#define SHOTNOISE 1
-#define THERMNOISE 2
-#define N_GAIN 3
-
-
-/* tolerances and limits to make numerical analysis more robust */
-
-#define N_MINLOG 1E-38 /* the smallest number we can take the log of */
-#define N_MINGAIN 1E-20 /* the smallest input-output gain we can tolerate */
- /* (to calculate input-referred noise we divide */
- /* the output noise by the gain) */
-#define N_INTFTHRESH 1E-10 /* the largest slope (of a log-log noise spectral */
- /* density vs. freq plot) at which the noise */
- /* spectum is still considered flat. (no need for */
- /* log curve fitting) */
-#define N_INTUSELOG 1E-10 /* decides which expression to use for the integral of */
- /* x**k. If k is -1, then we must use a 'ln' form. */
- /* Otherwise, we use a 'power' form. This */
- /* parameter is the region around (k=) -1 for which */
- /* use the 'ln' form. */
-
-
-/* misc constants */
-
-#define N_MXVLNTH 64 /* maximum length for noise output variables we will generate */
- /* (see MAXVLENGTH in FTE/writedata.c) */
-
-
-
-extern int NsetParm();
-extern int NaskQuest();
-#endif /*NOISEDEFS*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/optdefs.h b/plugins/models-jspice3-2.5/Include.3f5/optdefs.h
deleted file mode 100644
index 4a9d2831..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/optdefs.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef OPT
-#define OPT
-
- /* structure used to describe the statistics to be collected */
-
-typedef struct {
-
- int STATnumIter; /* number of total iterations performed */
- int STATtranIter; /* number of iterations for transient analysis */
- int STAToldIter; /* number of iterations at the end of the last point */
- /* used to compute iterations per point */
-
- int STATtimePts; /* total number of timepoints */
- int STATaccepted; /* number of timepoints accepted */
- int STATrejected; /* number of timepoints rejected */
-
- double STATtotAnalTime; /* total time for analysis */
- double STATtranTime; /* transient analysis time */
- double STATloadTime; /* time spent in device loading */
- double STATdecompTime; /* total time spent in LU decomposition */
- double STATsolveTime; /* total time spent in F-B subst. */
- double STATreorderTime; /* total time spent reordering */
- double STATtranDecompTime; /* time spent in transient LU decomposition */
- double STATtranSolveTime; /* time spent in transient F-B Subst. */
-
-} STATistics;
-
-#define OPT_GMIN 1
-#define OPT_RELTOL 2
-#define OPT_ABSTOL 3
-#define OPT_VNTOL 4
-#define OPT_TRTOL 5
-#define OPT_CHGTOL 6
-#define OPT_PIVTOL 7
-#define OPT_PIVREL 8
-#define OPT_TNOM 9
-#define OPT_ITL1 10
-#define OPT_ITL2 11
-#define OPT_ITL3 12
-#define OPT_ITL4 13
-#define OPT_ITL5 14
-#define OPT_DEFL 15
-#define OPT_DEFW 16
-#define OPT_DEFAD 17
-#define OPT_DEFAS 18
-#define OPT_BYPASS 19
-#define OPT_MAXORD 20
-
-#define OPT_ITERS 21
-#define OPT_TRANIT 22
-#define OPT_TRANPTS 23
-#define OPT_TRANACCPT 24
-#define OPT_TRANRJCT 25
-#define OPT_TOTANALTIME 26
-#define OPT_TRANTIME 27
-#define OPT_LOADTIME 28
-#define OPT_DECOMP 29
-#define OPT_SOLVE 30
-#define OPT_TRANDECOMP 31
-#define OPT_TRANSOLVE 32
-#define OPT_TEMP 33
-#define OPT_OLDLIMIT 34
-#define OPT_TRANCURITER 35
-#define OPT_SRCSTEPS 36
-#define OPT_GMINSTEPS 37
-#define OPT_MINBREAK 38
-#define OPT_NOOPITER 39
-#define OPT_EQNS 40
-#define OPT_REORDTIME 41
-#define OPT_METHOD 42
-#define OPT_TRYTOCOMPACT 43
-#define OPT_BADMOS3 44
-#define OPT_KEEPOPINFO 45
-
-#endif /*OPT*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/port.h b/plugins/models-jspice3-2.5/Include.3f5/port.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/port.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/sen2defs.h b/plugins/models-jspice3-2.5/Include.3f5/sen2defs.h
deleted file mode 100644
index 8cf755ac..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/sen2defs.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-**********/
-/*
- * SENdefs.h - structures for sensitivity package
- */
-
-#ifndef SENSTRUCTS
-#define SENSTRUCTS
-
-
-#include "smpdefs.h"
-#include "jobdefs.h"
-
-typedef struct {
- int JOBtype;
- JOB *JOBnextJob; /* pointer to next thing to do */
- char *JOBname; /* name of this job */
-
- int SENnumVal; /* length of the next two arrays */
- char **SENdevices; /* names of the devices to do sensetivity analysis of */
- char **SENparmNames;/* parameters of the above devices to do analysis wrt */
-
- unsigned int SENinitflag :1 ; /* indicates whether sensitivity structure*/
- /* is to be initialized */
- unsigned int SENicflag :1 ; /* indicates whether initial conditions
- are specified for transient analysis */
-
- unsigned int SENstatus :1; /* indicates whether perturbation
- is in progress*/
- unsigned int SENacpertflag :1; /* indictes whether the perturbation
- is to be carried out in ac analysis
- (is done only for first frequency )*/
- int SENmode; /* indicates the type of sensitivity analysis
- reqired: DC, Transient, or AC */
- int SENparms; /* # of design parameters */
- double SENpertfac; /* perturbation factor (for active
- devices )*/
- double **SEN_Sap; /* sensitivity matrix (DC and transient )*/
- double **SEN_RHS; /* RHS matrix (real part)
- contains the sensitivity values after SMPsolve*/
- double **SEN_iRHS; /* RHS matrix (imag part )
- contains the sensitivity values after SMPsolve*/
- int SENsize; /* stores the number of rows of each of the above
- three matrices */
- SMPmatrix *SEN_Jacmat; /* sensitivity Jacobian matrix, */
- double *SEN_parmVal; /* table containing values of design parameters */
- char **SEN_parmName; /* table containing names of design parameters */
-
-} SENstruct;
-
-/* SENmode */
-#define DCSEN 0x1
-#define TRANSEN 0x2
-#define ACSEN 0x4
-
-#define NORMAL 0
-#define PERTURBATION 1
-#define OFF 0
-#define ON 1
-
-
-#define SEN_AC 1
-#define SEN_DC 2
-#define SEN_TRAN 3
-#define SEN_DEV 4
-#define SEN_PARM 5
-
-#endif /* SENSTRUCTS */
diff --git a/plugins/models-jspice3-2.5/Include.3f5/sperror.h b/plugins/models-jspice3-2.5/Include.3f5/sperror.h
deleted file mode 100644
index ab0dd490..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/sperror.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef ERRORS
-#define ERRORS
-
-#include "iferrmsg.h"
-#include "strext.h"
-
- /*
- * definitions for error codes returned by SPICE3 routines.
- */
-
-#define E_INTERN E_PANIC
-#define E_BADMATRIX (E_PRIVATE+1)/* ill-formed matrix can't be decomposed */
-#define E_SINGULAR (E_PRIVATE+2) /* matrix is singular */
-#define E_ITERLIM (E_PRIVATE+3) /* iteration limit reached,operation aborted */
-#define E_ORDER (E_PRIVATE+4) /* integration order not supported */
-#define E_METHOD (E_PRIVATE+5) /* integration method not supported */
-#define E_TIMESTEP (E_PRIVATE+6) /* timestep too small */
-#define E_XMISSIONLINE (E_PRIVATE+7) /* transmission line in pz analysis */
-#define E_MAGEXCEEDED (E_PRIVATE+8) /* pole-zero magnitude too large */
-#define E_SHORT (E_PRIVATE+9) /* pole-zero input or output shorted */
-#define E_INISOUT (E_PRIVATE+10) /* pole-zero input is output */
-#define E_ASKCURRENT (E_PRIVATE+11) /* ac currents cannot be ASKed */
-#define E_ASKPOWER (E_PRIVATE+12) /* ac powers cannot be ASKed */
-#define E_NODUNDEF (E_PRIVATE+13) /* node not defined in noise anal */
-#define E_NOACINPUT (E_PRIVATE+14) /* no ac input src specified for noise */
-#define E_NOF2SRC (E_PRIVATE+15) /* no source at F2 for IM disto analysis */
-#define E_NODISTO (E_PRIVATE+16) /* no distortion analysis - NODISTO defined */
-#define E_NONOISE (E_PRIVATE+17) /* no noise analysis - NONOISE defined */
-
-char *SPerror();
-#endif
diff --git a/plugins/models-jspice3-2.5/Include.3f5/spice.h b/plugins/models-jspice3-2.5/Include.3f5/spice.h
deleted file mode 100644
index 1c39f180..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/spice.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Portability, global externs, kitchen sink (yuk).
- * In future releases this will include things from misc.h and util.h,
- * which duplicate each other in places
- */
-
-#include "math.h"
-
-#ifndef M_PI
-# define M_PI 3.14159265358979323846
-#endif
-#ifndef M_E
-# define M_E 2.7182818284590452354
-#endif
-#ifndef M_LOG2E
-# define M_LOG2E 1.4426950408889634074
-#endif
-#ifndef M_LOG10E
-# define M_LOG10E 0.43429448190325182765
-#endif
-
-
-#ifndef PI
-# define PI 3.14159265358979323846
-#endif
-#ifndef M_E
-# define M_E 2.7182818284590452354
-#endif
-#ifndef LOG2E
-# define LOG2E 1.4426950408889634074
-#endif
-#ifndef LOG10E
-# define LOG10E 0.43429448190325182765
-#endif
-
-
-
-#include "port.h"
-#include "hw.h"
-#include "config.h"
-#include "capabil.h"
-
-#define NUMELEMS(ARRAY) (sizeof(ARRAY)/sizeof(*ARRAY))
-
-extern char *Spice_Exec_Dir;
-extern char *Spice_Lib_Dir;
-extern char Spice_OptChar;
-extern char *Def_Editor;
-extern char *Bug_Addr;
-extern int AsciiRawFile;
-extern char *Spice_Host;
-extern char *Spiced_Log;
-
-extern char Spice_Notice[ ];
-extern char Spice_Version[ ];
-extern char Spice_Build_Date[ ];
-
-extern char *News_File;
-extern char *Default_MFB_Cap;
-extern char *Spice_Path;
-extern char *Help_Path;
-extern char *Lib_Path;
-extern int Patch_Level;
diff --git a/plugins/models-jspice3-2.5/Include.3f5/strext.h b/plugins/models-jspice3-2.5/Include.3f5/strext.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/strext.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/suffix.h b/plugins/models-jspice3-2.5/Include.3f5/suffix.h
deleted file mode 100644
index 06c9f784..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/suffix.h
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-#include <string.h>
-#define MAX_EXP_ARG 87.0 /* max arg to exp(), max value, could be 709.0 for ieee */
-#undef PI
diff --git a/plugins/models-jspice3-2.5/Include.3f5/suffix.h.orig b/plugins/models-jspice3-2.5/Include.3f5/suffix.h.orig
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/suffix.h.orig
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/trandefs.h b/plugins/models-jspice3-2.5/Include.3f5/trandefs.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/trandefs.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/trcvdefs.h b/plugins/models-jspice3-2.5/Include.3f5/trcvdefs.h
deleted file mode 100644
index 441e9331..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/trcvdefs.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "tskdefs.h"
diff --git a/plugins/models-jspice3-2.5/Include.3f5/tskdefs.h b/plugins/models-jspice3-2.5/Include.3f5/tskdefs.h
deleted file mode 100644
index f009e874..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/tskdefs.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-/*
- */
-#ifndef TSK
-#define TSK
-
-
-#include "jobdefs.h"
-
-typedef struct {
- JOB taskOptions; /* job structure at the front to hold options */
- JOB *jobs;
- char *TSKname;
- double TSKtemp;
- double TSKnomTemp;
- int TSKmaxOrder; /* maximum integration method order */
- int TSKintegrateMethod; /* the integration method to be used */
- int TSKcurrentAnalysis; /* the analysis in progress (if any) */
-
-/* defines for the value of TSKcurrentAnalysis */
-#define DOING_DCOP 1
-#define DOING_TRCV 2
-#define DOING_AC 4
-#define DOING_TRAN 8
-
- int TSKbypass;
- int TSKdcMaxIter; /* iteration limit for dc op. (itl1) */
- int TSKdcTrcvMaxIter; /* iteration limit for dc tran. curv (itl2) */
- int TSKtranMaxIter; /* iteration limit for each timepoint for tran*/
- /* (itl4) */
- int TSKnumSrcSteps; /* number of steps for source stepping */
- int TSKnumGminSteps; /* number of steps for Gmin stepping */
- double TSKminBreak;
- double TSKabstol;
- double TSKpivotAbsTol;
- double TSKpivotRelTol;
- double TSKreltol;
- double TSKchgtol;
- double TSKvoltTol;
-#ifdef NEWTRUNC
- double TSKlteReltol;
- double TSKlteAbstol;
-#endif /* NEWTRUNC */
- double TSKgmin;
- double TSKdelmin;
- double TSKtrtol;
- double TSKdefaultMosL;
- double TSKdefaultMosW;
- double TSKdefaultMosAD;
- double TSKdefaultMosAS;
- unsigned int TSKfixLimit:1;
- unsigned int TSKnoOpIter:1; /* no OP iterating, go straight to gmin step */
- unsigned int TSKtryToCompact:1; /* flag for LTRA lines */
- unsigned int TSKbadMos3:1; /* flag for MOS3 models */
- unsigned int TSKkeepOpInfo:1; /* flag for small signal analyses */
-}TSKtask;
-
-#endif /*TSK*/
diff --git a/plugins/models-jspice3-2.5/Include.3f5/uflags.h b/plugins/models-jspice3-2.5/Include.3f5/uflags.h
deleted file mode 100644
index e69de29b..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/uflags.h
+++ /dev/null
diff --git a/plugins/models-jspice3-2.5/Include.3f5/util.h b/plugins/models-jspice3-2.5/Include.3f5/util.h
deleted file mode 100644
index 3d5e6484..00000000
--- a/plugins/models-jspice3-2.5/Include.3f5/util.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/**********
-Copyright 1990 Regents of the University of California. All rights reserved.
-Author: 1985 Thomas L. Quarles
-**********/
-
-#ifndef UTIL
-#define UTIL
-
-/* #define MALLOC(x) calloc(1,(unsigned)(x)) */
-#define MALLOC(x) tmalloc((unsigned)(x))
-#define FREE(x) {if (x) {free((char *)(x));(x) = 0;}}
-#define REALLOC(x,y) trealloc((char *)(x),(unsigned)(y))
-#define ZERO(PTR,TYPE) (bzero((PTR),sizeof(TYPE)))
-
-#ifdef HAS_STDLIB
-#ifndef _STDLIB_INCLUDED
-#define _STDLIB_INCLUDED
-#include <stdlib.h>
-#endif
-#else
-extern char *malloc();
-extern char *calloc();
-extern char *realloc();
-extern void free();
-#endif
-
-extern char *trealloc();
-extern char *tmalloc();
-
-#define TRUE 1
-#define FALSE 0
-
-#ifdef DEBUG
-#define DEBUGMSG(textargs) printf(textargs)
-#else
-#define DEBUGMSG(testargs)
-#endif
-
-#ifdef HAS_NOINLINE
-#define FABS(a) fabs(a)
-double fabs();
-#else
-#define FABS(a) ( ((a)<0) ? -(a) : (a) )
-#endif
-
-/* XXX Move these into the above ifdef someday */
-#define MIN(a,b) ((a) < (b) ? (a) : (b))
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-#define SIGN(a,b) ( b >= 0 ? (a >= 0 ? a : - a) : (a >= 0 ? - a : a))
-
-#define ABORT() fflush(stderr);fflush(stdout);abort();
-
-#define ERROR(CODE,MESSAGE) { \
- errMsg = MALLOC(strlen(MESSAGE) + 1); \
- strcpy(errMsg, (MESSAGE)); \
- return (CODE); \
- }
-
-#define NEW(TYPE) ((TYPE *) MALLOC(sizeof(TYPE)))
-#define NEWN(TYPE,COUNT) ((TYPE *) MALLOC(sizeof(TYPE) * (COUNT)))
-
-#endif /*UTIL*/
-
-#define R_NORM(A,B) { \
- if ((A) == 0.0) { \
- (B) = 0; \
- } else { \
- while (FABS(A) > 1.0) { \
- (B) += 1; \
- (A) /= 2.0; \
- } \
- while (FABS(A) < 0.5) { \
- (B) -= 1; \
- (A) *= 2.0; \
- } \
- } \
- }
diff --git a/plugins/models-jspice3-2.5/Make2.gcc b/plugins/models-jspice3-2.5/Make2.gcc
index 1ec40e7f..6485640d 100644
--- a/plugins/models-jspice3-2.5/Make2.gcc
+++ b/plugins/models-jspice3-2.5/Make2.gcc
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/jspice3-2.5
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/jspice3-2.5
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c gendest.c genmdel.c gendel.c genmosp.c
@@ -14,10 +14,12 @@ OBJS = ${CC_SRCS:.cc=.o} ${C_SRCS:.c=.o}
CC = gcc
CCC = g++
-CFLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
+C_CC_FLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
-DSTDC_HEADERS -DRETSIGTYPE=void -fPIC
-CCFLAGS = $(CFLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
+CFLAGS = $(C_CC_FLAGS) -std=gnu90
+
+CCFLAGS = $(C_CC_FLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
LDFLAGS = -shared
diff --git a/plugins/models-jspice3-2.5/Make2.mingw b/plugins/models-jspice3-2.5/Make2.mingw
index 40898777..180cd81f 100644
--- a/plugins/models-jspice3-2.5/Make2.mingw
+++ b/plugins/models-jspice3-2.5/Make2.mingw
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/jspice3-2.5
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/jspice3-2.5
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c gendest.c genmdel.c gendel.c genmosp.c
diff --git a/plugins/models-jspice3-2.5/Makefile b/plugins/models-jspice3-2.5/Makefile
index f30f2613..5c356497 100644
--- a/plugins/models-jspice3-2.5/Makefile
+++ b/plugins/models-jspice3-2.5/Makefile
@@ -1,54 +1,19 @@
+SUBDIRS = \
+bjt bsim1 bsim2 cap dio disto ind jfet jj \
+ltra mes mos res src sw tra urc
+
all:
- -(cd bjt; make)
- -(cd bsim1; make)
- -(cd bsim2; make)
- -(cd cap; make)
- -(cd dio; make)
- -(cd ind; make)
- -(cd jfet; make)
- -(cd jj; make)
- -(cd ltra; make)
- -(cd mes; make)
- -(cd mos; make)
- -(cd res; make)
- -(cd src; make)
- -(cd sw; make)
- -(cd tra; make)
- -(cd urc; make)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
clean:
- -(cd bjt; make clean)
- -(cd bsim1; make clean)
- -(cd bsim2; make clean)
- -(cd cap; make clean)
- -(cd dio; make clean)
- -(cd ind; make clean)
- -(cd jfet; make clean)
- -(cd jj; make clean)
- -(cd ltra; make clean)
- -(cd mes; make clean)
- -(cd mos; make clean)
- -(cd res; make clean)
- -(cd src; make clean)
- -(cd sw; make clean)
- -(cd tra; make clean)
- -(cd urc; make clean)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
install:
- -(cd bjt; make install)
- -(cd bsim1; make install)
- -(cd bsim2; make install)
- -(cd cap; make install)
- -(cd dio; make install)
- -(cd ind; make install)
- -(cd jfet; make install)
- -(cd jj; make install)
- -(cd ltra; make install)
- -(cd mes; make install)
- -(cd mos; make install)
- -(cd res; make install)
- -(cd src; make install)
- -(cd sw; make install)
- -(cd tra; make install)
- -(cd urc; make install)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done
diff --git a/plugins/models-ngspice17/Gnucap b/plugins/models-ngspice17/Gnucap
deleted file mode 120000
index f5030fe8..00000000
--- a/plugins/models-ngspice17/Gnucap
+++ /dev/null
@@ -1 +0,0 @@
-../include \ No newline at end of file
diff --git a/plugins/models-ngspice17/Include/pzdefs.h b/plugins/models-ngspice17/Include/pzdefs.h
index a5e5d7f3..f5261e04 100644
--- a/plugins/models-ngspice17/Include/pzdefs.h
+++ b/plugins/models-ngspice17/Include/pzdefs.h
@@ -4,7 +4,7 @@
/* structure used to describe an PZ analysis to be performed */
#include "jobdefs.h"
-#include <math.h>
+//#include <math.h>
#include "complex.h"
typedef struct strial {
diff --git a/plugins/models-jspice3-2.5/Include.3f5/pzdefs.h b/plugins/models-ngspice17/Include/pzdefs.h.orig
index f303f1a7..a5e5d7f3 100644
--- a/plugins/models-jspice3-2.5/Include.3f5/pzdefs.h
+++ b/plugins/models-ngspice17/Include/pzdefs.h.orig
@@ -1,9 +1,10 @@
#ifndef PZDEFS
-#define PZDEFS "PZdefs.h $Revision: 1.3 $ on $Date: 88/11/16 21:55:29 $ "
+#define PZDEFS "PZdefs.h $Revision: 1.2 $ on $Date: 2003/08/23 19:54:52 $ "
/* structure used to describe an PZ analysis to be performed */
#include "jobdefs.h"
+#include <math.h>
#include "complex.h"
typedef struct strial {
diff --git a/plugins/models-ngspice17/Include/smpdefs.h b/plugins/models-ngspice17/Include/smpdefs.h
index 70cdafac..ee68748b 100644
--- a/plugins/models-ngspice17/Include/smpdefs.h
+++ b/plugins/models-ngspice17/Include/smpdefs.h
@@ -11,7 +11,7 @@ Modified: 2000 AlansFixes
**********/
#include <stdio.h>
-#include <math.h>
+//#include <math.h>
#include "complex.h"
int SMPaddElt( SMPmatrix *, int , int , double );
diff --git a/plugins/models-jspice3-2.5/Include.3f5/smpdefs.h b/plugins/models-ngspice17/Include/smpdefs.h.orig
index bb3b6e8f..70cdafac 100644
--- a/plugins/models-jspice3-2.5/Include.3f5/smpdefs.h
+++ b/plugins/models-ngspice17/Include/smpdefs.h.orig
@@ -1,63 +1,48 @@
#ifndef SMP
#define SMP
-typedef char SMPmatrix;
+typedef void SMPmatrix;
typedef struct MatrixElement *SMPelement;
/**********
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1985 Thomas L. Quarles
+Modified: 2000 AlansFixes
**********/
-#include "complex.h"
#include <stdio.h>
+#include <math.h>
+#include "complex.h"
-#ifdef __STDC__
int SMPaddElt( SMPmatrix *, int , int , double );
+double * SMPmakeElt( SMPmatrix * , int , int );
void SMPcClear( SMPmatrix *);
+void SMPclear( SMPmatrix *);
int SMPcLUfac( SMPmatrix *, double );
-int SMPcProdDiag( SMPmatrix *, SPcomplex *, int *);
+int SMPluFac( SMPmatrix *, double , double );
int SMPcReorder( SMPmatrix * , double , double , int *);
+int SMPreorder( SMPmatrix * , double , double , double );
+void SMPcaSolve(SMPmatrix *Matrix, double RHS[], double iRHS[],
+ double Spare[], double iSpare[]);
void SMPcSolve( SMPmatrix *, double [], double [], double [], double []);
-void SMPclear( SMPmatrix *);
-void SMPcolSwap( SMPmatrix * , int , int );
-void SMPdestroy( SMPmatrix *);
-int SMPfillup( SMPmatrix * );
-SMPelement * SMPfindElt( SMPmatrix *, int , int , int );
-void SMPgetError( SMPmatrix *, int *, int *);
-int SMPluFac( SMPmatrix *, double , double );
-double * SMPmakeElt( SMPmatrix * , int , int );
+void SMPsolve( SMPmatrix *, double [], double []);
int SMPmatSize( SMPmatrix *);
int SMPnewMatrix( SMPmatrix ** );
-int SMPnewNode( int , SMPmatrix *);
+void SMPdestroy( SMPmatrix *);
int SMPpreOrder( SMPmatrix *);
void SMPprint( SMPmatrix * , FILE *);
-int SMPreorder( SMPmatrix * , double , double , double );
-void SMProwSwap( SMPmatrix * , int , int );
-void SMPsolve( SMPmatrix *, double [], double []);
-#else /* stdc */
-int SMPaddElt();
-void SMPcClear();
-int SMPcLUfac();
-int SMPcProdDiag();
-int SMPcReorder();
-void SMPcSolve();
-void SMPclear();
-void SMPcolSwap();
-void SMPdestroy();
-int SMPfillup();
-SMPelement * SMPfindElt();
-void SMPgetError();
-int SMPluFac();
-double * SMPmakeElt();
-int SMPmatSize();
-int SMPnewMatrix();
-int SMPnewNode();
-int SMPpreOrder();
-void SMPprint();
-int SMPreorder();
-void SMProwSwap();
-void SMPsolve();
-#endif /* stdc */
+void SMPgetError( SMPmatrix *, int *, int *);
+int SMPcProdDiag( SMPmatrix *, SPcomplex *, int *);
+int SMPcDProd(SMPmatrix *Matrix, SPcomplex *pMantissa, int *pExponent);
+SMPelement * SMPfindElt( SMPmatrix *, int , int , int );
+int SMPcZeroCol(SMPmatrix *eMatrix, int Col);
+int SMPcAddCol(SMPmatrix *eMatrix, int Accum_Col, int Addend_Col);
+int SMPzeroRow(SMPmatrix *eMatrix, int Row);
+void spConstMult(SMPmatrix*, double);
+#ifdef PARALLEL_ARCH
+void SMPcombine(SMPmatrix *Matrix, double RHS[], double Spare[]);
+void SMPcCombine(SMPmatrix *Matrix, double RHS[], double Spare[],
+ double iRHS[], double iSpare[]);
+#endif
#endif /*SMP*/
diff --git a/plugins/models-ngspice17/Make2.gcc b/plugins/models-ngspice17/Make2.gcc
index b1e2af21..38a8ecef 100644
--- a/plugins/models-ngspice17/Make2.gcc
+++ b/plugins/models-ngspice17/Make2.gcc
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/ngspice17
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/ngspice17
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
@@ -14,10 +14,12 @@ OBJS = ${CC_SRCS:.cc=.o} ${C_SRCS:.c=.o}
CC = gcc
CCC = g++
-CFLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
+C_CC_FLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
-DPREDICTOR -DHAS_STDLIB -fPIC
-CCFLAGS = $(CFLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
+CFLAGS = $(C_CC_FLAGS) -std=gnu90
+
+CCFLAGS = $(C_CC_FLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
LDFLAGS = -shared
diff --git a/plugins/models-ngspice17/Make2.mingw b/plugins/models-ngspice17/Make2.mingw
index 06bd6878..5519e99d 100644
--- a/plugins/models-ngspice17/Make2.mingw
+++ b/plugins/models-ngspice17/Make2.mingw
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/ngspice17
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/ngspice17
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
diff --git a/plugins/models-ngspice17/Makefile b/plugins/models-ngspice17/Makefile
index d766606b..09185885 100644
--- a/plugins/models-ngspice17/Makefile
+++ b/plugins/models-ngspice17/Makefile
@@ -1,144 +1,23 @@
+SUBDIRS = \
+asrc bjt bjt2 bsim1 bsim2 bsim3 bsim3soi bsim3soi_dd \
+bsim3soi_fd bsim3soi_pd bsim3v0 bsim3v1 bsim3v1a \
+bsim3v1s bsim4 bsim4.6.0ng cap cccs ccvs cpl csw \
+dio hfet1 hfet2 hisim ind isrc jfet jfet2 ltra mes \
+mesa mos1 mos2 mos3 mos6 mos9 res soi3 sw tra txl \
+urc vbic vccs vcvs vsrc
+
all:
- -(cd asrc; make)
- -(cd bjt; make)
- -(cd bjt2; make)
- -(cd bsim1; make)
- -(cd bsim2; make)
- -(cd bsim3; make)
- -(cd bsim3soi; make)
- -(cd bsim3soi_dd; make)
- -(cd bsim3soi_fd; make)
- -(cd bsim3soi_pd; make)
- -(cd bsim3v0; make)
- -(cd bsim3v1; make)
- -(cd bsim3v1a; make)
- -(cd bsim3v1s; make)
- -(cd bsim4; make)
- -(cd cap; make)
- -(cd cccs; make)
- -(cd ccvs; make)
- -(cd cpl; make)
- -(cd csw; make)
- -(cd dio; make)
- -(cd hfet1; make)
- -(cd hfet2; make)
- -(cd hisim; make)
- -(cd ind; make)
- -(cd isrc; make)
- -(cd jfet; make)
- -(cd jfet2; make)
- -(cd ltra; make)
- -(cd mes; make)
- -(cd mesa; make)
- -(cd mos1; make)
- -(cd mos2; make)
- -(cd mos3; make)
- -(cd mos6; make)
- -(cd mos9; make)
- -(cd res; make)
- -(cd soi3; make)
- -(cd sw; make)
- -(cd tra; make)
- -(cd txl; make)
- -(cd urc; make)
- -(cd vbic; make)
- -(cd vccs; make)
- -(cd vcvs; make)
- -(cd vsrc; make)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
clean:
- (cd asrc; make clean)
- (cd bjt; make clean)
- (cd bjt2; make clean)
- (cd bsim1; make clean)
- (cd bsim2; make clean)
- (cd bsim3; make clean)
- (cd bsim3soi; make clean)
- (cd bsim3soi_dd; make clean)
- (cd bsim3soi_fd; make clean)
- (cd bsim3soi_pd; make clean)
- (cd bsim3v0; make clean)
- (cd bsim3v1; make clean)
- (cd bsim3v1a; make clean)
- (cd bsim3v1s; make clean)
- (cd bsim4; make clean)
- (cd cap; make clean)
- (cd cccs; make clean)
- (cd ccvs; make clean)
- (cd cpl; make clean)
- (cd csw; make clean)
- (cd dio; make clean)
- (cd hfet1; make clean)
- (cd hfet2; make clean)
- (cd hisim; make clean)
- (cd ind; make clean)
- (cd isrc; make clean)
- (cd jfet; make clean)
- (cd jfet2; make clean)
- (cd ltra; make clean)
- (cd mes; make clean)
- (cd mesa; make clean)
- (cd mos1; make clean)
- (cd mos2; make clean)
- (cd mos3; make clean)
- (cd mos6; make clean)
- (cd mos9; make clean)
- (cd res; make clean)
- (cd soi3; make clean)
- (cd sw; make clean)
- (cd tra; make clean)
- (cd txl; make clean)
- (cd urc; make clean)
- (cd vbic; make clean)
- (cd vccs; make clean)
- (cd vcvs; make clean)
- (cd vsrc; make clean)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
install:
- (cd asrc; make install)
- (cd bjt; make install)
- (cd bjt2; make install)
- (cd bsim1; make install)
- (cd bsim2; make install)
- (cd bsim3; make install)
- (cd bsim3soi; make install)
- (cd bsim3soi_dd; make install)
- (cd bsim3soi_fd; make install)
- (cd bsim3soi_pd; make install)
- (cd bsim3v0; make install)
- (cd bsim3v1; make install)
- (cd bsim3v1a; make install)
- (cd bsim3v1s; make install)
- (cd bsim4; make install)
- (cd cap; make install)
- (cd cccs; make install)
- (cd ccvs; make install)
- (cd cpl; make install)
- (cd csw; make install)
- (cd dio; make install)
- (cd hfet1; make install)
- (cd hfet2; make install)
- (cd hisim; make install)
- (cd ind; make install)
- (cd isrc; make install)
- (cd jfet; make install)
- (cd jfet2; make install)
- (cd ltra; make install)
- (cd mes; make install)
- (cd mesa; make install)
- (cd mos1; make install)
- (cd mos2; make install)
- (cd mos3; make install)
- (cd mos6; make install)
- (cd mos9; make install)
- (cd res; make install)
- (cd soi3; make install)
- (cd sw; make install)
- (cd tra; make install)
- (cd txl; make install)
- (cd urc; make install)
- (cd vbic; make install)
- (cd vccs; make install)
- (cd vcvs; make install)
- (cd vsrc; make install)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done
diff --git a/plugins/models-ngspice17/bsim3/wrapper.h b/plugins/models-ngspice17/bsim3/wrapper.h
index f82e00fa..38e00a73 100644
--- a/plugins/models-ngspice17/bsim3/wrapper.h
+++ b/plugins/models-ngspice17/bsim3/wrapper.h
@@ -20,7 +20,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim3v0/wrapper.h b/plugins/models-ngspice17/bsim3v0/wrapper.h
index a203dd0f..59b1d95d 100644
--- a/plugins/models-ngspice17/bsim3v0/wrapper.h
+++ b/plugins/models-ngspice17/bsim3v0/wrapper.h
@@ -20,7 +20,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim3v1/wrapper.h b/plugins/models-ngspice17/bsim3v1/wrapper.h
index 4c9a1460..802fb758 100644
--- a/plugins/models-ngspice17/bsim3v1/wrapper.h
+++ b/plugins/models-ngspice17/bsim3v1/wrapper.h
@@ -20,7 +20,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim3v1a/wrapper.h b/plugins/models-ngspice17/bsim3v1a/wrapper.h
index 1edf0ad7..e7f162c6 100644
--- a/plugins/models-ngspice17/bsim3v1a/wrapper.h
+++ b/plugins/models-ngspice17/bsim3v1a/wrapper.h
@@ -20,7 +20,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim3v1s/wrapper.h b/plugins/models-ngspice17/bsim3v1s/wrapper.h
index 5e7da714..9053300d 100644
--- a/plugins/models-ngspice17/bsim3v1s/wrapper.h
+++ b/plugins/models-ngspice17/bsim3v1s/wrapper.h
@@ -20,7 +20,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "qb", "
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/alloc.o b/plugins/models-ngspice17/bsim4.6.0ng/alloc.o
deleted file mode 100644
index b1369fa2..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/alloc.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4.o b/plugins/models-ngspice17/bsim4.6.0ng/b4.o
deleted file mode 100644
index 743da70a..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4acld.o b/plugins/models-ngspice17/bsim4.6.0ng/b4acld.o
deleted file mode 100644
index 47239251..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4acld.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4ask.o b/plugins/models-ngspice17/bsim4.6.0ng/b4ask.o
deleted file mode 100644
index 4651e787..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4ask.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4check.o b/plugins/models-ngspice17/bsim4.6.0ng/b4check.o
deleted file mode 100644
index 46ec33d9..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4check.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4cvtest.o b/plugins/models-ngspice17/bsim4.6.0ng/b4cvtest.o
deleted file mode 100644
index ff589c80..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4cvtest.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4del.o b/plugins/models-ngspice17/bsim4.6.0ng/b4del.o
deleted file mode 100644
index a93692be..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4del.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4dest.o b/plugins/models-ngspice17/bsim4.6.0ng/b4dest.o
deleted file mode 100644
index f30e9c92..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4dest.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4geo.o b/plugins/models-ngspice17/bsim4.6.0ng/b4geo.o
deleted file mode 100644
index 25f8266b..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4geo.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4getic.o b/plugins/models-ngspice17/bsim4.6.0ng/b4getic.o
deleted file mode 100644
index da920969..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4getic.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4ld.o b/plugins/models-ngspice17/bsim4.6.0ng/b4ld.o
deleted file mode 100644
index fbe7acfc..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4ld.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4mask.o b/plugins/models-ngspice17/bsim4.6.0ng/b4mask.o
deleted file mode 100644
index cc59637b..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4mask.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4mdel.o b/plugins/models-ngspice17/bsim4.6.0ng/b4mdel.o
deleted file mode 100644
index d601ea95..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4mdel.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4mpar.o b/plugins/models-ngspice17/bsim4.6.0ng/b4mpar.o
deleted file mode 100644
index 791ffc7b..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4mpar.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4noi.o b/plugins/models-ngspice17/bsim4.6.0ng/b4noi.o
deleted file mode 100644
index 72a4e5f1..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4noi.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4par.o b/plugins/models-ngspice17/bsim4.6.0ng/b4par.o
deleted file mode 100644
index 32e799d9..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4par.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4pzld.o b/plugins/models-ngspice17/bsim4.6.0ng/b4pzld.o
deleted file mode 100644
index 34cbfeb7..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4pzld.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4set.o b/plugins/models-ngspice17/bsim4.6.0ng/b4set.o
deleted file mode 100644
index 0ccd8643..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4set.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4temp.o b/plugins/models-ngspice17/bsim4.6.0ng/b4temp.o
deleted file mode 100644
index 1b03f1de..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4temp.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/b4trunc.o b/plugins/models-ngspice17/bsim4.6.0ng/b4trunc.o
deleted file mode 100644
index 989a4e77..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/b4trunc.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/bsim4.so b/plugins/models-ngspice17/bsim4.6.0ng/bsim4.so
deleted file mode 100755
index fb5c4cee..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/bsim4.so
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/bsim4init.o b/plugins/models-ngspice17/bsim4.6.0ng/bsim4init.o
deleted file mode 100644
index f68f1bfe..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/bsim4init.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/devsup.o b/plugins/models-ngspice17/bsim4.6.0ng/devsup.o
deleted file mode 100644
index a799778d..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/devsup.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/wrapper.h b/plugins/models-ngspice17/bsim4.6.0ng/wrapper.h
index 36bfa015..c769df69 100644
--- a/plugins/models-ngspice17/bsim4.6.0ng/wrapper.h
+++ b/plugins/models-ngspice17/bsim4.6.0ng/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-ngspice17/bsim4.6.0ng/wrapper.o b/plugins/models-ngspice17/bsim4.6.0ng/wrapper.o
deleted file mode 100644
index 5b9b0bd7..00000000
--- a/plugins/models-ngspice17/bsim4.6.0ng/wrapper.o
+++ /dev/null
Binary files differ
diff --git a/plugins/models-ngspice17/bsim4/wrapper.h b/plugins/models-ngspice17/bsim4/wrapper.h
index ee75cc5f..5793e31d 100644
--- a/plugins/models-ngspice17/bsim4/wrapper.h
+++ b/plugins/models-ngspice17/bsim4/wrapper.h
@@ -22,7 +22,7 @@ static std::string state_names[] = {"vbd", "vbs", "vgs", "vds", "vdbs",
#define IS_VALID {itested(); \
assert(d); \
- const COMMON_SUBCKT* c = dynamic_cast<const COMMON_SUBCKT*>(d->common()); \
+ const COMMON_PARAMLIST* c = dynamic_cast<const COMMON_PARAMLIST*>(d->common()); \
assert(c); \
double l_in = c->_params["l"].e_val(OPT::defl, d->scope()); \
double w_in = c->_params["w"].e_val(OPT::defw, d->scope()); \
diff --git a/plugins/models-spice3f5/Gnucap b/plugins/models-spice3f5/Gnucap
deleted file mode 120000
index f5030fe8..00000000
--- a/plugins/models-spice3f5/Gnucap
+++ /dev/null
@@ -1 +0,0 @@
-../include \ No newline at end of file
diff --git a/plugins/models-spice3f5/Make2.gcc b/plugins/models-spice3f5/Make2.gcc
index 415d5c0d..96572f55 100644
--- a/plugins/models-spice3f5/Make2.gcc
+++ b/plugins/models-spice3f5/Make2.gcc
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/spice3f5
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/spice3f5
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
@@ -14,11 +14,13 @@ OBJS = ${CC_SRCS:.cc=.o} ${C_SRCS:.c=.o}
CC = gcc
CCC = g++
-CFLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
+C_CC_FLAGS = -O2 -g -I. -I$(SPICE_INCLUDE) -DTRACE_UNTESTED -D$(SPICE_VERSION) \
-DPREDICTOR -DAN_pz -DAN_disto -DAN_noise \
-DHAS_STDLIB -fPIC
-CCFLAGS = $(CFLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
+CFLAGS = $(C_CC_FLAGS) -std=c90
+
+CCFLAGS = $(C_CC_FLAGS) -I$(GNUCAP_INCLUDE) -Wall -Wextra
LDFLAGS = -shared
diff --git a/plugins/models-spice3f5/Make2.mingw b/plugins/models-spice3f5/Make2.mingw
index 2766f4f8..764d066c 100644
--- a/plugins/models-spice3f5/Make2.mingw
+++ b/plugins/models-spice3f5/Make2.mingw
@@ -1,9 +1,9 @@
# $Id$ -*- Makefile -*-
-PREFIX = /usr/local/gnucap
-INSTALL_DIR = $(PREFIX)/lib/models/spice3f5
+PREFIX = $(shell gnucap-conf --exec_prefix )
+INSTALL_DIR = $(shell gnucap-conf --pkglibdir )/models/spice3f5
SPICE_INCLUDE = ../Include
-GNUCAP_INCLUDE = ../Gnucap
+GNUCAP_INCLUDE = $(shell gnucap-conf --includedir )
VPATH = .:$(SPICE_INCLUDE):$(GNUCAP_INCLUDE)
C_SRCS = $(CFILES) devsup.c
diff --git a/plugins/models-spice3f5/Makefile b/plugins/models-spice3f5/Makefile
index e8475ed3..eba80108 100644
--- a/plugins/models-spice3f5/Makefile
+++ b/plugins/models-spice3f5/Makefile
@@ -1,81 +1,20 @@
+SUBDIRS = \
+asrc bjt bsim1 bsim2 cap cccs ccvs csw dio ind isrc \
+jfet ltra mes mos1 mos2 mos3 mos6 res sw tra urc vccs \
+vcvs vsrc
+
all:
- -(cd asrc; make)
- -(cd bjt; make)
- -(cd bsim1; make)
- -(cd bsim2; make)
- -(cd cap; make)
- -(cd cccs; make)
- -(cd ccvs; make)
- -(cd csw; make)
- -(cd dio; make)
- -(cd ind; make)
- -(cd isrc; make)
- -(cd jfet; make)
- -(cd ltra; make)
- -(cd mes; make)
- -(cd mos1; make)
- -(cd mos2; make)
- -(cd mos3; make)
- -(cd mos6; make)
- -(cd res; make)
- -(cd sw; make)
- -(cd tra; make)
- -(cd urc; make)
- -(cd vccs; make)
- -(cd vcvs; make)
- -(cd vsrc; make)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir; \
+ done
clean:
- (cd asrc; make clean)
- (cd bjt; make clean)
- (cd bsim1; make clean)
- (cd bsim2; make clean)
- (cd cap; make clean)
- (cd cccs; make clean)
- (cd ccvs; make clean)
- (cd csw; make clean)
- (cd dio; make clean)
- (cd ind; make clean)
- (cd isrc; make clean)
- (cd jfet; make clean)
- (cd ltra; make clean)
- (cd mes; make clean)
- (cd mos1; make clean)
- (cd mos2; make clean)
- (cd mos3; make clean)
- (cd mos6; make clean)
- (cd res; make clean)
- (cd sw; make clean)
- (cd tra; make clean)
- (cd urc; make clean)
- (cd vccs; make clean)
- (cd vcvs; make clean)
- (cd vsrc; make clean)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir clean; \
+ done
install:
- (cd asrc; make install)
- (cd bjt; make install)
- (cd bsim1; make install)
- (cd bsim2; make install)
- (cd cap; make install)
- (cd cccs; make install)
- (cd ccvs; make install)
- (cd csw; make install)
- (cd dio; make install)
- (cd ind; make install)
- (cd isrc; make install)
- (cd jfet; make install)
- (cd ltra; make install)
- (cd mes; make install)
- (cd mos1; make install)
- (cd mos2; make install)
- (cd mos3; make install)
- (cd mos6; make install)
- (cd res; make install)
- (cd sw; make install)
- (cd tra; make install)
- (cd urc; make install)
- (cd vccs; make install)
- (cd vcvs; make install)
- (cd vsrc; make install)
+ for dir in $(SUBDIRS); do \
+ $(MAKE) -C $$dir install; \
+ done