Commit Graph

2240 Commits

Author SHA1 Message Date
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