Commit Graph

1790 Commits

Author SHA1 Message Date
h_vogt bdcd7dc1a7 inp.c: evaluate for 'temper' only the models which have
been entered into the hash table ckt->MODnameHash
2014-01-02 09:33:07 +01:00
h_vogt 75eee691c4 inpcom.c remove bug: parens around equation h, f
add equation + temper capability to gain of F-Source
2014-01-02 09:33:03 +01:00
h_vogt 606c98904d inpcom.c: H Source with equation and temper in transresistance 2014-01-02 09:33:01 +01:00
dwarning c8f5d49ddd implement CKTsoaCheck() 2014-01-02 09:32:34 +01:00
rlar e2292cc5c4 inpcom.c, drop cp_tildexpand() in expand_this(), inp_pathresolve_at() shall do this 2014-01-02 09:32:29 +01:00
rlar 71fc51871e inpcom.c, rewrite .lib reading
use canonical file names to remember known .lib files
remember their directories in `habitat'
use inp_pathresolve_at() to find .lib files with regard to `searchpath' and current directory
2014-01-02 09:32:27 +01:00
rlar f2d3c9f122 inpcom.c, recurse expand_section_ref() 2014-01-02 09:32:25 +01:00
rlar 366d79b9b9 inpcom.c, cleanup 2014-01-02 09:32:24 +01:00
rlar 0420c0604b inpcom.c, whitespace cleanup 2014-01-02 09:32:22 +01:00
rlar 8fe86bb1c9 inpcom.c, reorder 2014-01-02 09:32:20 +01:00
rlar 0a2f5d2e55 inpcom.c, abstraction, introduce expand_section_ref() 2014-01-02 09:32:19 +01:00
rlar 6c30ad1b1e inpcom.c, simplify `.include' file processing using inp_pathresolve_at() 2014-01-02 09:32:17 +01:00
rlar 196102ee88 inpcom.c, introduce inp_pathresolve_at() 2014-01-02 09:32:15 +01:00
rlar 51bbd8c4d4 inpcom.c, introduce inp_pathresolve(), rewrite inp_pathopen() using this 2014-01-02 09:32:11 +01:00
h_vogt 9959030765 inpcom.c, for mingw absolute pathnames may begin with /d/
allow this when variable 'mingwpath' is set in .spinit
2014-01-02 09:32:08 +01:00
h_vogt 85ddc5b6db inpcom.c, remove variable "sourcefile" and references to "sourcefile"
this will no longer be required for access to input file residing
in the executable's directory
2014-01-02 09:32:06 +01:00
rlar 9b4238ed04 inpcom.c, fix inp_pathopen(), always try to fopen() relative to the current working directory first 2014-01-02 09:32:03 +01:00
rlar 0ce23e6f10 inpcom.c, fix inp_pathopen(), relative path shall be expanded regarding "sourcepath" 2014-01-02 09:31:58 +01:00
rlar 7524882f67 inpcom.c, simplify using is_plain_filename(), fix incorrect comments 2014-01-02 09:31:56 +01:00
rlar e0c398024f inpcom.c, implement is_absolute_pathname() and is_plain_filename() 2014-01-02 09:31:55 +01:00
h_vogt bb121fe903 inp.c, evtinit.c: improved error message
suggested by Calin Andrian
2014-01-02 09:31:23 +01:00
h_vogt 780ccbfb3c prevent crash, if due to input bug ckt is not created,
reported by  Andrian
2014-01-02 09:31:21 +01:00
h_vogt 8ad6bd209d replacements for functions missing in the msvc world 2014-01-02 09:31:10 +01:00
rlar 492f1f006c numparam, almost full precision for stringified double float numbers 2014-01-02 09:25:48 +01:00
rlar 6a2060e472 xpressn.c, drop initkeys() 2013-12-31 16:42:06 +01:00
rlar 7463410a5e xpressn.c, drop "AND OR NOT DIV MOD DEFINED" keywords 2013-12-31 16:42:05 +01:00
rlar 6b1363dcf7 xpressn.c, use C strings for the arguments of `keywords()' 2013-12-31 16:42:04 +01:00
rlar a855a19d2c xpressn.c, drop '&' and '|' operators, (we have '&&' and '||') 2013-12-31 16:42:04 +01:00
rlar 719b5e5c20 inpcom.c, exclude currently unused functions 2013-12-31 16:42:03 +01:00
rlar df0d1826ca inpcom.c, drop ternary_fcn code in inpcom.c, the extended "formula" shall process ternary expressions 2013-12-31 16:41:36 +01:00
rlar ef3580d590 xpressn.c, whitespace cleanup 2013-12-31 16:41:35 +01:00
rlar 1ac45bfd57 xpressn.c, implement a?b:c in the "formula" parser 2013-12-31 16:41:34 +01:00
rlar 1b959e6a50 xpressn.c, drop XFU_V
probably accidentally introduced in commit

