rlar
bd50814677
drop 'depreciated_skip..()'
2017-03-19 20:13:11 +01:00
rlar
7a42510cc0
const'ify some 'skip'ing functions
2017-03-19 20:12:25 +01:00
rlar
45ad60b738
rename gettok_nc() --> nexttok(), and functionalize it
2017-03-19 20:11:01 +01:00
rlar
f338dfe27e
subckt.c, undo a bogous hunk from commit "beautify code", Dec 16 2011
2017-03-19 20:07:34 +01:00
rlar
f9019a5576
devices/*/*ld.c, bug fix, missing assignment to 'model'
2017-03-19 19:47:25 +01:00
mhx
efb8214945
fix spelling, "too much" versus "too many"
2017-03-18 20:49:28 +01:00
rlar
889aaebfd7
inp2m.c, #7/7, whitepace cleanup
2017-03-18 20:44:21 +01:00
rlar
576e522d38
inp2m.c, #6/7, reorder code
2017-03-18 20:44:13 +01:00
rlar
73e76fd88a
inp2m.c, #5/7, drop nname[]
2017-03-18 20:44:04 +01:00
rlar
74145c53a6
inp2m.c, #4/7, move code up into the for loop
2017-03-18 20:43:55 +01:00
rlar
5a95487ad7
inp2m.c, #3/7, simpify, move code down into the for loop
2017-03-18 20:43:46 +01:00
rlar
788c8f7067
inp2m.c, #2/7, simplify, move code down into for loop
2017-03-18 20:43:38 +01:00
rlar
bef3fd1dd5
inp2m.c, #1/7, insist on a valid model, don't default to something
...
Emit an error message when unable to identify a valid modelname token.
If a default model is needed, then create one explicitly:
m1 1 2 3 4 mosdefault
.model mosdefault mos1()
2017-03-18 20:43:19 +01:00
rlar
80ef8b308d
inp2m.c, do not restrict binning to four nodes
...
until now, for unknown reasons,
the search for binned modelnames was restricted to
instances with less than five nodes.
2017-03-18 20:18:11 +01:00
rlar
50c0424225
inp2q.c, inp2m.c, plug a memory leak
2017-03-18 20:15:39 +01:00
Francesco Lannutti
43f24d6f22
rewrite cktsens.c in terms of the 'SMP' matrix interface
2017-03-17 18:22:36 +01:00
rlar
fb4f462388
SMPnewMatrix(), add 'size' to the function arguments
2017-03-17 18:12:48 +01:00
rlar
07d89b5fcd
devices/**, unify structure member variables, ptr -> Ptr
2017-03-17 17:42:58 +01:00
rlar
a6cb9d0d88
cplsetup.c, polish VECTOR_ALLOC and MATRIX_ALLOC
...
explicitly express the object type to be allocated
2017-03-17 17:37:24 +01:00
rlar
8c09761e6b
adms, polish autogen.sh and configure.ac
...
Allow to override the admsXml executable when invoking
autogen.sh and configure.ac
ADMSXML=/foo/bar/baz/admsXml ./autogen.sh --adms
ADMSXML=/foo/bar/baz/admsXml ./configure --enable-adms
alternatively (and more advertised)
./configure ADMSXML=/foo/bar/baz/admsXml --enable-adms
The generated Makefiles remember the given path.
A relative path doesn't make sense of course.
2017-03-12 19:34:37 +01:00
rlar
3ea412e7cd
bug fix for commit "inp2q.c, #17/23, rewrite, using a 'for' loop"
2017-03-12 17:57:27 +01:00
rlar
c3a92e2bb3
xspice, cleanup, move typedef over to the other ones
2017-03-12 12:18:09 +01:00
rlar
987952e57e
adms/admst/ngspiceMODULEsetup.c.xml, adms, implement DEVunsetup()
...
Which is needed to release the allocated circuit nodes in
the corresponding adms generated DEVsetup() routine.
This is required when invoking CKTsetup() more than once
without an intervening "reset".
2017-03-12 10:43:32 +01:00
rlar
6ccccbe7c4
adms/admst/ngspiceMODULE.c.xml, fix the port name table
...
which will be exported from the model code to "spice" via
struct IFdevice.terms
struct IFdevice.numNames
struct IFdevice.termNames
2017-03-12 10:41:52 +01:00
rlar
ba6955a1aa
inp2q.c, sanitise optional ports processing
...
Tie ports 4 and up to ground, iff not connected.
Actually, I think the model's DEVsetup routine should do this business,
we should pass -1 to denote the fact of being unconnected
2017-03-11 21:11:32 +01:00
rlar
3ce3424a9c
inp2q.c, #23/23, whitespace
2017-03-11 20:27:48 +01:00
rlar
9ad1a3033b
inp2q.c, #22/23, drop #ifdef, model_numnodes() does care about this
2017-03-11 20:27:48 +01:00
rlar
ac77e5b020
inp2q.c, #21/23, drop nname[] and model, use local 'token' instead
2017-03-11 20:27:47 +01:00
rlar
25fa9a4454
inp2q.c, #20/23, insist on a valid model, don't default to something
...
If a default model is needed, then create one explicitly:
q1 1 2 3 npndefault
.model npndefault npn()
Note:
This code was buggy anyway because the last token,
which turned out not to be a valid model name,
was silently swallowed.
Thus PARSECALL() didn't parse the whole thing.
2017-03-11 20:27:47 +01:00
rlar
b85a07c62c
inp2q.c, #19/23, rewrite, move code into the 'for' loop
2017-03-11 20:27:47 +01:00
rlar
b1ccdd2184
inp2q.c, #18/23, rewrite, combine two 'for' loop's
2017-03-11 20:27:47 +01:00
rlar
807115c145
inp2q.c, #17/23, rewrite, using a 'for' loop
2017-03-11 20:27:47 +01:00
rlar
03d3e2ea12
inp2q.c, #16/23, emit a message and give up, if we couldn't find the modelname token
...
Thats a functional change of ngspice.
So far we did cook up a "default" model when we didn't find a model token.
But this was buggy anyway, because in such cases we silently dropped
a token from beeing processed by PARSECALL()
Now, we emit a message, and skip this line alltogether.
2017-03-11 20:27:47 +01:00
rlar
83fb9353ef
inp2q.c, #15/23, rewrite, fall into an empty 'else' body when !ADMS
2017-03-11 20:27:47 +01:00
rlar
0bf0021a63
inp2q.c, #14/23, rewrite, assign model a bit later when recognised
2017-03-11 20:27:47 +01:00
rlar
ef37e92338
inp2q.c, #13/23, move code down
2017-03-11 20:27:47 +01:00
rlar
d2d9bffed0
inp2q.c, #12/23, move code down
...
Note; here i==4 and nodeflag still was 4
2017-03-11 20:27:46 +01:00
rlar
c8b1d18289
inp2q.c, #11/23, move code down
...
Note: here i==3 and nodeflag==4
2017-03-11 20:27:46 +01:00
rlar
c5ce68728f
inp2q.c, #10/23, use i to prepare for a loop
2017-03-11 20:27:46 +01:00
rlar
a21a2fd1b0
inp2q.c, #9/23, drop some TRACE code
2017-03-11 20:27:46 +01:00
rlar
16c00730e4
inp2q.c, #8/23, use a 'for' loop
...
Note: the range of nodeflag still is {4,5}
2017-03-11 20:27:46 +01:00
rlar
ffc943dfff
inp2q.c, #7/23, use an array
2017-03-11 20:27:46 +01:00
rlar
c82a9dd87e
inp2q.c, #6/23, transform boolean expression
...
Note: both values range over {4,5}
Thus, this is a functional invariant transformation
2017-03-11 20:27:46 +01:00
rlar
27d93293f9
inp2q.c, #5/23, rewrite using a new function model_numnodes()
2017-03-11 20:27:46 +01:00
rlar
b0fe181f12
inp2q.c, #4/23, transform boolean expression
2017-03-11 20:27:45 +01:00
rlar
042916ae88
inp2q.c, #3/23, renumber 'nodeflag'
...
range over {4,5} instead of {0,1}
2017-03-11 20:27:45 +01:00
rlar
9abcaa88ae
inp2q.c, #2/23, parenthesises and linewrap
2017-03-11 20:27:42 +01:00
rlar
c37ce079eb
inp2q.c, #1/23, rewrite, early 'exit' and 'return'
2017-03-11 19:58:58 +01:00
rlar
40ca7d6db3
inp2m.c, #9/9c, cleanup
2017-03-07 21:54:42 +01:00
rlar
eecd940af8
inp2m.c, #8/9c, drop valid_numnodes()
2017-03-07 21:54:33 +01:00