rlar
c0bfb9ca1b
subckt.c, introduce translate_node_name()
2016-11-19 14:00:59 +01:00
rlar
4dbffc9991
subckt.c, emphasize instance_name translation
...
When translating an instance_name in a subcircuit instance 'xfoo'
undconditionally express the exception for 'x' instances, which is:
x42 --> xsub.x42
but for all others the first char (the devtype) is prepended
r42 --> r.xsub.r42
2016-11-19 14:00:59 +01:00
rlar
178b6d074a
subckt.c, translate(), emphasize instance_name translation
2016-11-19 14:00:59 +01:00
rlar
aecf48475e
subckt.c, emphasize token separator insertion
2016-11-19 14:00:59 +01:00
rlar
6bb93b68ac
subckt.c, devmodtranslate(), dupplicate code
2016-11-19 14:00:59 +01:00
rlar
70dca32c2d
undo a bogous hunk from commit "beautify code", Dec 16 2011
2016-11-19 14:00:59 +01:00
rlar
6d774d99b3
subckt.c, devmodtranslate(), rewrite using bxx_ facility
2016-11-19 14:00:59 +01:00
rlar
b633362973
subckt.c, translate(), rewrite using bxx facility
2016-11-19 14:00:58 +01:00
rlar
78c611aa64
subckt.c, finishLine(), #6/6 unconditionally transform instance name in i() expression
2016-11-19 13:59:38 +01:00
rlar
30e515cc4d
subckt.c, finishLine(), #5/6 move code up into if() body
2016-11-19 13:59:24 +01:00
rlar
e54cc664da
subckt.c, finishLine(), #4/6 drop condition which is always true
2016-11-19 13:59:15 +01:00
rlar
f9e86cf1ee
subckt.c, finishLine(), #3/6 drop condition which is always false
2016-11-19 13:59:05 +01:00
rlar
8b6a28789b
subckt.c, finishLine(), #2/6 duplicate code into if/else body
2016-11-19 13:58:55 +01:00
rlar
3a79933d9c
subckt.c, finishline(), #1/6 minor cleanup
2016-11-19 13:58:41 +01:00
rlar
2852776482
subckt.c, cleanup while() loop
2016-11-19 10:35:31 +01:00
rlar
0982953fca
use strchr() instead of strstr()
2016-11-19 10:35:27 +01:00
h_vogt
bcf0f3c76e
inpcom.c, improved method for detecting model names
2016-11-13 18:11:11 +01:00
h_vogt
00d88d28ce
prevent crash if files for debug-out could not be opened,
...
e.g. due to missing permission
2016-11-12 17:28:56 +01:00
h_vogt
53555373dd
inpcom.c, suppress warning on missing model for lines like
...
C n1 n2 c=10p
2016-11-12 15:19:04 +01:00
rlar
4a9bb398c8
mop up commit "rewrite scope business,..."
2016-11-12 13:19:58 +01:00
rlar
5e6c6371a3
rewrite scope business,
...
use a tree structure to represent scopeing,
instead of edge enumeration.
drop a check for "suitable" subckt,
the scope dictates which .subckt is refered to.
drop a check for redefinition in numparm,
numparm is definitly defect, it doesn't know about "scope"
The check did only check for some specific situations.
todo:
- use the scope datastructure in numparm and subckt.c too
- free the scope datastructure
2016-11-09 18:40:05 +01:00
rlar
a8f2baad19
fix commit "inpcom.c, inp_add_levels(), add level info to each line in deck"
...
levelinfo is not properly initialized when function inp_add_levels()
is called more than once.
2016-11-06 11:55:05 +01:00
rlar
9b80badbd0
cleanup rem_tlist()
2016-11-05 20:32:59 +01:00
rlar
709512f733
drop set_tlist, minimize usage of globals modtlist and devtlist
2016-11-05 20:32:59 +01:00
rlar
9f66aca9d4
tail, better in CKTcircuit, oh no, needs to access symboltab
2016-11-05 20:32:59 +01:00
rlar
435a32152d
not exactly the same
2016-11-05 20:32:59 +01:00
rlar
46b971aef9
drop condition 'expr_w_temper' when used with devtlist and modtlist
...
The actual condition is (devtlist || modtlist)
yet functions
inp_parse_temper_trees()
inp_evaluate_temper()
can cope with that anyway.
2016-11-05 20:32:59 +01:00
rlar
cd6fdbf380
remove excessive inp_evaluate_temper() prototypes
2016-11-05 20:32:59 +01:00
rlar
c8ce9d963d
inp.c, rem_tlist(), cleanup
2016-11-05 20:32:58 +01:00
h_vogt
3a27cb43ba
inp.c, add loop to remove linked lists devtlist, modtlist
2016-11-05 20:32:58 +01:00
rlar
d69179ce5e
try to fix rem_tlist()
...
Note:
struct INPparseTree is an overlay of struct IFparseTree
very ugly.
2016-11-05 20:32:58 +01:00
h_vogt
c9517c397b
lists struct pt_temper *modtlist and struct pt_temper *devtlist
...
contain parse trees handling TEMPER equations in model or instance lines.
Create new lists upon entering inp_parse_temper().
Save pointers to lists in current circuit ft_curckt.
Upon changing circuit, reload lists from ft_curckt.
Upon removing current circuit, delete lists.
2016-11-05 20:32:58 +01:00
rlar
77d195dbac
subckt.c, numnodes(), #3/3 cleanup
2016-11-05 20:32:57 +01:00
rlar
94d8ca2c41
subckt.c, numnodes(), #2/2 cleanup
2016-11-05 20:32:57 +01:00
rlar
4bd446096e
subckt.c, numnodes(), cleanup
2016-11-05 20:32:57 +01:00
rlar
0caf879ea6
drop 'depreciated_skip..()'
2016-11-05 20:32:57 +01:00
rlar
fa63b66c81
rename gettok_nc() --> nexttok(), and functionalize it
2016-11-05 20:32:57 +01:00
h_vogt
6f10c9f818
cpitf.c; allow spaces in paths like "Program Files" as search path for spinit if in MS Windows
2016-11-05 20:32:57 +01:00
h_vogt
896064c8b4
cpitf.c, sharedspice.c, add debug output by defining OUTDEBUG preprocessor flag
2016-11-05 20:32:56 +01:00
h_vogt
ee269e437d
cpitf.c, save information on ngspice.exe into variables (MS Visula Studio only)
2016-11-05 20:32:56 +01:00
h_vogt
ec91dcb61e
gnuplot.c, add 'noretraceplot' to prevent retracing of
...
the graph if plotting against a vetor which is not the
original scale vector ('plot vec1 vs vec2')
2016-11-05 20:32:55 +01:00
h_vogt
191de728d4
avoid retrace in output graph by adding label 'noretraceplot'
...
to the plot command, that creates a lin plot trying to avoid retracing
2016-11-05 20:32:54 +01:00
h_vogt
c687c3763b
main.c, misccoms.c, preliminary fix to bug no. 315 longjmp creates segfault under Windows 10 (VS and MINGW), when WM_CLOSE is activated. Set signal handler function to cp_evloop, which leads to com_quit here, undo this function again in com_quit to avoid loops if segfault occurs in com_quit.
2016-11-05 20:32:54 +01:00
h_vogt
31889516e5
numparam, use NESTINGDEPTH for the nupa dico stack too
2016-11-05 20:32:54 +01:00
h_vogt
862df7fadb
subckt.c, xpressn.c, spicenum.c, add level information for .subckt entries nupa_scan is totally without level info. This preliminary fix at least lets us decide to issue a warning if subckt have equal names and are on the same level. Still nupa_scan only enters the first entry into its hash table, irrespective of its level.
2016-11-05 20:32:54 +01:00
h_vogt
aa13929dde
inp.c, sharedspice.c, enable adding scripts by 'circbyline'
2016-11-05 20:32:54 +01:00
h_vogt
6704c04a42
inp.c, randnumb.c, option seedinfo
...
Print seed information only when option is set.
2016-11-05 20:32:53 +01:00
h_vogt
0b39676549
inp.c, enable .option seed=val || random || 'random'
...
setting the seed value of the random number generator either to val
or to a random number drawn from the amount
of seconds passed since 1.1.1970
May be overrideden at any time later by command 'setseed newval'
2016-11-05 20:32:53 +01:00
h_vogt
32ad029a0e
command.c, add command 'setseed'
...
randnumb.c, add function com_sseed
for immediately setting the seed of the random number generator
'setseed' uses variable rndseed as seed
'setseed <n>' uses <n> as seed and sets rndseed to <n>
2016-11-05 20:32:41 +01:00
h_vogt
eb65ff8ec8
inp.c, xpressn.c, cmath2.c, apply gauss1() instead of gauss0()
...
-> reproducible start value if 'set rndseed=val' is given.
2016-11-05 20:32:41 +01:00