> Author: h_vogt <h_vogt>
> Date:   Sun Feb 7 11:27:59 2010 +0000
>
>     improved numparam error message
2013-12-31 16:41:34 +01:00
rlar 9cb20e97d0 xpressn.c, use enums instead of literals 2013-12-31 16:41:33 +01:00
rlar 297778127b xpressn.c, drop "Defd" enum, to be incorporated into a bigger enum 2013-12-31 16:41:32 +01:00
rlar 76c7cd6fbd xpressn.c, fix semantics of `int(x)' and remove dangerous macros
int(x) most probably shall be trunc(x) instead of floor(x)
  note trunc(x) was #defined beeing floor(x)
  note ln(x) was #defined beeing log(x)
2013-12-31 16:41:32 +01:00
rlar 2854fa71d4 fix an endless loop waiting for y/n when the input is at EOF
reported by Calin Andrian
  Subject: [Ngspice-devel] Invaild number bug
2013-12-31 16:41:31 +01:00
rlar 467eb58244 xpressn.c, fix semantics of '&&' and '||'
these shall interpret a value as a bool according to (value != 0)
and these shall evaluate to either 1.0 or 0.0
2013-12-31 16:41:30 +01:00
rlar f6d610a1b6 xpressn.c, whitespace cleanup 2013-12-31 16:41:30 +01:00
rlar 0a42a19b02 xpressn.c, fix `truth' for ternary_fcn()
0.0 is `false', everything else is `true'
2013-12-31 16:41:29 +01:00
rlar 589ded417a update bison generated files 2013-12-31 16:41:29 +01:00
rlar b32ae9f79b .control and `B' parser, fix precedence of '-' versus '^'
-2^2 shall be -(2^2) instead of (-2)^2
2013-12-31 16:41:28 +01:00
h_vogt ad5c09a865 remove unused code 2013-12-31 16:41:27 +01:00
rlar a235b46795 inpcom.c, add missing condition `!comfile' for .title and .end processing 2013-12-31 16:41:25 +01:00
h_vogt 3c49c4eb8f fix criterion to start `.lib' and `.global gnd' processing 2013-12-31 16:41:24 +01:00
rlar 10f651da35 inpcom.c: MSVC compatibility 2013-12-31 16:41:23 +01:00
rlar dc2cd6fe01 inpcom.c, cleanup inp_readall() #7/7, drop misleading comment 2013-12-31 16:41:22 +01:00
rlar 11573327f4 inpcom.c, cleanup inp_readall() #6/7, tautology `call_depth == 0' 2013-12-31 16:41:22 +01:00
rlar 893e094faa inpcom.c, cleanup inp_readall() #5/7, use `rv . line_number' itself 2013-12-31 16:41:21 +01:00
rlar 4b1cbd8c8b inpcom.c, cleanup inp_readall() #4/7, move inp_read() epilog to inp_readall() 2013-12-31 16:40:38 +01:00
rlar f29ef643dc inpcom.c, cleanup inp_readall() #3/7, return `line_number' too 2013-12-31 16:26:15 +01:00
rlar ab607102e6 inpcom.c, cleanup inp_readall() #2/7, move inp_read() prolog to inp_readall() 2013-12-31 16:26:14 +01:00
rlar d598630b72 inpcom.c, cleanup inp_readall() #1/7, introduce inp_read() 2013-12-31 16:26:12 +01:00
rlar 9b7a5ab54d bug fix, .include and .lib files don't have a `title' line 2013-12-31 16:26:11 +01:00
rlar e2bc7b4d89 read_a_lib(), drop call_depth, its always zero 2013-12-31 16:26:05 +01:00
rlar b19bd3fb3f expand_section_references(), drop call_depth, its always zero 2013-12-31 16:26:03 +01:00
rlar a009dfdbbe harmonize delete_libs() 2013-12-31 16:26:02 +01:00
h_vogt 02555fbe99 bug reported by Yamamaya: revert deleting dicoS structure in inp.c and measure.c:
still to be used by 'listing param'
deletion moved to com_remcirc()
2013-12-31 16:26:01 +01:00
h_vogt a2522def52 inpcom.c: patch provided by Krzysztof Blaszkowski
Allow spaces like { token } during parameter substitution
2013-12-31 16:25:59 +01:00
rlar d5b1c4faa5 inpcom.c, rewrite, collapsing find_lib() into read_a_lib() 2013-12-31 16:25:58 +01:00
rlar cf2f74c9e0 inpcom.c: '$' as end-of-line comment delimiter outside of .control section, '$ ' inside of .control section, # untabify 2013-12-31 16:25:57 +01:00
h_vogt 90a4be3a93 inpcom.c: '$' as end-of-line comment delimiter
outside of .control section,
'$ ' inside of .control section
2013-12-31 16:25:56 +01:00
h_vogt bee18c3b25 inpcom.c: allow special characters in function names 2013-12-31 16:25:54 +01:00
rlar a921b5444e inpcom.c: patch provided by Simon Chang: correct function name substitution #2 2013-12-31 16:25:53 +01:00
h_vogt 2c38a69f92 inpcom.c: patch provided by Simon Chang: correct function name substitution 2013-12-31 16:25:52 +01:00
Krzysztof Blaszkowski 23cdd5e53f inpcom.c: avoid segfault when `TABLE' is used without parentheses 2013-12-31 16:25:48 +01:00
rlar bf9551287e inp_stripcomments_line(), drop support for '--' comment style
seems to be not common in the spice world,
and interferes too much with mathematical expressions like
   {3--2}
2013-12-31 16:25:46 +01:00
Krzysztof Blaszkowski 9d223d6778 execute ft_sigintr_cleanup() outside of the signal handler
to avoid execution of non-reentrant functions
2013-12-31 16:25:45 +01:00
Krzysztof Blaszkowski 1cf3dc81bb abstraction, introduce ft_sigintr_cleanup() 2013-12-31 16:25:44 +01:00
Krzysztof Blaszkowski fde7be49b9 ft_sigintr(), reorder, side effect: if `ft_setflag' then gr_clean() won't be invoked
and can't be invoked anyway
  from inside of the signal handler
