Commit Graph

3997 Commits

Author SHA1 Message Date
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
dwarning bdf3dced00 add missing tc1 and tc2 parameter entries in ask function 2013-12-31 16:26:10 +01:00
dwarning 5d2fd1ece0 whitespaces 2013-12-31 16:26:09 +01:00
dwarning 4965d02b5f fix an overlap in parameter definitions 2013-12-31 16:26:07 +01:00
rlar 6d371c9532 cleanup getopt_long() options 2013-12-31 16:26:06 +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
rlar a94170d2ab gettok_node(), use copy_substring() 2013-12-31 16:25:50 +01:00
Krzysztof Blaszkowski 493aaba468 gettok_node(), avoid segfault when *s == NULL 2013-12-31 16:25:49 +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
dwarning 06dd6abcf2 fix an overlap in parameter definitions 2013-12-31 16:25:41 +01:00
Krzysztof Blaszkowski 6a00876731 nipred.c, cleanup 2013-12-31 16:25:40 +01:00
Krzysztof Blaszkowski 30f1607a0a nipred.c, bug fix NIpred() when running 'TRAPEZOIDAL'
a long standing serious bug, allready in the very first commit from
  Date:   Thu Apr 27 20:03:57 2000 +0000

Nipred() after evaluating TRAPEZOIDAL case fell through into GEAR case.

see:
  http://sourceforge.net/p/ngspice/support-requests/18/
2013-12-31 16:25:39 +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 9b2aea70f9 use Tcl_SetObjResult() instead of poking into Tcl_Interp.result 2013-12-31 16:24:00 +01:00
rlar 468dcd8f4d avoid `enumerated type mixed with another type' compiler warning 2013-12-31 16:23:59 +01:00
rlar f12306542c avoid a `constant expression' compiler warning 2013-12-31 16:23:57 +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
rlar 1156164056 fix incorrect fprintf() usage 2013-12-31 16:21:44 +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 dad80811f9 inp2m.c: plug memory leak 2013-12-31 16:21:40 +01:00
h_vogt 4d1b4bfa0a inp2m.c: indentation 2013-12-31 16:21:39 +01:00
h_vogt 35b49bc016 inpcom.c: plug two memory leaks 2013-12-31 16:21:37 +01:00
h_vogt 962c73e14e dctran.c, sharedspice.c: function sharedsync has modified parameter list 2013-12-31 16:21:36 +01:00
dwarning 06c891933c allow geometry scaling by option `scale' 2013-12-31 16:21:35 +01:00
dwarning 88d108f139 index `i' was definitively overwritten 2013-12-31 16:21:34 +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
dwarning 921aca9d7e allow geometry scaling by option `scale' 2013-12-31 16:19:49 +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 d8fe6bd671 inp2m.c: plug a small memory leak 2013-12-31 16:19:35 +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 8c85064018 inperrc.c: new function `INPstrCat()' to concatenate two strings 2013-12-31 16:19:18 +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 73bec459fa inperrc.c: comments added, white spaces 2013-12-31 16:19:11 +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 b33f374d22 sharedspice.c: improve progress analysis 2013-12-31 16:19:07 +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 abbda029e1 BSIM 4.7.0 plug memory leak during remcirc 2013-12-31 16:19:02 +01:00
h_vogt d38d907fbc BSIM 3.2.4 plug memory leak during remcirc 2013-12-31 16:19:01 +01:00
h_vogt d6946705f8 BSIM 3.3.0 plug memory leak during remcirc 2013-12-31 16:18:59 +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
h_vogt a97b330965 vsrcdest.c, isrcdest.c: fix memory leak by freeing VSRCcoeffs, ISRCcoeffs 2013-12-31 16:18:53 +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 20c375bcc2 fix a bug on spurious output to console during fprintf reported by Evan Lavelle 2013-12-31 16:13:16 +01:00
dwarning 68da03f9de preserve vector length for fft by interpolation, window by default: none 2013-12-31 16:13:15 +01:00
h_vogt d2dbe6145f sharedspice.c: modified callback interface
enhanced function ngSpice_Init_Sync()
three new callback functions for synchronization
2013-12-31 16:13:12 +01:00
h_vogt a0757d3143 dctran.c: synchronization option for shared library 2013-12-31 16:13:11 +01:00
h_vogt 2c97c31658 devices/isrc: EXTERNAL option for independent current source ISRC 2013-12-31 16:13:10 +01:00
dwarning 6a3da0105b fft and ifft as vector functions 2013-12-31 16:13:08 +01:00
dwarning 0b1bff9fd8 fix type of length in fft window function 2013-12-31 16:13:07 +01:00
dwarning e1fa276ddc whitespace 2013-12-31 16:13:06 +01:00
dwarning c8cd8b95a8 specific MS adaption 2013-12-31 16:13:04 +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
h_vogt 88cd0f324d bug fix, `#250 "<<NAN, error = 7>>" in op analysis'
http://sourceforge.net/p/ngspice/bugs/250/
2013-12-31 16:12:45 +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 ed6d7df0ce inpdoopt.c, bug fix, `i' incremented twice when searching for "options" 2013-12-31 16:12:41 +01:00
rlar 852bb7a89f minor, prepare for automatic indentation 2013-12-31 16:12:40 +01:00
rlar 7381081226 ciderlib, proper types for newCard(), setCardParm(), askCardQuest() 2013-12-31 16:12:39 +01:00
rlar ccb600f3c1 drop `NIL' macro 2013-12-31 16:12:37 +01:00
rlar f973e7107f memory.h, polish macros 2013-12-31 16:12:36 +01:00
Henrik Forstén 44ef3db000 dstring_append_char(), rewrite 2013-12-31 16:12:35 +01:00
rlar ade2f8c2c2 CKTmodCrt(), cleanup 2013-12-31 16:12:33 +01:00
rlar 86264b9879 CKTmodCrt(), cleanup, always assign to `*modfast'
for all invocations of CKTmodCrt() alias newModel()
the following is true
   (modfast != NULL) && (*modfast == NULL)
see
    (grep "git --no-pager grep -nH -e 'CKTmodCrt\\|newModel'")
2013-12-31 16:12:32 +01:00
rlar df5c785a84 drop `INPmodUsed' which is redundant to `INPmodfast' 2013-12-31 16:12:31 +01:00
rlar 468b4b973c nghash_delete() models and instances in CKTdltMod() 2013-12-31 16:12:30 +01:00
rlar f29d683770 CKTfndMod(), cleanup 2013-12-31 16:12:28 +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 f46dbc883b CKTfndMod(), this wont happen any more and `*type' will be overwritten anyway 2013-12-31 16:12:18 +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 4cc57bdfd6 CKTfndMod(), this will never happen, when this series of rewrites is finished 2013-12-31 16:12:12 +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 f375ec6c10 CKTfndDev(), rewrite invocations where `type == NULL' 2013-12-31 16:12:06 +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 d9fbb36ac7 CKTfndDev(), unuse `type' argument 2013-12-31 16:11:57 +01:00
rlar 7048bf7c15 CKTfndDev(), cleanup usage of `type' argument 2013-12-31 16:11:56 +01:00
rlar 8a98c784f6 CKTfndDev(), cleanup usage of impossible error codes 2013-12-31 16:11:55 +01:00
rlar 0ab6a6e463 CKTfndDev(), drop unused argument `modfast' 2013-12-31 16:11:53 +01:00
Henrik Forstén 771d1fa697 CKTfndDev(), rewrite 2013-12-31 16:11:52 +01:00
Henrik Forstén b96be8d576 CKTfndDev(), use a hashtable to speed up this function 2013-12-31 16:11:51 +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 503f5d5c26 simplify #ifdef nesting #4/4 2013-12-31 16:11:48 +01:00
rlar 2c33cd49b2 simplify #ifdef nesting #3/4 2013-12-31 16:11:47 +01:00
rlar 71e953e1b9 simplify #ifdef nesting #2/4 2013-12-31 16:11:45 +01:00
rlar b1a2eef4d0 simplify #ifdef nesting #1/4 2013-12-31 16:11:44 +01:00
h_vogt e929275cdf sharedspice.c, .h: fcn to initialize Sync, fcn to set breakpoint, callback fcn to read vsrc external inputs 2013-12-31 16:11:43 +01:00
h_vogt 89ae9e36a6 shared ngspice, dctran.c fcn to add breakpoints 2013-12-31 16:11:41 +01:00
h_vogt 8147b03465 shared ngspice: external voltage source 2013-12-31 16:11:40 +01:00
rlar 96e1d7eec6 cleanup OUTattributes() invocations
checked for object file invariance
2013-12-31 16:11:38 +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 40414ead49 cleanup stuttered semicolon 2013-12-31 16:11:34 +01:00
rlar 11abda7a6b noisean.c, cleanup comment 2013-12-31 16:11:33 +01:00
rlar 4473419cb8 polish `PARSECALL' macro
checked for object file invariance
2013-12-31 16:11:32 +01:00
rlar 31ff2ee073 polish `LITERR' macro
checked for object file invariance
2013-12-31 16:11:30 +01:00
rlar 1b3e77ca32 polish `GCA' macro
checked for object file invariance
2013-12-31 16:11:29 +01:00
rlar d52c9e401a polish `IFC' macro
checked for object file invariance,
different code for inppas3.c, seems to be ok
2013-12-31 16:11:28 +01:00
rlar 14a6bd9314 polish `MERROR' macro
checked for object file invariance
2013-12-31 16:11:26 +01:00
h_vogt a072a13cb0 misc_time.c: make timediff always availabe when timeb.h is found 2013-12-31 16:11:25 +01:00
dwarning 1bb270e301 inp2y.c, TXL bug fix
reported by John Reuben P on the ngspice-users mailing list
need to insert instance names into the symbol table with INPinsert()
2013-12-31 16:11:24 +01:00
rlar 4ad4877e30 CKTfndDev(), drop unused argument `modname' which is always NULL 2013-12-31 16:11:23 +01:00
rlar 156c9ea086 cleanup CKTfndDev(), findInstance() invocation 2013-12-31 16:11:21 +01:00
rlar 7c9e6e6569 unify, use `ckt' instead of `ck' 2013-12-31 16:11:20 +01:00
rlar 7c15b99ebc CKTfndDev(), #6/6, cleanup 2013-12-31 16:11:19 +01:00
rlar a2b50f5c1e CKTfndDev(), #5/6, cleanup 2013-12-31 16:11:17 +01:00
rlar 235283d96a CKTfndDev(), #4/6, cleanup 2013-12-31 16:11:16 +01:00
rlar 52c0731b69 CKTfndDev(), #3/6, cleanup 2013-12-31 16:11:15 +01:00
rlar 8c91149625 CKTfndDev(), #2/6, cleanup 2013-12-31 16:11:13 +01:00
rlar 8a69f5c1c8 CKTfndDev(), #1/6, whitespace 2013-12-31 16:11:12 +01:00
rlar 025c1e751e abstraction, new function `find_instance()' 2013-12-31 16:11:11 +01:00
Henrik Forstén c9c23342bc numparm, speedup modernizeex() for the common case 2013-12-31 16:11:10 +01:00
Henrik Forstén 30d7647378 search just once for basic device types 2013-12-31 16:11:08 +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
dwarning ae78dd06ef devices/mos*: prevent NaN in sqrt for negative value of model parameter `PHI' 2013-12-31 16:11:04 +01:00
Henrik Forstén 9c04f01991 rewrite AlmostEqualUlps() to avoid compiler warnings concerning `strict-aliasing' 2013-12-31 16:11:03 +01:00
Henrik Forstén 97d99067a6 inpsymt.c, use "Daniel J. Bernstein" hash function
instead of a simple sum.

just for note,
there is a wealth of newer hash functions.

For example "The FNV Non-Cryptographic Hash Algorithm"
from http://tools.ietf.org/html/draft-eastlake-fnv-03
2013-12-31 16:11:02 +01:00
rlar 2eb5a7ac00 avoid `(IFuid) 0' cast 2013-12-31 16:11:00 +01:00
rlar daf4fba6db convert K&R function definitions to ansi style 2013-12-31 16:10:59 +01:00
rlar 9b9bf075d1 fix for automatic indention
this part of

> commit f9144f90b3
> Author: pnenzi <pnenzi>
> Date:   Tue May 23 20:04:32 2000 +0000
>
>     Applied Widlok patch