2013-12-31 16:25:43 +01:00
rlar bbdf2a2da0 revert, msvc doesn't support `#warning' 2013-12-31 16:25:37 +01:00
h_vogt 8015442a22 inpcom.c: improved character check around 'temper' 2013-12-31 16:25:36 +01:00
rlar feb43795b2 numparm, fix pow() implementation 2013-12-31 16:25:35 +01:00
rlar 1dda94fb7a numparm, cleanup formula() 2013-12-31 16:25:34 +01:00
h_vogt 3fae8e0ba9 xpressn.c: add domain check for acosh, atanh replacement functions 2013-12-31 16:25:32 +01:00
rlar 2f508696a6 numparm, cleanup rewrite formula() 2013-12-31 16:25:31 +01:00
h_vogt e5e08b6f93 xpressn.c: asinh, acosh, atanh replacement functions added 2013-12-31 16:25:30 +01:00
rlar 3e721d871a xpressn.c, cleanup `maximize' operation 2013-12-31 16:25:29 +01:00
rlar dbb8a76adb xpressn.c, cleanup char index bistromatic 2013-12-31 16:25:27 +01:00
rlar 5db94276d3 sprinkle some constness 2013-12-31 16:25:26 +01:00
rlar d3c0b7f5fa xpressn.c, use symbolic `state' constants 2013-12-31 16:25:25 +01:00
rlar b232a25fb6 xpressn.c, prepare 2013-12-31 16:25:24 +01:00
rlar 37e4ec8f05 inpcom.c, emphasize the inp_readall() tail processing 2013-12-31 16:25:22 +01:00
rlar 632add21c5 inpcom.c, delete_libs() can use line_free_x() now 2013-12-31 16:25:21 +01:00
rlar 6a466f7490 line_free_x(), prevent stack overflow due to non-trivial recursion 2013-12-31 16:25:20 +01:00
rlar b3cb5cedd5 inpcom.c, local scope for `ipc_status' 2013-12-31 16:25:18 +01:00
rlar cb932803b6 inp_fix_ternary_operator_str, pinpoint serious bugs 2013-12-31 16:25:17 +01:00
rlar dfcbc52ee6 inp_fix_ternary_operator_str, use a local variable to improve readability 2013-12-31 16:25:16 +01:00
rlar 7452971177 inp_fix_ternary_operator_str, use `copy_substring()' 2013-12-31 16:25:14 +01:00
rlar 92f9d7a309 inp_fix_ternary_operator_str, limit backward search 2013-12-31 16:25:13 +01:00
rlar b51fe0eb8b inp_fix_ternary_operator_str, cleanup 2013-12-31 16:25:12 +01:00
rlar 1883edb12b xpressn.c, tan, asin, acos, atan, asinh, acosh, atanh, pwr, tanh
add tan() asin() acos() atan() asinh() acosh() atanh()
rewrite pwr() and tanh()
2013-12-31 16:25:11 +01:00
rlar b40f748ccc inp_fix_ternary_operator_str(), rewrite 2013-12-31 16:25:09 +01:00
rlar 3e3cbab668 inp_search_opening_paren(), rewrite 2013-12-31 16:25:08 +01:00
rlar 87f53913bd inp_search_opening_paren(), cleanup 2013-12-31 16:25:07 +01:00
rlar 23b4722bc0 inp_search_opening_paren(), static scope instead of local C99 scope 2013-12-31 16:25:05 +01:00
rlar 0ab86ddaf0 inp_fix_ternary_operator_str(), abstraction, new function inp_search_opening_paren() 2013-12-31 16:25:04 +01:00
rlar bdd65ddb89 inp_fix_ternary_operator_str(), local scope for str_ptr3 2013-12-31 16:25:03 +01:00
rlar 0260a5b61a cleanup 2013-12-31 16:25:01 +01:00
rlar c32b6934a3 cleanup 2013-12-31 16:25:00 +01:00
h_vogt 0d1666da29 inpcom.c: repeated call to inp_fix_ternary_operator_str
in inp_fix_ternary_operator, only lines beginning with .
selected, comments updated
2013-12-31 16:24:59 +01:00
rlar 4a20c45db2 inp_fix_ternary_operator_str(), rewrite using strchr() 2013-12-31 16:24:58 +01:00
rlar 246dc2e614 inp_search_closing_paren(), finally fold them 2013-12-31 16:24:56 +01:00
rlar a683431d57 inp_search_closing_paren(), rewrite, considering the assertion 2013-12-31 16:24:55 +01:00
rlar 3b5c475216 inp_search_closing_paren(), increase similarity 2013-12-31 16:24:54 +01:00
rlar 59be847d28 inp_search_closing_paren(), rewrite 2013-12-31 16:24:52 +01:00
rlar ff2e850f1c inp_search_closing_paren(), rewrite 2013-12-31 16:24:51 +01:00
rlar 77478d8286 inp_search_closing_paren(), rewrite 2013-12-31 16:24:50 +01:00
rlar f8a06900c2 inp_search_closing_paren(), cleanup 2013-12-31 16:24:48 +01:00
rlar 8c68b0194d inp_search_closing_paren(), drop found_paren, its always true 2013-12-31 16:24:47 +01:00
rlar c1594627b4 inp_search_closing_paren(), cleanup 2013-12-31 16:24:46 +01:00
rlar 1a66841e36 inp_fix_ternary_operator_str(), cleanup 2013-12-31 16:24:44 +01:00
rlar be4ce38eff inp_search_closing_paren(), static scope instead of local C99 scope 2013-12-31 16:24:43 +01:00
rlar 3f52f88244 inp_fix_ternary_operator_str(), abstraction, new function inp_search_closing_paren() 2013-12-31 16:24:05 +01:00
rlar 2c74e02d42 inp_fix_ternary_operator_str(), prepare for abstraction 2013-12-31 16:24:04 +01:00
rlar 3c71863c05 inp_fix_ternary_operator_str(), local scope for `count' 2013-12-31 16:24:02 +01:00
h_vogt 6dc46a56b1 inpcom.c: hot fix for ternary function for numparam 2013-12-31 16:24:01 +01:00
rlar 468dcd8f4d avoid `enumerated type mixed with another type' compiler warning 2013-12-31 16:23:59 +01:00
h_vogt 23c8a027f6 inpcom.c: some cleanups 2013-12-31 16:23:05 +01:00
rlar e2c0303865 avoid `unreachable code' warnings 2013-12-31 16:21:46 +01:00
rlar 5ec3042c19 FastNorm3.c, use int32_t for some 32 bit specific operations 2013-12-31 16:21:45 +01:00
h_vogt 8da34ab7c6 inpcom.c: plug a memory leak, add some comments 2013-12-31 16:21:42 +01:00
dwarning a05f9f3489 remove unused variable sign 2013-12-31 16:21:41 +01:00
h_vogt 35b49bc016 inpcom.c: plug two memory leaks 2013-12-31 16:21:37 +01:00
h_vogt 1096d60e53 inpcom.c: exclude command 'echo' and some others
from lower case letter transformation
2013-12-31 16:19:53 +01:00
h_vogt b821e7e6cf xpressn.c, numparam.h: fcn del_attrib with void* argument,
required by nghash_free()
2013-12-31 16:19:52 +01:00
h_vogt 61fefe31bb inpcom.c: move delete_libs to a safer place outside of recursions 2013-12-31 16:19:51 +01:00
h_vogt 750b42e767 inpcom.c: add fcn delete_libs to free libraries[] 2013-12-31 16:19:48 +01:00
h_vogt fe7a61c612 inpcom.c: plug memory leak 2013-12-31 16:19:47 +01:00
rlar 7528d45740 inp_expand_macro_in_str() needs recursive invocation to expand macros 2013-12-31 16:19:45 +01:00
rlar 534694645d counteract the tfree(macro_str) introduced in 'inpcom.c: plug memory leaks'
this one:
commit 810f72f850f8177275f17fc635d97b71b911ec0d
Author: h_vogt <h_vogt>
Date:   Sun Sep 8 13:01:26 2013 +0200

    inpcom.c: plug memory leaks
2013-12-31 16:19:44 +01:00
h_vogt a737ab1743 inpcom.c: fix a bug in ternary function 2013-12-31 16:19:43 +01:00
h_vogt 1edb51ccb7 inpcom.c: cleanup 2013-12-31 16:19:42 +01:00
h_vogt ada308e916 inpcom.c: further inprovement of 'temper', but still not there: problem with replacement of .func (nesting?) 2013-12-31 16:19:40 +01:00
h_vogt c2d1130db4 inpcom.c: dynamic array size in `inp_split_multi_param_lines()' 2013-12-31 16:19:39 +01:00
h_vogt 321450366e inpcom.c: remove name_buf length limitation 2013-12-31 16:19:38 +01:00
h_vogt 1bb7079dc5 inp.c, inpcom.c: improved debug printout debug-outx.txt 2013-12-31 16:19:36 +01:00
h_vogt 3018a64697 inpcom.c: plug memory leaks 2013-12-31 16:19:34 +01:00
h_vogt 4d7c993c6e inpcom.c: plug a memory leak 2013-12-31 16:19:32 +01:00
h_vogt d875687752 inpcom.c: `rewrite expand_section_references()' 2013-12-31 16:19:31 +01:00
h_vogt f17ab06e66 inpcom.c: fix huge memory leak during library handling 2013-12-31 16:19:30 +01:00
h_vogt cdbdd17136 inpcom.c: plug memory leak 2013-12-31 16:19:28 +01:00
h_vogt 984de3f511 inpcom.c: patch by Simon Chang added, severe trash code identified, to be repaired. 2013-12-31 16:19:27 +01:00
h_vogt 1978e75c13 inpcom.c: comment added 2013-12-31 16:19:26 +01:00
h_vogt 419da12d36 inp.c: inp_parse_temper(), plug memory leak 2013-12-31 16:19:25 +01:00
h_vogt 0c57bad2ff inpcom.c: simplify a condition in `inp_fix_for_numparam()' 2013-12-31 16:19:23 +01:00
h_vogt 5b06bdcd5b inpcom.c: modify only subckt used 2013-12-31 16:19:22 +01:00
h_vogt 62d9199cd6 inpcom.c: plug memory leaks in new TEMPER code 2013-12-31 16:19:21 +01:00
h_vogt d70865a162 allow 'temper' keyword in .param, .model and device instance lines
inpcom.c: fcns inp_fix_temper_in_param(), inp_new_func(), inp_rem_func()
  to convert .param with 'temper' to .func, and replace all affected
  parameter tokens xxx by their func counterpart xxx()

inpcom.c; fcns inp_temper_compat(), inp_modify_exp() added
  to prepare expression with 'temper' for numparam

inp.c: fcns inp_parse_temper(), inp_parse_temper_trees() added

inp_evaluate_temper()
  to prepare, parse and evaluate the expressions containing 'temper'

cktdefs.h: add global variable to expressions with 'temper'

dctrcurv.c: add fcn inp_evaluate_temper()
   when temp has changed
2013-12-31 16:19:19 +01:00
h_vogt e7e16e06e7 inpcom.c: debug printout to debug-out.txt improved 2013-12-31 16:19:17 +01:00
h_vogt 21f5fce1f8 inpcom.c: update some comments 2013-12-31 16:19:16 +01:00
dwarning 845dd554e2 com_psd(), reuse the window function `fft_windows()' 2013-12-31 16:19:14 +01:00
dwarning fe01e537cd cleanup some compiler warnings 2013-12-31 16:19:13 +01:00
dwarning 54529d0e42 allow cshell $variable substitution with and without $&var 2013-12-31 16:19:12 +01:00
h_vogt 4524d514e1 inp.c: comments added 2013-12-31 16:19:09 +01:00
h_vogt 3dff06228e dctran.c, runcoms2.c: shared ngspice: remove plot data upon 'bg_halt' and 'remcirc' 2013-12-31 16:19:08 +01:00
h_vogt 28dcedbfa6 misccoms.c: add more deleting function in 'quit' for shared ngspice 2013-12-31 16:19:06 +01:00
h_vogt 9520044a0f runcoms2.c: remove ci_options upon remcirc 2013-12-31 16:19:04 +01:00
h_vogt 5f6f53f9ad runcoms2.c: plug memory leak during remcirc 2013-12-31 16:19:03 +01:00
h_vogt 9e8219da67 runcoms2.c: plug memory leak during 'remcirc' 2013-12-31 16:18:58 +01:00
h_vogt be45a5ca37 outitf.c: plug memory leak 2013-12-31 16:18:57 +01:00
h_vogt 94595c06df spicenum.c, xpressn.c: plug setup memory leak
by adding user defined delete function for hash table entries
2013-12-31 16:18:56 +01:00
h_vogt fceefb700c runcoms2.c: plug setup memory leak 2013-12-31 16:18:54 +01:00
dwarning 075b620a86 introduce `cx_sortorder()' function 2013-12-31 16:18:52 +01:00
h_vogt e308f52e26 runcoms2.c: set freed pointers to NULL 2013-12-31 16:13:25 +01:00
h_vogt 0c503429e0 breakp2.c: plug some tiny memory leaks 2013-12-31 16:13:24 +01:00
h_vogt 777fe07e83 breakp.c: repair nonworking function dbfree() 2013-12-31 16:13:23 +01:00
h_vogt 3cc06c8e49 dotcards.c: plug some memory leaks 2013-12-31 16:13:21 +01:00
h_vogt 3f23287bdd spicenum.c: fix memory leak completely 2013-12-31 16:13:20 +01:00
h_vogt da10f49755 remove memory leak freeing dicoS
reported by Jonathan Knott
2013-12-31 16:13:19 +01:00
dwarning 4635a19ba9 introduce unwrap, minimum and maximum function 2013-12-31 16:13:17 +01:00
dwarning 6a3da0105b fft and ifft as vector functions 2013-12-31 16:13:08 +01:00
dwarning f3e7bf141d move the `fft_windows()' function to fft/fftext.c 2013-12-31 16:13:03 +01:00
h_vogt c972744ff1 inpcom.c, rewrite .subckt parameter processing 2013-12-31 16:13:02 +01:00
rlar 2555eeadef fix the csh-problem $foo[$bar] and $foo[$&baz] 2013-12-31 16:13:00 +01:00
rlar 909f087237 cp_variablesubst() and cp_bquote(), rewrite 2013-12-31 16:12:59 +01:00
rlar 9eab66131d cp_variablesubst() and cp_bquote(), rewrite 2013-12-31 16:12:58 +01:00
rlar c2927128cd whitespace 2013-12-31 16:12:56 +01:00
rlar 23d0f41e66 ft_find_analysis_parm(), change signature 2013-12-31 16:12:55 +01:00
rlar 4d65fb908d use type `IFparm' to abbreviate some expressions 2013-12-31 16:12:53 +01:00
rlar 31b455afd4 if_getstat(), rewrite 2013-12-31 16:12:52 +01:00
rlar fc2dd436fe abstraction, new function `ft_find_analysis_parm()' 2013-12-31 16:12:51 +01:00
rlar 9d0500027c abstraction, new function `ft_find_analysis()' 2013-12-31 16:12:49 +01:00
h_vogt 49c1385ba6 bug fix, `#248 Subcircuit call cannot have a node with same name as the subcircuit'
reported by  Henrik Forstén
http://sourceforge.net/p/ngspice/bugs/248/
2013-12-31 16:12:48 +01:00
rlar 6050e2e0ea cleanup some extra parentheses 2013-12-31 16:12:44 +01:00
rlar bedbdb65bb cleanup some line wraps 2013-12-31 16:12:43 +01:00
rlar df5c785a84 drop `INPmodUsed' which is redundant to `INPmodfast' 2013-12-31 16:12:31 +01:00
rlar f0d36d956e CKTfndMod(), cleanup 2013-12-31 16:12:27 +01:00
rlar e7def1a0bc CKTfndMod(), drop unused arguments `type' and `modfast' 2013-12-31 16:12:26 +01:00
rlar 7b495e0a7b CKTfndMod(), use a hashtable 2013-12-31 16:12:24 +01:00
rlar 59309e196b CKTfndMod(), cleanup 2013-12-31 16:12:23 +01:00
rlar b32c15d85f CKTfndMod(), dont pass the `type' argument by reference any more 2013-12-31 16:12:22 +01:00
rlar 494ef3f628 CKTfndMod(), cleanup 2013-12-31 16:12:20 +01:00
rlar 247ae92ae8 CKTfndMod(), unuse the `type' argument 2013-12-31 16:12:19 +01:00
rlar 213304f745 CKTfndMod(), rewrite error expressions 2013-12-31 16:12:16 +01:00
rlar f0882dbdfd CKTfndMod(), return the found model instead of error code 2013-12-31 16:12:15 +01:00
rlar b97c2ba5d1 CKTfndMod(), express error return value outside of this function 2013-12-31 16:12:14 +01:00
rlar bd7e93de6c CKTfndMod(), assert some facts 2013-12-31 16:12:11 +01:00
rlar e79135c556 CKTfndDev(), cleanup 2013-12-31 16:12:10 +01:00
rlar ddc78067cc CKTfndDev(), drop `type' and `fast' argument 2013-12-31 16:12:08 +01:00
rlar 6a9a246526 CKTfndDev(), rewrite invocations where `*fast == NULL' 2013-12-31 16:12:07 +01:00
rlar 6c80cb4062 CKTfndDev(), unuse the type argument 2013-12-31 16:12:04 +01:00
rlar 390dccd44b CKTfndDev(), rewrite error expressions 2013-12-31 16:12:03 +01:00
rlar 5daa676163 CKTfndDev(), return the found instance instead of error code
now if (fast != NULL)
  CKTfndDev(,,fast, )
is equivalent to
  *fast = CKTfndDev(,,fast, )
2013-12-31 16:12:01 +01:00
rlar 7bacfc73d1 CKTfndDev(), express error return value outside of this function
if (fast != NULL) then
     err = CKTfndDev(,, fast, );
is equivalent to
     err = CKTfndDev(,, fast, );
     err = *fast ? OK : E_NODEV;
2013-12-31 16:12:00 +01:00
rlar 6e7d70e4bb CKTfndDev(), assert some facts 2013-12-31 16:11:59 +01:00
rlar 0ab6a6e463 CKTfndDev(), drop unused argument `modfast' 2013-12-31 16:11:53 +01:00
h_vogt 7911ed9eb9 subckt.c: `A' device , no special translation when nodename starts with `v' 2013-12-31 16:11:49 +01:00
rlar 29c57dd857 cleanup IFnewUid() invocations
checked for object file invariance
2013-12-31 16:11:37 +01:00
rlar 2f2da2bab2 cleanup OUTpBeginPlot() invocations
checked for object file invariance
2013-12-31 16:11:36 +01:00
rlar 4ad4877e30 CKTfndDev(), drop unused argument `modname' which is always NULL 2013-12-31 16:11:23 +01:00
rlar 7c9e6e6569 unify, use `ckt' instead of `ck' 2013-12-31 16:11:20 +01:00
Henrik Forstén c9c23342bc numparm, speedup modernizeex() for the common case 2013-12-31 16:11:10 +01:00
Henrik Forstén f284de7f49 inpcom.c: fix "sytax" spelling 2013-12-31 16:11:07 +01:00
dwarning 57f36319a1 allow format like .5 in b-sources 2013-12-31 16:11:05 +01:00
rlar 42066c2293 inpcom.c, whitespace 2013-12-31 16:10:50 +01:00
rlar 46a8f9bf0f inpcom.c, cleanup 2013-12-31 16:10:48 +01:00
rlar 9181e7a008 inpcom.c, use strchr(,'\0') 2013-12-31 16:10:47 +01:00
rlar a10a0b5e68 inpcom.c, use better skip_back functions 2013-12-31 16:10:45 +01:00
rlar cbc2abdd13 inpcom.c, rewrite `chk_for_line_continuation()' 2013-12-31 16:10:44 +01:00
rlar c8a94fb1d4 inpcom.c, introduce better skip_back functions 2013-12-31 16:10:43 +01:00
rlar 6e042f4147 inpcom.c, minor cleanup 2013-12-31 16:10:41 +01:00
rlar 82f70e3986 inpcom.c, rewrite `inp_fix_param_values()' 2013-12-31 16:10:40 +01:00
rlar ad47b00e0f inpcom.c, cleanup 2013-12-31 16:10:38 +01:00
rlar 863996228b inpcom.c, cleanup `inp_add_params_to_subckt()' 2013-12-31 16:10:37 +01:00
rlar c07038dfa9 inpcom.c, minor rewrites 2013-12-31 16:10:36 +01:00
h_vogt 83205d6c30 inp.c: skip title line when searching for .if in dotifeval() 2013-12-31 16:10:33 +01:00
rlar 15fab1ea12 inpcom.c, abstraction, new function `find_assignment()' 2013-12-31 16:10:31 +01:00
rlar ffefd7a96f inpcom.c, cleanup 2013-12-31 16:10:30 +01:00
rlar b18854c3c0 inpcom.c, abstraction, new function inp_split_multi_param_lines() 2013-12-31 16:10:29 +01:00
rlar 52620edc72 inpcom.c, cleanup `inp_split_multi_param_lines()' 2013-12-31 16:10:27 +01:00
rlar c747498324 inpcom.c, local scope for `newcard' 2013-12-31 16:10:23 +01:00
h_vogt c485cd4b8b inpcom.c: G source, fix a bug and add `m' to TABLE 2013-12-31 16:10:22 +01:00
rlar df00c189d1 inpcom.c, rewrite `append' of some decks 2013-12-31 16:10:20 +01:00
rlar f6117a0cb8 inpcom.c, drop unused assignment 2013-12-31 16:10:19 +01:00
rlar 766cb12c13 inpcom.c, rewrite deck allocation 2013-12-31 16:10:18 +01:00
rlar bacfc6a309 inpcom.c, local scope for some vars 2013-12-31 16:10:16 +01:00
h_vogt f58a255651 inpcom.c: multiplier `m' for behavioral G source 2013-12-31 16:10:15 +01:00
h_vogt 05a6ec222e inp.c, inpcom.c: implement a very basic .if/.else block 2013-12-31 16:10:13 +01:00
h_vogt 7857a300ad subckt.c: prevent crash if 5/6 MOS nodes w/o L, W 2013-12-31 16:10:11 +01:00
h_vogt 5cbdca2cc6 subckt.c: MOS model in subckt w/o L, W 2013-12-31 16:10:09 +01:00
rlar 4d4d51c27b inpcom.c, reorder some statements 2013-12-31 16:10:08 +01:00
rlar d19f75381c inpcom.c, local scope for `str' 2013-12-31 16:10:07 +01:00
rlar 245bd13cec inpcom.c, local scope for `global_card' 2013-12-31 16:10:05 +01:00
rlar e0e30a9d93 inpcom.c, drop variable `prev' 2013-12-31 16:10:04 +01:00
rlar 855e504b9a inpcom.c, get rid of the global `global' 2013-12-31 16:10:02 +01:00
rlar 761ca9963d inpcom.c, rewrite subckt_w_params business 2013-12-31 16:10:01 +01:00
rlar 956e7ad625 inpcom.c, execute inp_fix_for_numparam() just once when call_depth == 0 2013-12-31 16:10:00 +01:00
rlar 1c3a8670d8 inpcom.c, drop superflous initialisation 2013-12-31 16:09:56 +01:00
rlar 5425ce387e inpcom.c, improve readability of skip_back_non_ws() and skip_back_ws() 2013-12-31 16:09:54 +01:00
rlar 7fff6c27cd inpcom.c, cleanup 2013-12-31 16:09:53 +01:00
rlar fb3d474cc2 inpcom.c, drop some local variables 2013-12-31 16:09:51 +01:00
rlar cde7286721 inpcom.c, simplify error processing 2013-12-31 16:09:50 +01:00
rlar e94a7e240f inpcom.c, simplify tfree() usage 2013-12-31 16:09:49 +01:00
rlar 40343f164b inpcom.c, local scope for some variables 2013-12-31 16:09:47 +01:00
rlar 153b4ac1c3 inpcom.c, cleanup deck loops #4/4 2013-12-31 16:09:43 +01:00
rlar 0d7020067e inpcom.c, cleanup deck loops #3/4 2013-12-31 16:09:42 +01:00
rlar 5c82547109 inpcom.c, cleanup deck loops #2/4 2013-12-31 16:09:40 +01:00
rlar d4e693632b inpcom.c, cleanup deck loops #1/4 2013-12-31 16:09:39 +01:00
h_vogt d4d3910e5a xpressn.c: reduce number of (forbidden) keywords
to what is actually used
2013-12-31 16:09:38 +01:00
rlar b76f9084bd inpcom.c, inp_chk_for_multi_in_vcvs() shrink scope of variables 2013-12-31 16:09:36 +01:00
rlar 9b404a2265 inpcom.c, cleanup 2013-12-31 16:09:35 +01:00
rlar 30b4451433 inpcom.c, bug fix (incorrect check for mal formed line) 2013-12-31 16:09:34 +01:00
rlar 0f14ee3c22 inpcom.c, cleanup 2013-12-31 16:09:32 +01:00
rlar 129b1f36ed inpcom.c, simple cleanups 2013-12-31 16:09:31 +01:00
rlar 30a88925da inpcom.c, change semantics of skip_back_non_ws() and skip_back_ws() 2013-12-31 16:09:29 +01:00
rlar 144452c96c inpcom.c, unify skip_back() usage #2/2 2013-12-31 16:09:28 +01:00
rlar 7fd93a8bd6 inpcom.c, unify skip_back() usage #1/2 2013-12-31 16:09:27 +01:00
rlar 8bff6db927 inpcom.c, cleanup inp_get_func_from_line() 2013-12-31 16:09:25 +01:00
rlar 687de9fc02 inpcom.c, drop artifact, now this isn't any more a bug 2013-12-31 16:09:24 +01:00
rlar b20c6e149c inpcom.c, use a list to store the `.func' lookup table 2013-12-31 16:09:22 +01:00
rlar 9093ec8fac inpcom.c, use a `rib cage' to store the .subckt lexical scoping of `.func' 2013-12-31 16:09:21 +01:00
rlar 777dbede9b inpcom.c, cleanup inp_expand_macros_in_deck() recursion 2013-12-31 16:09:20 +01:00
rlar 9782542b62 bug fix, .func expansion for nested .subckt 2013-12-31 16:09:17 +01:00
rlar 4fee1ed6c1 inpcom.c, cleanup some while(struct line * ...) loops 2013-12-31 16:09:16 +01:00
rlar 60d9e79870 inpcom.c, cleanup 2013-12-31 16:08:59 +01:00
rlar c397bb2013 inpcom.c, abstraction, find_subckt_w_params() 2013-12-31 16:08:58 +01:00
rlar 09a2ea3b0d inpcom.c, cleanup, emphasize a search in subckt_w_params[] 2013-12-31 16:08:57 +01:00
rlar ee626636c3 inpcom.c, abstraction, new_subckt_w_params() 2013-12-31 16:08:55 +01:00
rlar f9dca702c9 inpcom.c, abstraction, new_lib() 2013-12-31 16:08:54 +01:00
rlar ec93de4a5d inpcom.c, cleanup usage of free_function() 2013-12-31 16:08:52 +01:00
rlar 5e00cbb3dd inpcom.c, abstraction, free_function() 2013-12-31 16:08:51 +01:00
rlar cb6340bf5b inpcom.c, think in terms of struct functions instead of an integer 2013-12-31 16:08:50 +01:00
rlar 2929b7b885 inpcom.c, emphasize a potential bug 2013-12-31 16:08:48 +01:00
rlar 77484595a0 inpcom.c, think in terms of struct library instead of an integer 2013-12-31 16:08:47 +01:00
rlar 00f26c7e69 inpcom.c, collect globals into a struct 2013-12-31 16:08:45 +01:00
rlar 936096ed6b inpcom.c, rename N_FUNCS and N_LIBRARY 2013-12-31 16:08:44 +01:00
rlar e0b56ca877 inpcom.c: rewrite .lib processing 2013-12-31 16:08:40 +01:00
h_vogt 0cf4fa381c inpcom.c: debug output streamlined 2013-12-31 16:08:39 +01:00
h_vogt 87352b7f04 inpcom.c: larger array size, debug output modified 2013-12-31 16:08:37 +01:00
rlar 8fa71d2ae1 inpcom.c: array bounds check 2013-12-31 16:08:36 +01:00
h_vogt a146e6abfb inpcom.c: disable `m' for E, H 2013-12-31 16:08:22 +01:00
dwarning 56449f54a3 allow Multiplier for current source in subckts 2013-12-31 16:08:18 +01:00
h_vogt 104f795a3e inpcom.c: add some some comments 2013-12-31 16:08:17 +01:00
h_vogt 4d4f05c380 inpcom.c: no multiplier 'm' added to V, I lines in subckt 2013-12-31 16:08:15 +01:00
h_vogt 745ea9ff3e measure.c: disable autostop, if no .meas commands found 2013-12-31 16:08:11 +01:00
h_vogt d4e5d1f836 subckt.c: enable correct model renaming for inductors 2013-12-31 16:08:10 +01:00
h_vogt e953d9a796 inpcom.c: hot fix for nested ternary expressions 2013-12-31 16:07:52 +01:00
rlar dc0fbe4220 bug fix, preserve filename case for `codemodel', `load' and `use'
reported and fixed by Emil Lambrache on the bug tracker
http://sourceforge.net/p/ngspice/bugs/241/
  "#241 case sensitivity not preserved for file names"
2013-12-31 16:07:29 +01:00
h_vogt 23779a9eb1 inp.c: add function prototype 2013-12-31 16:07:06 +01:00