is hostile to automatic indention
2013-12-31 16:10:58 +01:00
h_vogt c19d7e6a51 sharedspice.c: preliminary fixes: ftime() usage, prevent crash if controlled_exit from worker thread 2013-12-31 16:10:56 +01:00
dwarning 0fd9956a56 devices/res: use model parameter `r' and `res' as default for instances w/o value
and set minimal resistor value to 1 mOhm
2013-12-31 16:10:55 +01:00
dwarning f120c30ae4 devices/res: whitespace cleanup 2013-12-31 16:10:54 +01:00
h_vogt e4921933ba nicomcof.c: xmu used to calculate trap integration coefficient 2013-12-31 16:10:52 +01:00
h_vogt 6ce0412690 cktop.c: indentation 2013-12-31 16:10:51 +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
rlar 14687910d9 rewrite `TSTALLOC()' macro for auto indentation
checked for object code invariance
2013-12-31 16:10:34 +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
dwarning e0a4373553 add `rgeomod' as model parameter for bsim4 2013-12-31 16:10:26 +01:00
dwarning 2dcea6d7c1 parser/*.c: correct the `pwr' derivative 2013-12-31 16:10:24 +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
dwarning 91ab0a3c74 parser/*.c: implement a signed power function `pwr' for controlled sources 2013-12-31 16:10:12 +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
h_vogt a469aa9387 devices/vccs: implement multiplier `m' (G source) 2013-12-31 16:09:58 +01:00
h_vogt 2ccf0a7097 devices/cccs: implement multiplier `m' (F source) 2013-12-31 16:09:57 +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
Francesco Lannutti d84f3af2d3 vcvsset.c, cleanup order of TSTALLOC() invocations 2013-12-31 16:09:46 +01:00
dwarning b9a954df60 inpptree.c, ptfuncs.c: whitespace cleanup 2013-12-31 16:09:45 +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
dwarning 2b6737e164 devices/bsim3, devices/bsim3v32: add `nqsmod' as model parameter 2013-12-31 16:09:18 +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
dwarning 0a5ac78e8a devices/hisimhv1: correct the `qme2' rangecheck 2013-12-31 16:09:14 +01:00
dwarning d5e3f1978a devices/bsim3: whitespace cleanup 2013-12-31 16:09:13 +01:00
dwarning b51f84e0ff devices/bsim3: complete the ACM parameter set with xl and xw 2013-12-31 16:09:12 +01:00
dwarning 708fcbaed1 devices/bsim3: apply Area Calculation Method (ACM) to the bsim3v3.3 model 2013-12-31 16:09:10 +01:00
dwarning c7c89c28a9 devices/bsim3: reposition sourceConductance block 2013-12-31 16:09:09 +01:00
dwarning 02dc233bc5 devices/bsim3: reposition DrainSatCurrent block 2013-12-31 16:09:08 +01:00
h_vogt 31405ed9cb hsm2set, hsmhvset.c: error message 2013-12-31 16:09:06 +01:00
h_vogt 7387d59b1a dctran.c, bug fix `#235 When Using .TRAN analysis with UIC, ...'
add a breakpoint for UIC

#235 When Using .TRAN analysis with UIC, unconnected pulse bug
http://sourceforge.net/p/ngspice/bugs/235/
2013-12-31 16:09:05 +01:00
Francesco Lannutti fee628b6df unify, use #include "vccsext.h" the same way as in all other models 2013-12-31 16:09:02 +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
h_vogt 07a662b271 traninit.c, cleanup indentation 2013-12-31 16:08:43 +01:00
h_vogt bba1d2f5b9 b4v4getic.c, cleanup indentation 2013-12-31 16:08:41 +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
dwarning ff6a4990bd devices/bsim3v32: whitespace cleanup 2013-12-31 16:08:35 +01:00
dwarning 7b2bd10b64 devices/bsim3v32: apply Area Calculation Method (ACM) to the bsim3v3.2.4 model 2013-12-31 16:08:33 +01:00
dwarning 959ee9cfbb devices/bsim3v32: reposition DrainSatCurrent block 2013-12-31 16:08:32 +01:00
dwarning 05a9a8931d devices/bsim3v32: remove duplicate `SourceSatCurrent' block 2013-12-31 16:08:30 +01:00
dwarning af0361d5b4 devices/bsim3v32: single out duplicate `SourceSatCurrent' block 2013-12-31 16:08:29 +01:00
dwarning 85b072f2bb devices/bsim3v32: remove duplicate `DrainSatCurrent' block 2013-12-31 16:08:28 +01:00
dwarning 751c642db2 devices/bsim3v32: single out duplicate `DrainSatCurrent' block 2013-12-31 16:08:27 +01:00
dwarning ecbaf5063a devices/bsim3v32: correct `rdc' and `rsc' definition 2013-12-31 16:08:25 +01:00
h_vogt 8b8f275645 defines.h, winmain.c, .h: fix --with-wingui for CYGWIN 2013-12-31 16:08:24 +01:00
h_vogt a146e6abfb inpcom.c: disable `m' for E, H 2013-12-31 16:08:22 +01:00
dwarning 0aee9a07c4 devices/bsim3v32: whitespace cleanup 2013-12-31 16:08:21 +01:00
dwarning 6801f77cc1 devices/isrc: implement multiplier `m' for current sources 2013-12-31 16:08:20 +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
dwarning 08df80cebe alternative geometry correction `del' for semiconductor capacitors 2013-12-31 16:08:14 +01:00
dwarning 661314a397 someone gives version=3.30e+00 in bsim models 2013-12-31 16:08:13 +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 f102bd985d devices/ind: implement multiplier `m' 2013-12-31 16:08:09 +01:00
h_vogt edce7230c2 resload.c: `m' already set in ressetup.c 2013-12-31 16:08:07 +01:00
h_vogt 025c0870d9 devices/res: whitespace cleanup 2013-12-31 16:08:06 +01:00
h_vogt 155e082641 devices/ind: whitespace cleanup 2013-12-31 16:08:05 +01:00
h_vogt b63cae8798 devices/cap: whitespace cleanup 2013-12-31 16:08:03 +01:00
h_vogt 4a1cdf0ada devices/ind: implement `tc1', `tc2' instance parameters 2013-12-31 16:08:02 +01:00
h_vogt b50f9b97bb devices/cap: implement `tc1', `tc2' instance parameters 2013-12-31 16:08:01 +01:00
h_vogt 0facd43319 move instance m-factor into ressetup 2013-12-31 16:07:59 +01:00
h_vogt 4b8f031971 resload.c, restemp.c: tc1, tc2 instance parameters override model parameters 2013-12-31 16:07:58 +01:00
dwarning 08beef9152 bsim3: fix incorrect version printout 2013-12-31 16:07:57 +01:00
dwarning 8cc75de0b5 this is the delvto/mulu0 instance extension to bsim3v3 2013-12-31 16:07:55 +01:00
dwarning 5f0a6aa0fb devices/bsim3: whitespace cleanup 2013-12-31 16:07:54 +01:00
h_vogt e953d9a796 inpcom.c: hot fix for nested ternary expressions 2013-12-31 16:07:52 +01:00
dwarning ba0529cef0 devices/cap, devices/res: some parameter aliases for compatibility 2013-12-31 16:07:51 +01:00
rlar 93052df7d0 sparse/*.c, whitespace 2013-12-31 16:07:50 +01:00
rlar 075b30d686 sparse/*.c, rename `eMatrix' --> `Matrix' (comments) 2013-12-31 16:07:48 +01:00
rlar 7ed0b5cef6 sparse/*.c, rename `eMatrix' --> `Matrix' (prototypes) 2013-12-31 16:07:47 +01:00
rlar f30796a7e6 sparse/*.c, rename `eMatrix' --> `Matrix' 2013-12-31 16:07:46 +01:00
rlar 9c48863912 sparse/*.c, simplify, drop the local copy `Matrix' 2013-12-31 16:07:44 +01:00
rlar b02d34280c sparse/*.c, unify, use local copy `Matrix' instead of `eMatrix' 2013-12-31 16:07:43 +01:00
rlar ec8a3b79a2 sparse/*.c, drop unnecessary (spREAL) cast 2013-12-31 16:07:42 +01:00
rlar f10d9f75c1 sparse/*.c, drop unnecessary (double) cast 2013-12-31 16:07:41 +01:00
rlar a5d131d8a5 sparse/*.c, drop unnecessary (int *) cast 2013-12-31 16:07:39 +01:00
rlar 2517756eff sparse/*.c, drop unnecessary (MatrixPtr) cast 2013-12-31 16:07:38 +01:00
rlar 5c903a6f5c sparse/*.c, avoid (RealNumber *) casts by proper use of ElementPr 2013-12-31 16:07:37 +01:00
rlar 6d858200b6 sparse/*.c, drop unnecessary (void *) cast 2013-12-31 16:07:35 +01:00
rlar 35f1c18c61 sparse/*.c, drop unused artifacts 2013-12-31 16:07:34 +01:00
dwarning bef25a8b58 adapt the sense2 code to ngspice
workaround, make the opaque struct MatrixElement partially visible

this struct is private to the `sparse' world,
  and lives in "maths/sparse/spdefs.h"
which can't be included here, because
  it is incompatible to the rest of ngspice.

this is the same problem as in
  ciderlib/oned/oneprint.c
  ciderlib/twod/twoprint.c
2013-12-31 16:07:33 +01:00
rlar 0440f0584e fix an incorrect typedef and cast
which was of no consequence,
  because nobody made use of it.

ancient, already in the very first commit of ngspice
  Date:   Thu Apr 27 20:03:57 2000 +0000
2013-12-31 16:07:31 +01:00
dwarning 4ef874bdae fix a wrong GMIN implementation 2013-12-31 16:07:30 +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
dwarning caf9a9abe7 fix Makefile.am for SENSDEBUG code 2013-12-31 16:07:27 +01:00
dwarning f26d28b5bd fix SENSDEBUG related code 2013-12-31 16:07:26 +01:00
h_vogt 89c4c16829 swload.c: reinstate the truncation code from swtrunc.c
which was removed in the following commit:

commit 0dae4607a0
Date:   Wed Apr 25 18:28:20 2001 +0000

    Added a patch to csw and sw from Jon Engelbert dealing with negative histeresys
2013-12-31 16:07:25 +01:00
h_vogt 8ac5f64500 txldefs.h: update some comments 2013-12-31 16:07:24 +01:00
h_vogt e91063d096 sharedspice.c, .h, .vcproj: comments, update für MS Visual Sudio build 2013-12-31 16:07:21 +01:00
h_vogt a0a2f15a52 sharedspice.c, *.h: interface update, more comments 2013-12-31 16:07:20 +01:00
h_vogt b54605c225 sharedspice.c: improved comments 2013-12-31 16:07:18 +01:00
h_vogt e86c3dd297 sharedspice.c: remove bug causing sigsegv 2013-12-31 16:07:17 +01:00
rlar c0eeb96dd9 xpsice, fix premature tfree() invocation
reported by "Heini X" on the ngspice-users mailing list

this bug was introduced in

: commit 0af75f3bd9
: Date:   Sat Aug 18 18:31:23 2012 +0200
:
:     subckt.c, mif_inp2.c: plug XSPICE setup memory leaks
2013-12-31 16:07:16 +01:00
rlar 13726751ab sense2, cleanup, avoid (SENstruct *) casts 2013-12-31 16:07:14 +01:00
rlar e2867a3ede sense2, whitespace cleanup
checked for object file invariance
2013-12-31 16:07:13 +01:00
Francesco Lannutti 581e0a6d11 fix sense2, which is unsupported code 2013-12-31 16:07:12 +01:00
h_vogt ffc7a0aa1b sharedspice.c: small updates 2013-12-31 16:07:10 +01:00
h_vogt a2ea2585c1 icm/makedefs.in: add -lm for self-consistent shared libs 2013-12-31 16:07:09 +01:00
h_vogt 35550cfd1d sharedspice.c: fix sigsev fault under LINUX 2013-12-31 16:07:08 +01:00
h_vogt 23779a9eb1 inp.c: add function prototype 2013-12-31 16:07:06 +01:00
Francesco Lannutti 1dd0535ecf whitespace, align TSTALLOC calls in the setup routine of the MES model 2013-12-31 16:07:05 +01:00
Francesco Lannutti 0ea7a56e21 whitespace, align TSTALLOC calls in the setup routine of the JFET2 model 2013-12-31 16:07:04 +01:00
Francesco Lannutti 451294bcf5 whitespace, align TSTALLOC calls in the setup routine of the JFET model 2013-12-31 16:07:02 +01:00
h_vogt 7e85c0b6ba sharedspice.c: update stopping printsend thread 2013-12-31 16:07:01 +01:00
Francesco Lannutti 42a78b0ac7 whitespaces 2013-12-31 16:07:00 +01:00
Francesco Lannutti e63ba69888 remove a duplicate entry in the setup routine of the BSIM3SOIPD model 2013-12-31 16:06:59 +01:00
Francesco Lannutti 37f952f370 remove a duplicate entry in the setup routine of the BSIM3SOIDD model 2013-12-31 16:06:57 +01:00
h_vogt bbcadcbd11 sharedspice.c: command bg_pstop to stop printsend thread before unloading ngspice library 2013-12-31 16:06:56 +01:00
h_vogt f95f7c661d sharedspice.c: thread handling updated 2013-12-31 16:06:55 +01:00
h_vogt 295c808b01 alloc.c sharedspice.c: improve thread safety
still much more to be done!
2013-12-31 16:06:53 +01:00
h_vogt 3f4f0e392c sharedspice.c: correction for LINUX 2013-12-31 16:06:52 +01:00
h_vogt 9da123df26 icm/dlmain.c: restrict exported symbols under LINUX 2013-12-31 16:06:48 +01:00
h_vogt 83d5606da4 ngspice.h: add shared module 2013-12-31 16:06:47 +01:00
h_vogt 62324299e1 misccoms.c: special return value for shared module 2013-12-31 16:06:45 +01:00
h_vogt 3211674b2f error.c: no exit, but callback if shared module 2013-12-31 16:06:44 +01:00
h_vogt b62b67bf25 display.c: exclude SHARED_MODULE if console 2013-12-31 16:06:43 +01:00
h_vogt ac553eedba src/Makefile.am include/ngspice/Makefile.am: add shared module 2013-12-31 16:05:33 +01:00
h_vogt ff4d42d651 outitf.c: prepare for feedback in shared ngspice 2013-12-31 12:57:56 +01:00
h_vogt a6976f9857 main file and header for ngspice as shared module 2013-12-31 12:57:55 +01:00
h_vogt 1767991236 new flag `SHARED_MODULE' for shared module 2013-12-31 12:57:51 +01:00
h_vogt bfb2eeebbe dctran.c: better rounding for status report 2013-12-31 12:57:00 +01:00
h_vogt 30a44d1be5 --with-windows --> --with-wingui 2013-12-31 12:56:59 +01:00
h_vogt df65fa28cf separate progress report from having Windows GUI 2013-12-31 12:56:59 +01:00
h_vogt 5a44b3f7f8 fix `SetAnalyse()' re-declaration 2013-12-31 12:56:58 +01:00
h_vogt d7e291c53a HAS_WINDOWS --> HAS_WINGUI
allow compilation on MS Windows without GUI
2013-12-31 12:56:57 +01:00
h_vogt 1e88db6f7d add command 'circbyline' to allow entering circuit line by line 2013-12-31 12:56:56 +01:00
h_vogt b503ea2d12 inp.c: do not run all 'save' commands upfront,
but cumulative when they appear in the .control section
2013-12-31 12:56:55 +01:00
h_vogt 79a9fdbcd7 breakp2.c: allow v(12) and i(vdd) in 'save' command 2013-12-31 12:56:55 +01:00
h_vogt 4865f7c2af runcoms2.c: update for dbs after remcirc 2013-12-31 12:56:54 +01:00
h_vogt 7a83423685 update 'alter' handling as in ngspice main.c 2013-12-31 12:56:54 +01:00
h_vogt 7bc879726d make database dbs local to each circuit 2013-12-31 12:56:53 +01:00
rlar efd8843f21 inpcom.c: cleanup comments 2013-12-31 12:56:52 +01:00
rlar a07817271a expand_libs(): think of `next' instead `prev' 2013-12-31 12:56:52 +01:00
rlar bdea094050 expand_libs(): rename `tmp_ptr2' --> `next' 2013-12-31 12:56:51 +01:00
rlar 27d68e8db7 expand_libs(): reposition `keep_char' restorage 2013-12-31 12:56:50 +01:00
rlar fcb5b12364 expand_libs(): shrink scope of `found_section' 2013-12-31 12:56:50 +01:00
rlar edc2503a3a expand_libs(): bug fix, missing check for .endl at the tail of a file 2013-12-31 12:56:49 +01:00
rlar 182911a5c7 inpcom.c: rename local variable names 2013-12-31 12:56:48 +01:00
rlar 07d3e3aa42 inpcom.c: rename local variable names 2013-12-31 12:56:48 +01:00
rlar 99141bbdfc inpcom.c: rename local variable names 2013-12-31 12:56:47 +01:00
rlar 181742a020 inpcom.c: rename found_lib_name --> found_section 2013-12-31 12:56:46 +01:00
rlar 7d5c48c0f2 inpcom.c: rename inp_determine_libraries() --> collect_section_references() 2013-12-31 12:56:46 +01:00
rlar fda6912f0e inpcom.c: rename expand_libs() --> expand_section_references() 2013-12-31 12:56:45 +01:00
rlar e898eb4faf inpcom.c: rename function argument names 2013-12-31 12:56:45 +01:00
rlar ffe82f1722 inpcom.c: rename function argument names 2013-12-31 12:56:44 +01:00
rlar b22be31496 inpcom.c: cleanup 2013-12-31 12:56:43 +01:00
rlar adeb2885c5 inpcom.c: rename library_file[] --> library_name[] 2013-12-31 12:56:43 +01:00
rlar 20f5bb3e2e inpcom.c: rename library_name[][] --> section_name[][] 2013-12-31 12:56:42 +01:00
rlar b8e3843f45 inpcom.c: rename library_ll_ptr[][] --> section_ref[][] 2013-12-31 12:56:41 +01:00
rlar aa9d291114 inpcom.c: rename libraries[] -> library_deck[] 2013-12-31 12:56:41 +01:00
rlar 61ab7b1de2 inpcom.c: rename num_lib_names --> num_sections 2013-12-31 12:56:40 +01:00
rlar d619a8b024 inpcom.c: rename new_lib_name() --> remember_section_ref() 2013-12-31 12:56:39 +01:00
rlar 05bd53b8de inpcom.c: rename find_lib_name() --> find_section() 2013-12-31 12:56:39 +01:00
rlar 09e89df89d inpcom.c: static declaration of library related global variables 2013-12-31 12:56:38 +01:00
h_vogt c15608c903 unique modtab for each circuit, store in ckt structure 2013-12-31 12:56:38 +01:00
h_vogt 4bed98936c inp.c: nullify `dbs' for use with 'source' command 2013-12-31 12:56:37 +01:00
rlar 3ea7a23394 fix bug `#233 cktdojob: Uninitialized variable: ANALmaxnum'
this is WANT_SENSE2 specific

http://sourceforge.net/p/ngspice/bugs/233/
2013-12-31 12:56:36 +01:00
rlar 14ae087ec5 fix bug `#232 soi3cap.c: wrong array index alpha_args[2]'
though incorrect, this didn't lead to misbehavior.

http://sourceforge.net/p/ngspice/bugs/232/
2013-12-31 12:56:36 +01:00
rlar d1764cc7fa inp_readall() change function signature for readability 2013-12-31 12:56:35 +01:00
rlar 536d3c229f inpcom.c: abstract into new function read_a_lib() 2013-12-31 12:56:34 +01:00
rlar eaf4801b33 inpcom.c: rewrite using new function find_lib() 2013-12-31 12:56:34 +01:00
rlar 9d856dad61 inp_determine_libraries(): rewrite 2013-12-31 12:56:33 +01:00
rlar 9e3f2a9d28 inp_determine_libraries(): can happen at most once 2013-12-31 12:56:32 +01:00
rlar 111a258ff4 inpcom.c: small cleanup 2013-12-31 12:56:32 +01:00
rlar b4db509d83 inpcom.c: comment .lib semantic 2013-12-31 12:56:31 +01:00
rlar 7463499523 inp_readall(): rename local variables 2013-12-31 12:56:31 +01:00
rlar 3877e2d0d6 inp_readall(): local scope for `tmp_ptr1' 2013-12-31 12:56:30 +01:00
rlar 5fda0e2694 inp_readall(): local scope for `fdo' 2013-12-31 12:56:29 +01:00
rlar 8a154a7a9a use SP_VOLTAGE instead of literal value `3'
(grep "git --no-pager grep -nH -e '->[ \t]*type.*[0-9]'")
2013-12-31 12:56:29 +01:00
rlar b3847817a1 retire #define NODE_VOLTAGE, use SP_VOLTAGE instead
(grep "git --no-pager grep -nH -e '\\(SP_\\|NODE_\\)\\(VOLTAGE\\|CURRENT\\)'")
2013-12-31 12:56:22 +01:00
dwarning d823272a1b jfet: new noise model selector nlev=3 for correct noise in non-saturated region 2013-12-31 12:54:45 +01:00
dwarning ef2614d014 jfet: whitespace cleanup 2013-12-31 12:54:44 +01:00
rlar 4184aa8c10 cleanup, use array operator
checked for object file invariance on linux with
   ./configure --enable-debug=no --enable-maintainer-mode --with-readline=yes --enable-cider --enable-ndev --enable-pss --enable-xspice
2013-12-31 12:54:43 +01:00
h_vogt 92a529f15c winmain.c: print buffer enlarged 2013-12-31 12:54:43 +01:00
h_vogt baad0b1bb8 inp.c: some comments added 2013-12-31 12:54:34 +01:00
rlar 6c8f002eea unify #ifndef include wrapper 2013-12-31 12:54:32 +01:00
rlar 1ee88a5694 prepare for #ifndef include wrapper unification 2013-12-31 12:54:31 +01:00
rlar 8cafeed8f0 rename #ifndef include wrapper CKT_H 2013-12-31 12:54:30 +01:00
rlar c377b7a6b3 avoid leading underscore in preprocessor macros 2013-12-31 12:54:27 +01:00
rlar 5086a90746 cleanup some preprocessor macros 2013-12-31 12:54:15 +01:00
h_vogt 6c74513120 fix bug #229 `Node name "n" is sometimes toxic'
Error: too few nodes for MOS or CPL:
m6 1 n 2 vss nch.3 l=4.3e-07 ...

http://sourceforge.net/p/ngspice/bugs/229/
2013-09-20 22:27:35 +02:00
rlar 8c69016464 inpcom.c: rewrite for readability 2013-09-20 21:38:58 +02:00
rlar dbfc90df0a inpcom.c, bug fix, incorrect start value for `prev'
this bug was introduced in the following commit,
which `reused' variable prev,
failing to preserve its initialization value NULL

Author: pnenzi <pnenzi>
Date:   Mon Oct 8 21:10:34 2007 +0000

    Improvements in frontend by Phil Barker
2013-01-12 23:26:42 +01:00
Francesco Lannutti d448378f58 Fixed a memory leak in dcpss.c on the "err_conv" array 2013-01-12 14:10:21 +01:00
h_vogt 8e5ad3d344 ivars.c: prevent crash in CYGWIN batch mode, if NGSPICE_INPUT_DIR given
remove unused Default_MFB_Cap
2013-01-01 17:31:44 +01:00
dwarning 752ab78bd8 b4soinoi.c: Correct the flicker noise model with device multiplier 2013-01-01 17:29:02 +01:00
h_vogt 3c078cde57 inp.c: remove buf if .control section contains only 'save...' lines 2013-01-01 12:32:04 +01:00
rlar d6354598b9 fix commit "update hisim to version 2.7.0"
missing #include "ngspice/config.h"

thats required for consistent interpretation of the type
  struct IFdevice
from ngspice/ifsim.h
included from ngspice/devdefs.h

(invisible XSPICE definition leading
   to different size and layout of this struct)
2012-12-31 11:26:20 +01:00
h_vogt 20716d3496 inpcom.c: exit if 'poly' option is required, but XSPICE not available,
remove memory leak
2012-12-30 19:27:36 +01:00
h_vogt 82c5d5b3be dcpss.c: Allow XSPICE usage without excessive debug message 2012-12-30 15:34:24 +01:00
h_vogt 9a4bb846a6 com_dl.c: exit upon codemodel load error 2012-12-30 15:32:44 +01:00
h_vogt 0ecd633334 dcpss.c : compatibility to MS Visual Studio C
vngspice.vcproj, config.h: add PSS to Vc project
2012-12-28 21:19:20 +01:00
Stefano Perticaroli 79bffc78a1 next version of PSS2
which was reviewed and rewritten on branch `PSS-2-try-to-rebase+4'
by Stefano Perticaroli and Francesco Lannutti
2012-12-28 18:15:37 +01:00
rlar 0be61b3e5a remove PSS2 2012-12-28 18:10:05 +01:00
h_vogt 1b4c17a464 rename spicelib/parser/inp.h to inpxx.h
since we have another "inp.h" in src/frontend
2012-12-27 14:25:43 +01:00
Francesco Lannutti f153208a5f nipred.c, remove unused variable `temp' 2012-12-25 01:40:16 +01:00
Francesco Lannutti 574d39e29c remove almost empty src/maths/ni/nipred.h 2012-12-25 02:27:04 +01:00
dwarning 5dd6351773 distclean and maintainer-clean shall remove generated Makefile.am files in adms directories 2012-12-25 16:41:57 +01:00
Francesco Lannutti e27d43cd0c remove empty src/maths/ni/*.h include files 2012-12-24 11:28:30 +01:00
h_vogt 298f9ceaa9 tclspice.c, ngspice.pm, config.h in visualc: prepare ngspice-25 2012-12-23 12:13:38 +01:00
h_vogt 2a9723e06d inpdpar.c: remove memory leak 2012-12-22 20:20:00 +01:00
h_vogt 8a1cec25a5 vsrc, isrc TRNOISE: allow repeated calls to 'tran' 2012-12-22 17:57:31 +01:00
h_vogt 237fd538d1 cktntask.c: remove meory leak 2012-12-22 10:39:15 +01:00
rlar 4146a8644a use enum Mif_Port_Type_t values instead of numericals 2012-12-20 18:31:38 +01:00
dwarning 12b2287aa6 remove of modtab after the job is done to issue additional source commands 2012-12-19 18:49:32 +01:00
h_vogt 8b86617e2d isrcload.c: remove memory read beyond array boundary 2012-12-18 23:22:45 +01:00
rlar 0bb266eab0 use enum dvec_flags values instead of numericals 2012-12-16 19:34:13 +01:00
rlar 190932bf65 use enum simulation_types values instead of numericals 2012-12-16 18:53:28 +01:00
h_vogt 3d28a3a225 device.c: plug memory leak in 'alter' command 2012-12-16 14:07:33 +01:00
h_vogt 7d45880654 plotit.c: remove memory leaks 2012-12-15 22:59:47 +01:00
h_vogt 717fe81c17 com_display.c: remove memory leak 2012-12-15 22:44:21 +01:00
rlar e67e9da202 inperror.c, release errMsg when it has been consumed 2012-12-15 21:51:59 +01:00
h_vogt cea4eb09d6 niiter.c: indentations 2012-12-15 20:07:42 +01:00
h_vogt ba6dd7b1af main.c, inperror.c: unify errMsg 2012-12-15 20:03:57 +01:00
h_vogt 07ec7bd412 inperror.c: indentations 2012-12-15 19:51:56 +01:00
h_vogt 8f44839f3e com_measure.c, measure.c: remove memory leaks 2012-12-09 16:24:39 +01:00
h_vogt 12e19d140b measure.c, rewrite do_measure() 2012-12-09 13:27:53 +01:00
h_vogt 155b6134a8 apply_func(), use arg->pn_value->v_name instead of recreated name 2012-12-09 13:27:53 +01:00
h_vogt aac7c1d4be com_diff(), use hash tables for the vector search
patch originally provided by Bill Swartz, 2010
reduces vector search time from O(n*n) to O(n)
2012-12-09 13:27:53 +01:00
h_vogt c5de0c21c9 findvec(), use hash tables for the vector search
patch originally provided by Bill Swartz, 2010
reduces vector search time from O(n) to O(1)
2012-12-09 13:27:53 +01:00
h_vogt 75447dc43c implement spice_dstring_append_lower()
patch originally provided by Bill Swartz, 2010
2012-12-09 13:27:53 +01:00
h_vogt a13e5bf867 measure.c: outputting 'meas' status in Windows GUI 2012-12-05 23:06:16 +01:00
dwarning 0f2794267c jfet model temperature extension, tcv and bex parameter 2012-12-04 20:58:01 +01:00
rlar 2e40bf9bff allow Ctrl-d to quit
based upon Cody Creagers patch,
  EOF Control-D support - ID: 3586069
  http://sourceforge.net/tracker/?func=detail&aid=3586069&group_id=38962&atid=423917
2012-12-02 12:26:24 +01:00
rlar 6260fd16ec cmpp, rewrite for proper report of error locations 2012-12-01 22:46:53 +01:00
rlar 348e3976e7 cmpp, use <stdarg.h> for print_error() 2012-12-01 22:39:21 +01:00
rlar 6757c48602 cmpp, remove dead code 2012-12-01 22:29:32 +01:00
rlar d9590f31c3 cmpp, don't exit(0) when reporting an error 2012-12-01 22:29:29 +01:00
rlar 83e3100917 remove unused variables 2012-12-01 16:05:20 +01:00
rlar b4b4e63611 hisimhv1, avoid warnings 2012-12-01 16:05:20 +01:00
h_vogt b216db8ffd cplsetup.c: indentations etc. 2012-12-01 13:32:27 +01:00
h_vogt d747f0de50 cplsetup.c: remove memory leaks 2012-12-01 13:28:28 +01:00
h_vogt 6a6c49516a inpcom.c: remove memory leak 2012-12-01 13:24:46 +01:00
rlar b45c4ea78b ltraacct.c, shortcutting the bug fix
use following fact at the artificial timestep time[-1]
   voltage[-1]  ===  voltage[0]
to shortcut the expressions
2012-12-01 11:00:14 +01:00
rlar e4cc63417b ltraacct.c, bug fix
reported by Gary Hennigan
on tracker
  http://sourceforge.net/tracker/index.php?func=detail&aid=3591132&group_id=38962&atid=423915

access to uninitialized memory,
  trying to acquire the "time" of a projected auxiliary timestep in the past.

now using the following auxiliary timestep t[-1]

  voltage(t[-1])  ===  voltage(t[0])
and
  t[-1]   ===   t[0]  -  (t[1] - t[0])

the details are not understood,
  but thats certainly better than accessing uninitialized memory.
2012-12-01 10:38:35 +01:00
h_vogt 9d52468471 inpcom.c: plug memory leaks 2012-11-27 23:56:00 +01:00
dwarning 51ec28d174 hisimhv update to version 1.2.3 2012-11-26 23:17:11 +01:00
h_vogt d0f58dc5a6 inpcom.c: prevent invalid memory read/write 2012-11-25 18:27:42 +01:00
dwarning c1705e32ae change model name from hisimhv to hisimhv1 2012-11-25 17:59:50 +01:00
dwarning 67aaf6a26e rename directories hisimhv --> hisimhv1 2012-11-25 17:52:46 +01:00
dwarning 6abd2e2c0c gnuplot.c: allow png terminal by gnuplot_terminal variable 2012-11-21 22:12:27 +01:00
dwarning 79119b3372 update hisim to version 2.7.0 2012-11-21 20:36:52 +01:00
Francesco Lannutti 0d0426e05c b3ld.c, b4ld.c, b3v32ld.c: charge computation for MODEDCTRANCURCE instead of MODEDC
this is a fix for commit:
b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep
2012-11-21 19:30:43 +01:00
h_vogt a581c3b43f mif_inp2.c: bug 3389072 fixed 2012-11-19 23:06:39 +01:00
h_vogt b676a73167 beautify code 2012-11-19 21:48:13 +01:00
h_vogt a419712eca inp.c: pre_<command> to allow command execution from the .control section before parsing the circuit 2012-11-17 16:30:17 +01:00
rlar 843126d9a6 fix `make dist' 2012-11-16 22:29:55 +01:00
h_vogt e4af384d7b outitf.c: do not call clock() if MS Windows GUI 2012-11-07 22:17:16 +01:00
rlar 451c121dd5 improve commit `variable.c: add strict error handling' 2012-11-07 19:38:28 +01:00
dwarning b7080fdbb7 make the level switch compatible for HiSIM2 and HiSIMHV 2012-11-07 11:35:51 +01:00
dwarning 13e1a7a5b9 rm whitespaces 2012-11-07 11:33:07 +01:00
Francesco Lannutti 952f55866e remove "error.h" from Makefile.am
this file is not anymore in the "frontend" folder
and "make dist" failed to generate the tarball
2012-11-06 23:55:49 +01:00
dwarning 44786a490b fix a leak in devmodtranslate 3 terminal section 2012-11-06 20:56:27 +01:00
Francesco Lannutti a4e0cfe341 move windows specific `STRICT' definition to canonical place 2012-11-06 19:31:17 +01:00
Francesco Lannutti 1209a5b025 Makefiles, drop some CVS remnants 2012-11-06 19:18:54 +01:00
Francesco Lannutti 6b7f408ca8 avoid a compiler warning, (unused static function) 2012-11-06 19:13:54 +01:00
Francesco Lannutti 32c6a76fc2 Added datarootdir variable as usual behavior and to avoid autoconf warning 2012-11-06 10:38:44 +01:00
Francesco Lannutti 99296c9530 Solved linking error for ngsconvert after ft_stricterror patch in src/frontend/variable.c 2012-11-06 10:32:46 +01:00
Francesco Lannutti b361dee4cc fix #include <> versus "" 2012-11-05 21:34:54 +01:00
rlar 9976c1e177 XSPICE, install dlmain.c
for separate compilation of XSPICE user models
2012-11-05 21:23:52 +01:00
dwarning 082a3e92ae allow more then 4 terminal mos models in subckts 2012-11-05 18:16:55 +01:00
h_vogt d5a2a361f6 variable.c: add strict error handling 2012-11-04 14:16:27 +01:00
h_vogt 85244d0222 inpcom.c: remove bug in inp_add_series_resistor(),
prevent crash in inp_remove_ws() upon erroneous input
2012-11-04 14:15:37 +01:00
h_vogt 5c4f8946f6 inp.c: avoid crash if setparse() returns NULL 2012-11-04 14:12:03 +01:00
h_vogt d8d8cf147e spiceif.c: correct types being loaded by snload() 2012-11-03 16:24:01 +01:00
h_vogt 65b976dab7 rename commands 'savesnap', 'loadsnap' to 'snsave', 'snload'
to avoid conflict with command 'save'
2012-11-01 14:41:13 +01:00
rlar ff2138b186 hisim2, bug fix, a numerical problem in the hisim2 and hisimhv models
First seen when compiled with gcc-4.6.2 -g -O1

The macro `Fn_SZ' which boils down to
  1/2 * (x + sqrt(x*x + c*c))
was used in a context where a negative result
  blew up the following computations.
(used to compute `Egidl', which is used to
 compute exp(-1 / (Egidl + small_constant)))

For large negative values of x the computation
boils down to
  1/2 ( x + almost(|x|) )
where the summands almost cancel each other,
sometimes yielding a small negative result.

small_constant was too small to avoid a big
  result for -1/(Egidl + small_constant)
yielding an `inf' during the exp() computation,
which was later multiplied with a `0'
  yielding a NaN,
which was carried forward
  during the rest of computations.

Because the error of the cancellation scales
with the magnitude of x, no larger `small_constant'
could have avoided the problem.

Presumably the problem was amplified
  by a mixture of precisions (double versus extended float)
  of intermediate values.
(the program wasn't compiled for sse)

( x was -2.812500e+06,
  c was  1.000000e-02,
  Fn_SZ result was -1.853095e-11

  thus the cancellation remainder
  was of relative size
    6.6e-18
  which is approximately
    2^-57
  and thus more accurate
   as a `double float' could have delivered
)
2012-11-01 23:04:51 +01:00
rlar 0c0f21faaf hisim2, use TMALLOC, funcall, and NULL casts 2012-11-01 22:53:43 +01:00
rlar a7a2ff0f7b hisim2, fix NevalSrc(), Nintegrate() redeclaration 2011-05-22 10:16:08 +00:00
h_vogt a57361333a inpcom.c: add series resistor to each inductor with option rseries=1m 2012-10-29 23:13:20 +01:00
h_vogt c53f74ee5f com_ghelp.c: better message for help under Windows 2012-10-29 23:09:35 +01:00
Francesco Lannutti 08ec219417 remove all .cvsignore files 2012-10-26 18:30:14 +02:00
Francesco Lannutti 1dc70189a7 remove compilation warnings (type casts) 2012-10-26 18:04:44 +02:00
Francesco Lannutti d8b2ac56a3 rename "bsim3soi" device to "bsimsoi" 2012-10-26 17:56:59 +02:00
rlar 2142d39506 remove adms3 #2/2, files 2012-10-25 18:54:09 +02:00
rlar ba131a5077 remove adms3 #1/2, code
due to license issues, and with the aim to approach the next
  ngspice release 25
we have to move this over to a development branch
2012-10-25 18:54:09 +02:00
dwarning e75fdab962 hisim2 update to version 2.6.1 2012-10-24 08:54:31 +02:00
Francesco Lannutti fd4c492562 white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti 5f34eb2729 white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti c23bd59c44 removed ancient PARALLEL_ARCH feature
removed variables
  ARCHme
  ARCHsize

removed functions
  SMPcombine()
  SMPcCombine()
  CKTpartition()

removed files
  spcombin.c
  cktpartn.c

removed struct slots
  STATcombineTime
  STATtranCombTime
  STATacCombTime
  GENowner
  <MODEL>owner
2012-10-22 23:06:25 +02:00
Francesco Lannutti cb0ff8049a white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti 3342f58149 bsim3v1/ChangeLog, bsim4v4/ChangeLog: cleanup 2012-10-22 23:06:25 +02:00
rlar a394d79c56 use utf-8 encoding 2012-10-20 21:27:15 +02:00
rlar 2bcadae16c missing newline at end of file 2012-10-20 19:49:10 +02:00
rlar 5d1bc8e55d Changed line-ending from DOS to UNIX 2012-10-20 19:48:48 +02:00
h_vogt 0853c374a1 inpcom.c: require parentheses in ternary functions if numparam
parser is involved (no B sources)
2012-10-17 22:28:49 +02:00
rlar 15606cf281 com_print(), fix a memory leak 2012-10-17 19:51:30 +02:00
rlar 99b0e78c84 DCtrCurv(), fix a memory leak 2012-10-17 19:39:30 +02:00
rlar f038d59fbe mkfnode(), fix a memory leak 2012-10-17 19:39:02 +02:00
rlar 31fa48cf17 com_write(), com_write_sparam(), fix a big memory leak 2012-10-15 20:55:55 +02:00
h_vogt c6e631f30a fourier.c: rename stored vectors 2012-10-15 18:37:07 +02:00
h_vogt ae25f54709 inpcom.c: plug small memory leak 2012-10-15 18:35:12 +02:00
rlar 0336e31c57 vector.c, rewrite vec_basename(), FIXME !
This rewritten code is functionally equivalent to the previous code,
yet the result is queer,
because the char *v_name slot of struct dvec is read
beyond its terminating '\0'

Is there indeed some code in ngspice which creates
v_name strings with an embedded '\0' ?
2012-10-13 19:09:49 +02:00
rlar ebc50b8639 inpcom.c, rewrite 2012-10-13 16:48:15 +02:00
h_vogt 339a002c55 fourier.c: output also to vector feature request tracker no. 3575841 2012-10-13 15:56:19 +02:00
rlar 374b716fdd fourier.c: remove even more memory leaks 2012-10-13 13:25:00 +02:00
rlar a4e167a657 inpcom.c, use strchr() in favour of strstr() 2012-10-13 12:27:20 +02:00
rlar 3b2b130177 inpcom.c, inp_fix_ternary_operator_str(), use copy_substring() 2012-10-13 12:00:29 +02:00
rlar 680e45f7f3 inpcom.c, inp_fix_ternary_operator_str(), rewrite 2012-10-13 11:47:22 +02:00
rlar 9352a4b72d inpcom.c, get_instance_subckt(), more carefull when there is trailing whitespace 2012-10-13 11:31:37 +02:00
rlar f61f323be0 inpcom.c, get_instance_subckt(), rewrite 2012-10-13 11:31:37 +02:00
h_vogt 2754771a61 fourier.c: remove memory leaks 2012-10-13 11:21:29 +02:00
rlar 7f0065e7fb inpcom.c, make use of copy_substring() 2012-10-13 11:03:52 +02:00
rlar 69bf624097 inpcom.c, rewrite 2012-10-13 11:02:34 +02:00
rlar 3f4e2eed49 inpcom.c, bug fix in inp_get_subckt_name() 2012-10-13 10:45:09 +02:00
rlar 021a5dd871 inpcom.c, rewrite 2012-10-12 19:23:46 +02:00
rlar e0b796f3c5 inpcom.c, rewrite 2012-10-12 18:10:52 +02:00
rlar 3085c471ac inpcom.c, cleanup 2012-10-12 17:58:05 +02:00
rlar dbf288bae7 inpcom.c, fix a bug
which was introduced in commit
  skip-ws, #5/6, unify macro versions, obj not invariant
where the SKIP.*back.* macros have been unified

FIXME, the check for `\0' in the backwards direction if of course nonsense.
These backward functions either shall not check it at all (being optimistic),
or they shell check against a start of string pointer.
2012-10-11 19:33:32 +02:00
rlar caf50ba4d8 inpcom.c, cleanup 2012-10-10 20:48:42 +02:00
h_vogt 3ca1235602 gnuplot.c: improve scaling of y axis 2012-10-09 19:47:24 +02:00
rlar 2b72fbbc5e skip_ws(), #2/2, drop macros, obj-invariant 2012-10-08 17:48:27 +02:00
rlar 9f3f794ced skip_ws(), #1/2, use functions instead of macros 2012-10-08 17:28:52 +02:00
rlar 701942cebf skip-ws, #6/6, unify macro versions, obj-invariant
checked for object file invariance
2012-10-07 21:53:42 +02:00
rlar 532ff76dac skip-ws, #5/6, unify macro versions, obj not invariant 2012-10-07 21:53:29 +02:00
rlar 6a5f234519 skip-ws, #4/6, use macros, obj-invariant
checked for object file invariance
2012-10-07 21:52:54 +02:00
rlar 4bf52410fb skip-ws, #3/6, introduce macros, obj-invariant
checked for object file invariance
2012-10-07 21:52:35 +02:00
rlar e3b5ff94c5 skip-ws, #2/6, prepare for rewrite, obj-invariant
checked for object file invariance
2012-10-07 21:52:22 +02:00
rlar 841db86e00 skip-ws, #1/6, prepare for rewrite, obj-invariant
checked for object file invariance
2012-10-07 21:52:09 +02:00
h_vogt 996dedaa71 inpcom.c: remove cccs from F, ccvs from H source 2012-10-07 17:12:42 +02:00
h_vogt e69f50270d inpcom.c: correct replacement of vccs, vcvs in E, G-sources
search for 'par(' instead of 'par'
2012-10-07 15:19:28 +02:00
rlar 01ed0ac5d9 com_fft(), com_psd(), com_spec(), cleanup storage more thoroughly
use free_pnode() instead of free_pnode_o()
drop free_pnode_o()
2012-10-06 21:07:27 +02:00
rlar dfe8342b91 invoke com_remcirc() in com_quit() 2012-10-06 15:20:17 +02:00
rlar c7717e37fc cleanup, whitespace 2012-10-06 12:30:31 +02:00
rlar 7acc91157a cleanup, drop unused macros 2012-10-06 12:16:07 +02:00
rlar eb931dc01a cleanup, ngspice/config.h is already in ngspice/ngspice.h, #2/2 2012-10-06 12:12:17 +02:00
rlar 11579d9369 cleanup, ngspice/config.h is already in ngspice/ngspice.h, #1/2 (easy ones) 2012-10-06 12:12:08 +02:00
h_vogt c336f5ec9d outif.c, typesdef.c, sim.h: correct labeling of cap, cur, and charge data 2012-10-03 15:01:36 +02:00
h_vogt 7d82367666 b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep 2012-10-03 14:28:19 +02:00
h_vogt 705e130868 b3v32.c: make additional parameters accessible by @m1[par] 2012-10-01 23:03:41 +02:00
h_vogt c0bc0de4b5 prototype for controlled_exit() 2012-10-01 23:02:26 +02:00
rlar 7a65ea0318 com_write_sparam(), cleanup storage more thoroughly (`wl_sparam') 2012-10-01 21:28:48 +02:00
rlar 98b38556aa com_alter_common(), cleanup storage more thoroughly (on error) 2012-10-01 21:09:26 +02:00
rlar 124f0f4727 com_write(), com_write_sparam(), com_cross(), cleanup storage more thoroughly 2012-10-01 21:03:53 +02:00
rlar 7b2c9db809 com_psd(), cleanup storage more thoroughly (`win') 2012-10-01 19:59:43 +02:00
rlar a891e7dc9c com_print(), cleanup storage more thoroughly 2012-10-01 19:44:49 +02:00
rlar 0f089d2bd6 com_compose(), cleanup storage more thoroughly 2012-10-01 18:31:02 +02:00
rlar 35c0e9eca3 variable rename, unify the source
checked for object file invariance
2012-10-01 17:59:40 +02:00
rlar f95aaaafc1 com_print(), com_cross(), use for(;;) loops 2012-10-01 17:53:01 +02:00
h_vogt fe828c5081 bsim3, make additonal parameters accessible with @m[par] 2012-09-30 23:49:18 +02:00
rlar 44c1380281 variable rename, unify the source
checked for object file invariance
2012-09-30 23:26:26 +02:00
rlar bc89379aff fourier(), use for(;;) loops 2012-09-30 23:11:26 +02:00
rlar d06265142d variable rename, unify the source
checked for object file invariance
2012-09-30 23:10:49 +02:00
rlar e0d64e14cc bug fix, fourier(), prevent endless loop when processing unexpected vectors 2012-09-30 23:10:38 +02:00
rlar e712080579 com_compose(), use for(;;) loops 2012-09-30 22:50:23 +02:00
rlar 959b62e14d variable rename, unify the source
checked for object file invariance
2012-09-30 22:36:12 +02:00
rlar 5a58281e7b com_spec(), use for(;;) loops 2012-09-30 22:22:28 +02:00
rlar 5102735df9 variable rename, unify the source
checked for object file invariance
2012-09-30 22:22:20 +02:00
rlar 5826f3c0e6 com_fft(), com_psd(), use for(;;) loops 2012-09-30 21:44:28 +02:00
rlar 26bbb39a68 variable rename, unify the source
checked for object file invariance
2012-09-30 21:43:16 +02:00
rlar f52ae6eccd bug fix, invalid read when the title line is the empty 2012-09-30 18:38:36 +02:00
dwarning 2506fe3858 changed the #include order - ngspice.h must be first
because icc complains about declaration visibility of mmsghdr struct
2012-09-29 20:44:12 +02:00
dwarning ebfeaf72f1 bjttemp.c: prevent uninitialized variables 2012-09-29 17:57:35 +02:00
rlar 119be60fdc polish a very old and unused artifact in WANT_SENSE2 2012-09-27 20:43:27 +02:00
rlar ae5de92c69 cleanup db_print_pnode_tree() 2012-09-27 19:49:42 +02:00
rlar 44e7f7f7bd bug fix, dvec in a `define' can't be member of any plot 2012-09-27 19:46:06 +02:00
rlar 0280a49b69 bug fix, avoid segfault when the refered plot is still empty 2012-09-27 19:46:06 +02:00
h_vogt 986f9b7535 grid.c: prevent overflow of div_list 2012-09-26 21:12:26 +02:00
h_vogt e096101133 ifeval.c: reduce fudge factor for div and atanh 2012-09-26 21:00:40 +02:00
h_vogt 0bdc33db40 grid.c: prevent crash if real low and high values are close 2012-09-26 20:58:58 +02:00
h_vogt 68c4de76b7 new option noopac, don't do op simulation before ac if circuit is linear
May simplify ac simulation of passive RLC networks
(No need to add series resistors in Ls, allows to C inseries)
2012-09-26 16:59:59 +02:00
rlar 998c7f2934 disable some more cleanup code in com_quit()
destroy_ivars() is reported to freeze
2012-09-25 21:31:45 +02:00
rlar ee0b602dc4 subckt.c, cleanup, use `for' instead of `while' 2012-09-22 22:12:56 +02:00
rlar fe1acd3757 src/frontend/** remove superfluous `return' invocations 2012-09-22 19:33:55 +02:00
rlar ab98f03622 src/frontend/** whitespace, indentation, ...
checked for object file invariance on linux
2012-09-22 19:33:50 +02:00
rlar d1d4eb11a5 invoke cleanup functions in com_quit()
trying to get the valgrind reports down.
2012-09-22 10:53:05 +02:00
rlar 71240d19be free spice_init_devices() allocated memory in com_quit() 2012-09-21 21:19:44 +02:00
rlar 811bf5664a destroy `const' plot in com_quit() 2012-09-21 21:19:44 +02:00
rlar 7a5eeb2d9c drop a superfluous cast 2012-09-21 21:19:44 +02:00
dwarning fb23e1f024 correct the diode temperature model 2012-09-20 21:06:34 +02:00
rlar c0e2d4abef src/frontend/**, whitespace,
object files will change, due to __LINE__ usage
2012-09-20 20:32:02 +02:00
rlar 7454a6d486 src/frontend/**, whitespace, indentation, ...
untabify
delete-trailing-whitespace
braces
...

checked for object file invariance on linux
2012-09-20 20:30:53 +02:00
rlar f3b5336d3a cleanup some macros, try to be more careful 2012-09-19 20:16:27 +02:00
rlar ec1a71249a fix ownership of `cp_promptstring' and `cp_program' 2012-09-15 14:58:39 +02:00
rlar 198604f605 define.c, plug a memleak in com_undefine() 2012-09-13 21:52:03 +02:00
rlar 6a3c20706a define.c, cleanup 2012-09-13 21:21:46 +02:00
rlar b68259ff2d define.c, cleanup 2012-09-13 21:21:08 +02:00
rlar 1fbc4d62cc define.c, whitespace cleanup 2012-09-13 21:18:02 +02:00
rlar 38ce3b6142 define.c, bug fix, when undefining more than one udfunc 2012-09-13 21:05:56 +02:00
rlar adc9ee09ce api change for ngdirname() to fix a memory leak
ngdirname did `own' the returned string.
now the invoker is responsible for the returned string.

note, this is contrary to the POSIX dirname() implementation,
   which *might* return pointers to statical allocated memory.
2012-09-13 20:07:33 +02:00
h_vogt 7c9b90c9ea XSPICE lcouple: remove unused cm_analog_integrate 2012-09-11 21:29:16 +02:00
h_vogt cb220b2d6f XSPICE core: remove memory leak 2012-09-10 23:40:40 +02:00
h_vogt 8d374157fe XSPICE square: remove memory leak, initialize phase1 2012-09-10 22:52:10 +02:00
h_vogt d6698c5f6c XSPICE square: indentations 2012-09-10 22:20:41 +02:00
h_vogt 2379bd577a XSPICE triangle: remove memory leak remove initialization error for phase1 FIXME: there are still more initialization errors 2012-09-09 19:07:29 +02:00
h_vogt 8ece02a1cd XSPICE triangle: indentations 2012-09-09 17:56:12 +02:00
h_vogt feb545d8a7 XSPICE oneshot: remove memory leak remove using uninitialzed variable old_clock correct waveform shape by using permanent breakpoints 2012-09-09 16:55:10 +02:00
h_vogt 36898f9921 indentations 2012-09-09 16:44:58 +02:00
h_vogt bcbd506ccc XSPICE sine: out-of-bounds removed 2012-09-08 01:38:25 +02:00
h_vogt 10d97d222e XSPICE sine source: memory leak removed (bug no. 3564166) 2012-09-08 00:45:59 +02:00
h_vogt 9f8c73d271 cktdest.c: reset for XSPICE allocated memory (not yet complete) 2012-09-07 23:50:38 +02:00
h_vogt 5ce51f148e XSPICE filesource: remove segfault with op before tran 2012-09-07 23:48:09 +02:00
h_vogt 9de9336581 cktload.c, indentations 2012-09-02 16:11:46 +02:00
h_vogt 4e45f4cba0 inp.c: unify syntax of .save and save commands: allow node1 and v(node1), v2#branch and i(v2), @dev[param] 2012-08-30 11:03:48 +02:00
h_vogt 0efaeac8b4 evtqueue.c: plug memory leak 2012-08-27 10:42:12 +02:00
h_vogt 417d109764 resask.c: avoid segfault if @R[i] is asked before analysis is run 2012-08-27 00:12:14 +02:00
h_vogt 9eaff645f5 vectors.c, resask.c: indentation 2012-08-26 23:32:21 +02:00
h_vogt a5a1029998 d_source: Use STATIC_VAR_TABLE to save memory 2012-08-25 13:39:27 +02:00
rlar 3d7ab6a297 cleanup keyword databases on proram termination 2012-08-23 21:19:15 +02:00
rlar 80bc975e33 plug a memory leak in inp_spsource/inp_nutsource (deck title string) 2012-08-23 21:13:44 +02:00
rlar 84283b43d4 cleanup ivars() related globals on program termination 2012-08-23 21:09:25 +02:00
h_vogt f4ad29a17c d_source: allow multiple instances 2012-08-22 23:14:26 +02:00
rlar 83c99bece4 cleanup wallace arrays on program termination 2012-08-22 22:21:33 +02:00
rlar 590fc543f8 avoid error messages when finally closing the display device.
these messages creeped in with commit
  2012-08-19 18:58:31
  "plug memory leak in x11.c"

when the "printf" device Close and Update
 functions might be invoked on program termination.

use the silent "nop" implementation
instead of the error reporting "nodev" implementation
2012-08-20 21:26:08 +02:00
h_vogt 7191fdce63 d_source cfunc.mod: plug memory leaks 2012-08-20 08:54:26 +02:00
h_vogt 488bc6a8c8 bug no. 3456221: new d_source model 2012-08-19 21:36:33 +02:00
rlar b5b0ec7302 cleanup, white space changes 2012-08-19 21:36:31 +02:00
rlar 6c01089be1 plug memory leak in x11.c
try to obey the Xt toolkit protocol when closing widgets and application
2012-08-19 19:18:34 +02:00
h_vogt cb42989204 mifgetvalue.c: need a copy to allow freeing token 2012-08-19 15:49:24 +02:00
rlar 789edee376 rewrite inp_list() avoid duplicate code 2012-08-19 14:04:37 +02:00
rlar c9e2a21a9c reimplement tcl_vfprintf() 2012-08-19 12:53:55 +02:00
rlar c4d0feb6cc bug fix, out_send() erroneously interpreting printf %-style sequences 2012-08-19 12:20:33 +02:00
rlar b9b9f6fd1c cleanup (checked for code invariance) 2012-08-19 12:14:22 +02:00
dwarning 5ca213b481 part of temperature level=3 model 2012-08-18 21:10:48 +02:00
rlar 67132108ad out_printf() is not supposed to be a preprocessor macro 2012-08-18 18:40:45 +02:00
h_vogt 0af75f3bd9 subckt.c, mif_inp2.c: plug XSPICE setup memory leaks 2012-08-18 18:31:23 +02:00
rlar d4ced47e8e drop out_pbuf, which was an ancient workaround
obviously an old implementation of out_printf()
  has been unreliable.
2012-08-18 18:27:13 +02:00
rlar 0825c10471 bug fix, print complex yet real valued frequency
when printing a complex frequency vector, yet with real value
  some left over nonsens was printed instead of the actual real value.

this bug was introduced in commit:
  Date:   Thu Jan 15 21:08:09 2009 +0000

  Improvements in vector derivative computation and new functions to
  compute group delay and moving average. From espice (A. Roldan).
2012-08-18 17:10:06 +02:00
h_vogt b02a497490 mif_inp2.c, subckt.c: plug memory leaks at XSPICE setup 2012-08-15 23:11:07 +02:00
rlar 9390a9a9ec rewrite com_quit()
emphasize user confirmation

and if we are going to remove dangling circuits,
then do so unconditionally
2012-08-15 20:15:15 +02:00
rlar be183407cd cleanup (checked for code invariance) 2012-08-15 19:18:15 +02:00
rlar ae6a16e3e4 plug a memory leak when executing `shell' 2012-08-14 21:00:21 +02:00
rlar fa81e9d007 plug a memory leak when (un)setting variables 2012-08-14 20:39:11 +02:00
rlar 64139a243c spiceif.c, cleanup (checked for code invariance) 2012-08-14 20:38:25 +02:00
rlar 0c230b2970 spiceif.c, cleanup (checked for code invariance) 2012-08-12 20:28:42 +02:00
rlar 10a9ae32c5 options.c cleanup 2012-08-12 12:48:27 +02:00
rlar a2f58da0d0 options.c, whitespace 2012-08-12 12:43:09 +02:00
rlar e93960f9ed cleanup, if_options() will copy() anyway 2012-08-12 12:25:00 +02:00
rlar 7126dd6f1d display.c, cleanup 2012-08-08 18:54:52 +02:00
rlar 0beb95757f cancer of the semicolon 2012-08-07 21:20:36 +02:00
rlar d50ffdd987 swallow warnings 2012-08-06 19:50:23 +02:00
rlar 1a2477bdcc avoid `meas' syntax error causing segfault
Invalid meas crashes ngspice with SIGSEV - ID: 3554330
http://sourceforge.net/tracker/?func=detail&aid=3554330&group_id=38962&atid=423915
2012-08-06 19:42:49 +02:00
rlar 46980f2cc6 plotit.c #9/9, whitespace 2012-08-05 21:41:25 +02:00
rlar 4803d8bba2 plotit.c #8/9, braces 2012-08-05 21:41:25 +02:00
rlar 6a334da2b4 plotit.c #7/9, braces 2012-08-05 21:41:25 +02:00
rlar f587553217 plotit.c #6/9, braces 2012-08-05 21:41:25 +02:00
rlar 088e88d9b2 plotit.c #5/9, localize 2012-08-05 21:41:25 +02:00
rlar 5f1387892c plotit.c #4/9, line wrap 2012-08-05 21:41:25 +02:00
rlar ed4ad1c0dd plotit.c #3/9, drop some comments 2012-08-05 21:41:25 +02:00
rlar 5c43e8f2fc plotit.c #2/9, emphasize maximize/minimize 2012-08-05 21:41:25 +02:00
rlar 406fc29007 plotit.c #1/9, think positive 2012-08-05 21:41:25 +02:00
h_vogt 11ae043c3d com_measure2.c: enable 'meas dc' without 'from' and 'to' given
measure.c: no error printout during autostop
2012-08-05 20:03:00 +02:00
rlar d6ba5e5b3f cleanup free_struct_variable() 2012-08-05 12:22:47 +02:00
rlar 75c59a26fa variable.c, cleanup (mostly whitespace) 2012-08-05 12:22:47 +02:00
dwarning 99b167b272 correct alter of mos geometries for binned models 2012-08-05 12:11:16 +02:00
rlar 51271d2a0b cp_oddcomm(), plug a memory leak 2012-08-04 22:27:04 +02:00
h_vogt acfc7a2a27 remove memory leaks 2012-08-04 19:09:13 +02:00
dwarning 2516a118a3 indentation 2012-08-04 16:24:38 +02:00
rlar 713091ea22 wlist #3/3, whitespace 2012-08-04 11:40:35 +02:00
rlar fe5ac28b92 wlist #2/3, cleanup 2012-08-04 11:40:35 +02:00
rlar 406dcc3519 wlist #1/3, cleanup 2012-08-04 11:40:35 +02:00
h_vogt 05437b1d48 inpcom.c: safely uncomment unused subcircuits (top level only)
if they contain further nested subcircuits
2012-08-03 22:42:33 +02:00
rlar 9ed7ce4e9e wlist.c, `const' ness 2012-08-03 21:46:13 +02:00
rlar e4c7a8df32 use wl_find() 2012-08-03 20:48:11 +02:00
rlar cf2a0f3df3 cleanup, linewrap 2012-08-03 20:43:12 +02:00
rlar 191ae9ea90 cleanup, char 0 2012-08-03 20:43:10 +02:00
rlar 5a69b9efc4 cleanup, void return 2012-08-03 20:43:06 +02:00
rlar ef37252155 lexical, use wl_append_word() 2012-08-03 20:24:58 +02:00
rlar 62a4ee77d5 lexical #6/6, whitespace 2012-08-03 20:20:18 +02:00
rlar ea558fbc7f lexical #5/6, cleanup 2012-08-03 20:18:17 +02:00
rlar aa188c0766 lexical #4/6, parentheses and braces 2012-08-03 20:16:47 +02:00
rlar c73c0f4318 lexical #3/6, rewrite 2012-08-03 20:12:58 +02:00
rlar 5656203a6c lexical #2/6, linewrap 2012-08-03 20:12:19 +02:00
rlar 5d245c9dab lexical #1/6, cleanup 2012-08-03 20:09:34 +02:00
h_vogt 96d2ff96e0 alloc.c: exlude controlled_exit if not MS Windows
not available in some tests in cmaths and executable like ngproc2mod
2012-08-03 08:28:50 +02:00
rlar 64d00a6b43 lexical #3/3, collapse append(NULL) into cp_ccom()
the sequence
   orig_wlist = wlist;
   append(NULL);
   cp_ccom(wlist, ...);
 is transformed.

 expressions to care about in cp_ccom()
    C1 :=  (wlist->wl_next != NULL)
    C2 :=  (wlist->wl_word != NULL)
    C3 :=  wl_length(wlist)

    D1 :=  (orig_wlist != NULL)
    D2 :=  (orig_wlist->wl_word != NULL)
    D3 :=  wl_length(orig_wlist);

 cases and their significance in cp_ccom():
    orig_wlist = NULL;
    wlist = wl_cons(NULL, NULL);
      C1 == false
      D1 == false
      C2,C3 dont care

    orig_wlist = wl_cons(E1, wl_cons(E2, ... wl_cons(En, NULL)))
    wlist = wl_cons(E1, wl_cons(E2, .... wl_cons(En, wl_cons(NULL, NULL))))
     C1 == true
     D1 == true
     C2 === D2
     C3 === D3 + 1
2012-08-02 18:55:54 +02:00
rlar fec5b00a0d lexical #2/3, fix memory leaks 2012-08-02 18:55:54 +02:00
rlar 042311d0c3 lexical #1/3, move append(NULL) invokations into position 2012-08-02 18:55:54 +02:00
h_vogt 67e0cf0608 undo controlled_exit: not compatible with ancient tests in cmath under LINUX 2012-08-01 22:10:13 +02:00
rlar 1195498978 lexical #19/19, rewrite 2012-07-31 20:49:34 +02:00
rlar 5b67ecda79 lexical #18/19, rewrite
`cw' won't be looked at, thus the append + removal can be dropped
  `wl_word' is already NULL
2012-07-31 20:49:34 +02:00
rlar f990e517b5 lexical #17/19, rewrite 2012-07-31 20:49:34 +02:00
rlar fa9be4336a lexical #16/19, transform append --> append(word) 2012-07-31 20:49:34 +02:00
rlar 43a6d59c72 lexical #15/19, drop `delayed' which is never zero ... 2012-07-31 20:49:33 +02:00
rlar 47b5e9576d lexical #14/19, drop `delayed = 0' wherever its effect isn't visible
without effect, because we return or will overwrite it anyway
2012-07-31 20:49:33 +02:00
rlar 01df4e9437 lexical #13/19, delay `append'
delay its execution, until
    either `wlist' or `cw' will be accessed,
  or
    a return or goto nloop is inevitable
2012-07-31 20:49:33 +02:00
rlar cff6188fe3 lexical #12/19, use `append'
some `assumption' are no longer valid
2012-07-31 20:49:32 +02:00
rlar 5ad8382cf1 lexical #11/19, aproach `append' here 2012-07-31 20:49:32 +02:00
rlar d61f3c10a0 lexical #10/19, split off `append' from `newword' 2012-07-31 20:49:32 +02:00
rlar af0a0c2c03 lexical #9/19, aproach the `append'
cw has never been NULL here,
   because we used to survive an update of cw->wl_next here

wlist hasn't been NULL either,
  because there is no place where wlist becomes NULL without
  setting cw to NULL as well. yet cw isn't NULL (see above)
aproach the `append'
2012-07-31 20:49:31 +02:00
rlar 74cc38f67a lexical #8/19, express where `wlist' and `cw' start being != NULL 2012-07-31 20:49:31 +02:00
rlar 3cbc4b0773 lexical #7/19, express verbosely where `wlist' and `cw' are NULL 2012-07-31 20:49:31 +02:00
rlar ecb2eec279 lexical #6/19, express cp_ccom() property 2012-07-31 20:49:31 +02:00
rlar 3b575d5e3d lexical #5/19, collapse into `newword' 2012-07-31 20:49:30 +02:00
rlar 348dc2d7d1 lexical #4/19, the `else' can take that job (unconditionally) 2012-07-31 20:49:30 +02:00
rlar 80191f3d44 lexical #3/19, attach and instantly remove a NULL wl_word here
this modification is faithful iff cw != NULL  and  cw->wl_next == NULL
  cw != NULL because we have just survived an update of cw->wl_word
  cw->wl_next == NULL is witnessed by:
    1) cw either NULL or pointing to a wl_cons(,NULL)
    2) cw not being modified, and no wl_next being modified
    3) check of all function invocations with wlist/cw argument
         not to modify any wl_next slot
which are:
  1) cp_ccom(wlist, ...)
  2) wl_free() always followed by goto nloop, which does a cw = wl_cons(,NULL)

and cp_ccom() doesn't modify any wl_next slot

the first part of the patch is intentionally similar to newword
`i' and `buf' can be modified here, because we will inevitably `goto done'
attach and instantly remove a NULL wl_word here
2012-07-31 20:49:30 +02:00
rlar ddebb63425 lexical #2/19, rewrite the `else if' 2012-07-31 20:49:29 +02:00
rlar f2f43bcce7 lexical #1/19, use wl_cons 2012-07-31 20:49:29 +02:00
rlar f36772419a Revert "cleanup, use wl_cons()"
This reverts parts of commit 7a7250cdbd.
There is a cleaner way to rewrite lexical.c
2012-07-31 20:48:01 +02:00
h_vogt b85f6bbc7d controlled_exit() instead of exit() 2012-07-31 17:54:51 +02:00
h_vogt 207adefcda evtprint.c: no node data: error message instead of seg fault 2012-07-30 23:32:54 +02:00
rlar 64b8dfc570 use wl_delete_slice() 2012-07-29 13:11:43 +02:00
rlar cdef8aa10e implement wl_delete_slice() 2012-07-29 13:11:42 +02:00
h_vogt d793dd6a61 variable xtrtol may override the XSPICE reduction of trtol 2012-07-29 12:53:31 +02:00
rlar 26468839d4 plotit(), cleanup wordlist processing 2012-07-28 19:55:09 +02:00
rlar 608e0473d3 copy(), allow NULL argument 2012-07-28 19:53:55 +02:00
rlar b808fcec8a fix typo in the commit `use wl_find()' 2012-07-28 14:52:17 +02:00
dwarning 3c3ba4c731 inpgmod.c: correct the range check to prevent overlap 2012-07-28 13:44:33 +02:00
dwarning fd85e8fd42 indentation 2012-07-28 13:39:00 +02:00
rlar 891d99497d use wl_find() 2012-07-28 12:29:23 +02:00
rlar e2be942b72 implement wl_find() 2012-07-28 12:29:22 +02:00
rlar 60398d113c plotit.c, prepare for usage of wl_find() 2012-07-28 12:29:19 +02:00
rlar 7a7250cdbd cleanup, use wl_cons() 2012-07-27 21:50:05 +02:00
h_vogt 1754427bee enhtrans.c: indentations 2012-07-25 23:05:28 +02:00
h_vogt 20429eec4d message "OpenMP: %d threads are requested..." removed 2012-07-25 23:04:13 +02:00
h_vogt 9b122d30a3 enhtrans.c, improved error meassage upon non 'Exxx poly' line bug 2012-07-24 22:04:31 +02:00
h_vogt 12e60822fb measure.c: indentations 2012-07-23 23:26:20 +02:00
h_vogt ed5491c179 measure.c: Update on error message for .meas 2012-07-23 23:23:42 +02:00
h_vogt d1d2ff94e4 measure, error message updated and return(NAN) in case of measure failure
test for failure with isnan()
2012-07-23 22:57:32 +02:00
rlar 05e5854268 plotit.c, whitespace cleanup 2012-07-23 19:17:25 +02:00
rlar 512644ca34 rewrite using wl_ functions 2012-07-22 11:58:29 +02:00
rlar cd2cab2a94 bug fix, cp_ioreset(): fclosing an already closed stream
causing memory corruption when using `>&' stderr redirection
2012-07-22 11:56:25 +02:00
h_vogt 4d0d0fafb9 repair broken ternary function in B-Source
failed if parameters were included in function.
fixed by finding nested parens in gettok_char()
2012-07-21 22:23:49 +02:00
h_vogt c3141d94e0 table: prevent crashes upon wrong inputs, allow time, temper, hertz as part of device or node name (e.g. Rtime), remove some memory leaks 2012-07-21 21:18:24 +02:00
rlar 1e65ea9e80 rewrite using wl_ functions
this fixed following bug as well:
   echo "echo abra ; ; echo kadabra" | ngspice -p
building a circular list and looping forever
2012-07-21 18:22:10 +02:00
rlar 561d30e5bf implement wl_chop() 2012-07-21 14:42:18 +02:00
h_vogt 87c80b842c gettok_char(), return(NULL) if substring not found 2012-07-19 23:16:15 +02:00
rlar fee664bc19 untabify 2012-07-19 20:26:13 +02:00
rlar 31ee05ceef mw_coms.c, fix the cleanup using wl_cons() 2012-07-19 20:25:06 +02:00
rlar 8d0306c27a cpif.c, whitespace, indentation, cleanups 2012-07-19 20:15:33 +02:00
rlar 75d6f6da5e cpitf.c, cleanup using wl_ functions 2012-07-19 20:15:30 +02:00
rlar 3062e25184 mw_comms.c, whitespace, indentation, cleanups 2012-07-19 18:49:27 +02:00
rlar 95978d3697 mw_coms.c, cleanup using wl_cons() 2012-07-19 18:49:25 +02:00
rlar 2b859633a1 fix the fix wl_reverse() for empty lists 2012-07-15 19:42:09 +02:00
rlar a890a55937 fix wl_reverse() for empty lists 2012-07-14 12:39:13 +02:00
rlar 5859f1a61d comments for wl_cons(), wl_append_word() and wl_chop_rest() 2012-07-14 12:39:02 +02:00
rlar 9655b9885a cleanup, use wl_cons(), wl_append_word() and wl_chop_rest() 2012-07-14 10:23:51 +02:00
rlar d9ddaec784 implement wl_cons(), wl_append_word() and wl_chop_rest() 2012-07-14 09:18:39 +02:00
h_vogt 8defa56cf6 remove second call to tmpfile() 2012-07-14 00:10:21 +02:00
rlar 2a22c1b23c bug fix, missing update of a wordlist's wl_prev pointer 2012-07-12 20:44:53 +02:00
rlar e1f8033f1c bug fix, incorrect update of a wordlist's wl_prev pointer 2012-07-12 18:49:01 +02:00
h_vogt 4ca6e56863 printf() ---> out_printf(): allow output redirection into file 2012-07-11 18:56:19 +02:00
rlar 9b34d99e51 emphasize the adms3 `U' device hijack 2012-07-07 20:13:05 +02:00
rlar 84b58ebd3b don't mess with libtools --enable-static / --enable-shared
tie libspice to -shared
    ngspice et al to -static

and use $(STATIC) elsewhere
  which is governed by configure.ac
2012-07-07 14:51:43 +02:00
rlar cb0a48801d introduce AM_CFLAGS = $(STATIC) 2012-07-07 14:51:39 +02:00
h_vogt a0b64a8624 spfactor.c, indentations 2012-07-07 10:04:21 +02:00
h_vogt 2bff8985e3 Adding TD to the fopen() is sufficient in MS Windows
to reliably unlink the temporary file
2012-07-07 09:53:35 +02:00
dwarning c9b729032d no double count of area for capacitances 2012-07-04 22:41:56 +02:00
dwarning dcc22ada60 new scalable diode model including tunnel component 2012-07-04 08:14:33 +02:00
h_vogt cc44d34f70 tmpfile() on MS Windows
create temporary files with Microsoft specific fopen() flags "TD"
and (propably redundant) remove them with an atexit() handler

see bug report #3535348
  "sp*.tmp file created, but not deleted when Windows UAC is en"
  https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3535348&group_id=38962
2012-07-03 18:38:30 +02:00
h_vogt 3a603cf17c Visual Studio: isatty --> _isatty 2012-07-02 19:45:43 +02:00
h_vogt 14914025c0 measure_at(), allow real valued data for meas ac 2012-06-26 23:43:50 +02:00
h_vogt 0207dc7239 no exchange of ' ' by { } inside .control section 2012-06-26 23:28:31 +02:00
h_vogt 188acd0060 correct usage of `unlink()' error return value -1 2012-06-25 15:13:02 +02:00
dwarning 4a75ce744d dioload.c, diosetup.c, correct knee current parameter defaults 2012-06-25 07:43:27 +02:00
dwarning a7ffb7d69f dio/dioload.c, whitespace change 2012-06-25 07:31:03 +02:00
rlar f661a1032d bug fix, ltra and tra, (initial conditions)
reported in
  https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3535544&group_id=38962

bug was introduced in this commit:
  Date:   Wed Dec 31 17:02:46 2003 +0000
  Cleaned up LTRA, TRA and URC code and updated DEVICES file.
2012-06-16 13:06:28 +02:00
dwarning 9648238ed7 call omp_set_num_threads once in central place instead in model routines 2012-06-15 23:14:08 +02:00
rlar b398d39772 xpsice, use the CFLAGS when linking .cm code models 2012-06-13 19:15:28 +02:00
dwarning 9ea4897d06 use unified macro USE_OMP and nthreads is set in setup once - not in load as clause 2012-06-13 19:15:27 +02:00
h_vogt fde8c46356 add ac and dc simulation to memristor model 2012-06-13 19:15:25 +02:00
h_vogt f53eb5cf78 memristor code model in extradev 2012-06-13 19:15:24 +02:00
h_vogt 7bfd4edefc FABS() --> fabs() 2012-06-13 19:15:23 +02:00
h_vogt ff11ccda20 In B source the argument to 'log' may be 0 upon start of simulation, allow recovery like in function 'ln' 2012-06-13 19:15:22 +02:00
h_vogt 0a087a47c8 enable B source debugging in behavioral models, exit on error if variable strict_errorhandling is set 2012-06-13 19:15:21 +02:00
h_vogt 07727f74f0 commands.c: 'options' equivalent to 'option' and allow 'loadsnap' and 'savesnap'
which have been EXPERIMENTAL_CODE so far
2012-06-13 19:15:14 +02:00
dwarning 1c4f960b45 update `bsim3soi' aka `b4soi' 2012-06-13 19:15:07 +02:00
rlar 5bb4c56165 outitf.c, cleanup 2012-06-12 21:26:31 +02:00
rlar 05fd5a03d6 outitf.c, cleanup cancer of the semicolon 2012-06-12 21:26:31 +02:00
rlar 4202354704 outitf.c, cleanup comment 2012-06-12 21:26:31 +02:00
rlar ccea57570e outitf.c, cleanup return 2012-06-12 21:26:31 +02:00
rlar 486ffc9429 outitf.c, whitespace 2012-06-12 21:26:31 +02:00
h_vogt c78d71c363 .nodeset all = value added to set all voltage nodes at once 2012-06-12 21:26:31 +02:00
rlar a34cbdbeab tiny cleanup 2012-06-12 21:26:30 +02:00
rlar b1cbebaa99 fix tcl module compilation
test programs don't compile when compiling for TCL_MODULE
due to redefinition of fprintf()
2012-06-12 21:26:30 +02:00
rlar 6ae6223250 misccoms.c, com_quit(), implement exitcode 2012-06-12 21:26:30 +02:00
rlar 5436de5bab misccoms.c, tiny rewrite 2012-06-12 21:26:30 +02:00
rlar 8dcf132199 misccoms.c, shrink scope 2012-06-12 21:26:30 +02:00
rlar cc32eae60b misccoms.c, collect byemessage() 2012-06-12 21:26:30 +02:00
rlar b9c0159cd6 misccoms.c, noask 2012-06-12 21:26:30 +02:00
rlar 41de8d95ff misccoms.c, collapse strings 2012-06-12 21:26:30 +02:00
rlar 11878ee4ad misccoms.c, use strncasecmp() 2012-06-12 21:26:30 +02:00
rlar 5f3b453a30 misccoms.c, indentation and whitespace cleanup 2012-06-12 21:26:30 +02:00
rlar f65cdd2f84 Changed line ending of several files from DOS to UNIX 2012-06-12 21:26:29 +02:00
rlar 3d34b22ebf fix file modes 2012-06-12 21:26:29 +02:00
h_vogt a212be67bc Exit with error if file not found: fgets() cannot read from NULL 2012-06-12 21:26:29 +02:00
rlar 14f884729c raw_write() always fopen("wb"), even on windows use "\n" line termination 2012-06-12 21:26:29 +02:00
rlar 10e5dbfbcc raw_read() always fopen("rb") even on windows, always swallow "\r" 2012-06-12 21:26:29 +02:00
rlar e598598d70 Reverting "NUMDdump(): add binary mode"
This reverts commit 40e8f868da
2012-06-12 21:26:29 +02:00
rlar d8105873db remove error.h, use fteext.h for controlled_exit() 2012-06-12 21:26:29 +02:00
rlar a9eb96e164 avoid `ambiguous else' Warning 2012-06-12 21:26:29 +02:00
h_vogt 023374fa79 update `making xspice' within actual ngspice 2012-06-12 21:26:27 +02:00
h_vogt 40e8f868da NUMDdump(): add binary mode
fopen() with wb
write operating point (external state) for true binary output
2012-06-12 21:26:27 +02:00
h_vogt 80ca57eb76 beautify code 2012-06-12 21:26:27 +02:00
h_vogt d65259fd45 error return only if variable `error' is set 2012-06-12 21:26:27 +02:00
h_vogt ca8e9b2d2d prevent false outputs of @dev[param], when not defined in ac simulation 2012-06-12 21:26:27 +02:00
h_vogt fe86d3d5c7 Enable ctrl-c to interrupt a simulation also for Windows GUI 2012-06-12 21:26:27 +02:00
h_vogt a820a7cba8 Independent variable `temper' now returns the temperature in degree C 2012-06-12 21:26:27 +02:00
h_vogt a51953d93e allow `time', `temper', and `hertz' in expressions of behavioral R,L,C devices 2012-06-12 21:26:27 +02:00
rlar bde3536ecc subckt.c, doit(): fix another memory leak 2012-06-12 21:26:27 +02:00
rlar e3402554f0 subckt.c, doit(): fix a memory leak 2012-06-12 21:26:27 +02:00
h_vogt dcde15afd2 exclude circuits with XSPICE 'A' devices from using 'savesnap'
XSPICE data storage is not yet implemented
2012-06-12 21:26:26 +02:00
rlar 58b0614467 fix memory leaks in ASRC and in INPgetTree()
implement a reference counter `usecnt' for the elements
  of the `INPparseTree'
2012-06-12 21:26:26 +02:00
rlar 4fb75fbd51 INPgetTree(), express the live range of some globals 2012-06-12 21:26:26 +02:00
rlar d21b3a3cd5 mkfnode(), minor rewrite 2012-06-12 21:26:26 +02:00
rlar e889c821d1 configure.ac, fix `NO_X' and `has_no_help'
drop configure options `--enable-x' and `--disable-x'
use `--with-x' and `--without-x' provided by AC_PATH_X

bug tracker item:
  [ngspice-Bugs-3515015] Startup error message without x11
  https://sourceforge.net/tracker/index.php?func=detail&aid=3515015&group_id=38962&atid=423915
2012-04-06 16:19:49 +02:00
rlar 7641450b29 inpptree.c, fix differentiation of PTF_FLOOR PTF_CEIL and PTF_POW 2012-04-05 21:55:44 +02:00
rlar 149345068f update bison generated files 2012-04-05 21:33:54 +02:00
rlar 3bb2bd8e05 fix memory leak in PTparse() 2012-04-05 21:30:41 +02:00
rlar 15bda2b9e0 fix memory leak in PPparse() 2012-04-05 21:30:05 +02:00
rlar 76336fa21b fix memory leak in cp_vset() 2012-04-05 21:25:04 +02:00
rlar 9a75774e36 inpptree.c, polish comments 2012-04-05 21:24:48 +02:00
rlar 42653f7c3d inpptree.c, fix premature memory allocation 2012-04-05 21:24:25 +02:00
Michael Woodworth 3375e1b976 fix a memory leak in parse_line()
This has a HUGE affect on memory usage
2012-04-05 20:49:09 +02:00
h_vogt 8b780fa42b bug_fix: R,L,C instantiations, tc1, tc2, numbers followed by `:'
Ternary function was not recognized in R, C, or L lines
  if no voltage or current node was part of the expression,
  because then B-Source is not used.
In these cases now inp_fix_ternary_operator_str() is called explicitly.

tc1, tc2 were sometimes recognized falsely,
  if part of a token e.g. tc1end.

R, C, and L models are never commented out,
  because their names may be token no. 4 or 5 in an R, C, or L line,
  and will not be recognized if 5.

INPevaluate() will now correctly evaluate a number if followed by ':'
  (number may be part of the ternary function).
2012-03-31 23:42:37 +02:00
h_vogt 232270cbc4 bug fix, inp_bsource_compat(): `tc1=' `tc2=' `reciproctc=' `}'
don't substitute `tc1=' `tc2=' `reciproctc='
don't fail when processing tokens followed by `}' chars
2012-03-30 22:56:15 +02:00
rlar e91e3c4ec7 lingrid(), avoid buffer overflow
Bug ID: `Buffer overflow detected - ID: 3510521'
    reported by Zsolt Makaró

  The variable `mag3' sometimes seems to take
    unexpected values
    (for example log10 can be -Inf, which will be casted to 0x80000000)
  and seems then to have overflown a buffer buf[LABEL_CHARS]
2012-03-27 21:07:12 +02:00
rlar 6e829f7cc4 rewrite subckt.c
transform doit() into a true recursive version,
    drop usage of global variables
  reduce scope of many variables
  cleanup and readability

  FIXME,
    an opportunity to plug a memory leak is visible now.
2012-03-25 20:19:42 +02:00
rlar da06afb895 bug fix, numnodes()
in response to the `ex-41.cir' test case
    distilled from a Dietmar Warning Bug report in
      "Subject: Re: subckt, param"

  translate() is called recursively and depends on
    `num of nodes' provided by numnodes().
  numnodes() depends on availability of `su_numargs'.
  But the processing allows non-processing of subckt instantiations
    in inner recursions (which will be processed later)
    which means `su_numargs' is not always available.
2012-03-25 18:54:10 +02:00
rlar a1ea1b3193 round to next nearest integer for the rise, fall and cross arguments of `measure'
Simon Guan reported
  Bug item #3509528, `Meas goes wrong when put in a while loop'

In a .control block a `let' variable was passed to the `measure' command.

The value of this variable would have been a plain integer,
  yet it was converted internally to an internal ascii representation
    with exponential representation  (203 ==> 2.03e2)
  and then processed by `ft_numparse()' where it was converted back to
    double floating point.
  Because the intermediate 2.03 has
    no exact representation in the space of double floating point numbers
    this conversion was lossy and resulted in a non-integer value.
  This non-integer was then truncated towards minus infinity in com_measure
    yielding an error of -1

This commit implements round to nearest in com_measure2
  to avoid the problem.

FIXME,
  the internal intermediate conversion of double floating point machine
    values to ascii representations must be dropped,
  or replaced with an exact/lossless ascii representation.
    (for example GNU printf/scanf %a or 64bit hexadecimal representation)
2012-03-25 11:08:48 +02:00
h_vogt b4516b08ca bug fix, iplot(): Buffer overflow
Thanks to Zsolt Makaró for the bug report in
  Buffer overflow detected - ID: 3510521
  http://sourceforge.net/tracker/?func=detail&aid=3510521&group_id=38962&atid=423915
2012-03-24 18:29:36 +01:00
h_vogt 0a2e031cb1 bug fix, inp_fix_subckt(): problem when parsing a .subckt line
this worked
  .subckt psub a b p2 = {p1*2-1} p1 = 1
but this failed
  .subckt psub a b p2 = { p1 * 2 - 1 }  p1 = 1

thanks to Ivan Riis Nielsen for the report in Message
  [Ngspice-devel] parsing problem (ngspice-24 tarball)
2012-03-24 18:29:36 +01:00
h_vogt 4b1abe0a18 tclspice.c: new functions to get start and final time of a transient simulation 2012-03-24 18:29:36 +01:00
h_vogt 787a6a3581 inp_fix_subckt(): allow spaces in an expression which acts as a parameter 2012-03-17 16:56:30 +01:00
dwarning 1938041e10 1. Correct the list of binable models. 2. Fix a problem with wrong MOS level entries. 2012-03-01 20:33:06 +01:00
rlar 9f017ea557 .gitignore files 2012-02-26 16:19:58 +01:00
h_vogt 80a039983e dummy functions 2012-02-19 16:38:33 +00:00
dwarning 70e9907415 Add reciprocal temperature behaviour for B sources 2012-02-19 12:55:54 +00:00
h_vogt 8f3f757813 command mrdump 2012-02-19 11:11:31 +00:00
h_vogt dffe4ed156 command mdump 2012-02-19 10:23:56 +00:00
dwarning 862f10dce3 Add temperature coefficients for B sources 2012-02-11 19:52:04 +00:00
dwarning d9561123f9 Add temperature coefficients for B sources 2012-02-11 19:45:25 +00:00
h_vogt 1a7fa85e3c reading incs, libs etc. 2012-02-11 13:14:34 +00:00
h_vogt fc7692a896 outheap removed 2012-02-11 12:50:44 +00:00
h_vogt 5d101f46f9 updates tcl for Windows 2012-02-11 11:59:12 +00:00
rlar 848b0c2158 update bison generated files 2012-02-11 08:18:57 +00:00
rlar 6ea91d2834 upgrade INPgetTree() 2012-02-11 08:17:12 +00:00
rlar 37940c9133 search for tclspinit in `cwd' as well 2012-02-10 16:59:33 +00:00
rlar 86ea7c5290 NG_IGNORE something 2012-02-10 16:57:21 +00:00
dwarning d041b7b503 Typo in parameter name 2012-02-10 16:12:39 +00:00
rlar d0f5ad49d1 make use of TMALLOC() 2012-02-09 20:46:12 +00:00
rlar 2e4d4a0e02 unuse srandom() and random() 2012-02-09 20:39:24 +00:00
rlar fce7548bd2 #4/4 finish the switch from ngcomplex* args to ngcomplex 2012-02-07 19:55:20 +00:00
rlar a056ea3065 #3/4 switch realpart() and imagpart() args from ngcomplex* to ngcomplex 2012-02-07 19:53:12 +00:00