Commit Graph

3997 Commits

Author SHA1 Message Date
Jim Holmes 85ae073471 src/frontend/postcoms.c, bugfix, write/save an xspice `event' node
In function EVTfindvec() XSPICE can create
  a `dvec' with a non NULL `v_scale' slot.
This special scale with name "step"
  differs from the current plot `pl_scale' slot
  and triggered ancient buggy code here.
2014-10-12 19:32:17 +02:00
rlar 5c97e31049 cleanup, use '\0' and NULL 2014-09-20 19:20:20 +02:00
rlar 0865747d88 numparam/mystring.c, cleanup functions which return `void' 2014-09-20 18:55:32 +02:00
rlar c6a8429258 src/maths/cmaths, implement `nint()' (.control language) 2014-09-20 17:15:10 +02:00
rlar 9e72296e40 src/spicelib/parse, implement `nint()' (`B' language) 2014-09-20 17:15:09 +02:00
rlar 2602a492b2 fix `log' in `B' and in `.control', to base e instead of 10
In the B language this can be considered a bug fix.

In the .control language this is a severe change
  and breaks backwards compatibility.

In all three languages 'numparam' 'B' and '.control' we now have
  ln    to the base e
  log   to the base e
  log10 to the base 10

Thus log and log10 is now consistent
  with the vast majority of programming languages.

ln is merely for convenience.
  very few other languages have it.
  I'd like to discourage its usage.
2014-09-12 19:18:11 +02:00
rlar abfd38b535 B language, introduce `log10' 2014-09-12 19:10:07 +02:00
rlar 88bc7874f0 numparm, introduce `log10' 2014-09-12 19:09:56 +02:00
rlar 99eade8ec9 cleanup, rename cx_ln --> cx_log (.control language) 2014-09-12 19:09:52 +02:00
rlar c926f46986 cleanup, rename rename cx_log --> cx_log10 (.control language) 2014-09-12 19:09:42 +02:00
rlar bdf70bd2b0 cleanup, rename PTln --> PTlog, PTF_LN --> PTF_LOG (`B' language) 2014-09-12 19:09:30 +02:00
rlar 93a212ca3c cleanup, rename PTlog --> PTlog10, PTF_LOG --> PTF_LOG10 (`B' language) 2014-09-12 19:05:56 +02:00
rlar 5e8856d944 inpcom.c, inp_get_func_from_line(), allow an optional '=' in ".func foo() = {expr}" 2014-08-12 18:10:14 +02:00
rlar e1f0dc5893 numparam, nupa_define(), drop unused argument `pval' 2014-08-10 20:21:48 +02:00
rlar c2028203a8 numparam, unify `entry' variable 2014-08-10 20:21:43 +02:00
rlar a67b74ab9f numparam, unify `dico' variable 2014-08-10 20:21:39 +02:00
rlar e952500be3 numparam, rename `tdico' --> `dico_t' 2014-08-10 20:21:34 +02:00
rlar f3ce5bde2c numparam, rename `entry' --> `entry_t' 2014-08-10 20:21:29 +02:00
rlar 1910f50179 numparam, cleanup typedefs 2014-08-10 20:21:25 +02:00
rlar 612777d79d numparam, drop unused code 2014-08-10 20:21:19 +02:00
rlar cbe9aca764 inpcom.c, inp_split_multi_param_lines(), drop `keep' business 2014-08-10 16:59:28 +02:00
rlar 8a8a4f2fdb inpcom.c, inp_split_multi_param_lines(), bug fix, skip ',' when splitting .param lines 2014-08-10 16:58:05 +02:00
rlar e0a74261ae numparam, cleanup `symbols' reallocation 2014-08-09 20:51:02 +02:00
rlar 699ea93d1e numparam, combine `symbols[0]' with `symbols[>0]' processing 2014-08-09 20:49:46 +02:00
rlar 8ee943e0c8 numparam, rename `local_symbols' --> `symbols' 2014-08-09 20:49:25 +02:00
rlar 30fc375e2c numparam, use `local_symbols[0]' instead of `global_symbols' 2014-08-09 20:48:56 +02:00
rlar cdf4623b6f xpressn.c, whitespace 2014-08-09 19:38:29 +02:00
rlar 4592c1af97 xpressn.c, reorder `dicostack_pop()' 2014-08-09 19:38:25 +02:00
rlar f4480c1cb9 xpressn.c, split `dicostack()' into `dicostack_push()' and `dicostack_pop()' 2014-08-09 19:38:18 +02:00
rlar 9973b3d1f8 xpressn.c, rename `define()' --> `nupa_define()' 2014-08-09 19:38:14 +02:00
rlar 583492ab41 spicenum.c, shrink scope of some hash pointers 2014-08-09 19:38:09 +02:00
rlar f5d05af51d inpgmod.c, INPgetModBin(), use model_name_match() 2014-08-09 18:17:51 +02:00
rlar b663731379 rewrite model_bin_match(), rename --> model_name_match() 2014-08-09 18:17:34 +02:00
rlar 0e4b3f3b5b inpcom.c, inp_get_func_from_line(), consider whitespace and syntax errors 2014-08-08 19:13:16 +02:00
rlar 999967ae05 inpcom.c, inp_sort_params(), simplify card insertion 2014-08-06 19:31:25 +02:00
rlar 70d420692a inpcom.c, inp_get_func_from_line(), add some minimalistic syntax error check 2014-08-06 19:08:02 +02:00
rlar 26fd874060 inpcom.c, inp_sort_params(), whitespace 2014-08-03 19:09:53 +02:00
rlar d49bf31819 inpcom.c, inp_sort_params(), cleanup usage of `max_level' 2014-08-03 19:09:53 +02:00
rlar 4594e54d50 inpcom.c, inp_sort_params(), cleanup usage of `skipped' 2014-08-03 19:09:53 +02:00
rlar e6e03ead75 inpcom.c, inp_sort_params(), local scope for `param_name' 2014-08-03 19:09:52 +02:00
rlar 17670eeaa9 inpcom.c, inp_sort_params(), transform a for loop 2014-08-03 19:09:52 +02:00
rlar 8209a02e70 inpcom.c, inp_sort_params(), drop `param_str' 2014-08-03 19:09:52 +02:00
rlar ff4293af18 inpcom.c, inp_sort_params(), drop `found_in_list' 2014-08-03 19:09:52 +02:00
rlar 3899cc5585 inpcom.c, inp_sort_params(), cleanup using for loop 2014-08-03 19:09:52 +02:00
rlar 70b74028d1 inpcom.c, inp_sort_params(), rename `param_skip', `ptr_array', `ptr_array_ordered' 2014-08-03 19:09:52 +02:00
rlar b9ea286da7 inpcom.c, inp_sort_params(), cleanup usage of `num_params' 2014-08-03 19:09:52 +02:00
rlar 0927932b94 inpcom.c, inp_sort_params(), cleanup usage of `arr_size' 2014-08-03 19:09:52 +02:00
rlar 8d0f205969 inpcom.c, inp_sort_params(), rename `ptr' --> `c' 2014-08-03 19:09:47 +02:00
rlar be170de6e2 inpcom.c, inp_get_param_level(), rename variables 2014-08-03 19:02:27 +02:00
rlar 505a4112a7 inpcom.c, inp_get_param_level(), rewrite for readability 2014-08-03 19:02:14 +02:00
rlar fefa690714 inpcom.c, inp_get_param_level(), bug fix, access out of bounds 2014-08-03 19:02:04 +02:00
rlar a002a5f6ba inpcom.c, inp_sort_params(), cleanup using new `struct depedency' 2014-08-03 12:50:37 +02:00
rlar 268de0a341 inpcom.c, inp_sort_params(), introduce `search_plain_identifier()' 2014-08-02 19:30:03 +02:00
rlar cea13aef16 partial revert previous commit 2014-08-02 19:26:25 +02:00
rlar 72779956b5 inpcom.c, inp_fix_subckt(), don't modify the processed string 2014-08-02 13:16:06 +02:00
rlar a84e181581 inpcom.c, inp_fix_subckt(), drop unused code 2014-08-02 13:02:09 +02:00
rlar b50af8e8df inpcom.c, inp_fix_subckt(), cleanup 2014-08-02 12:59:19 +02:00
rlar 668b7e23c5 inpcom.c, abstraction, introduce `inp_spawn_brace()' 2014-08-02 12:08:23 +02:00
rlar 26a036ed54 inpcom.c, inp_chk_for_multi_in_vcvs(), comment 2014-08-02 11:45:11 +02:00
rlar d522c7cd18 inpcom.c, inp_chk_for_multi_in_vcvs(), extend the last but one commit 2014-07-30 19:00:48 +02:00
rlar b2e8bec2a9 inpcom.c, inp_chk_for_multi_in_vcvs(), whitespace 2014-07-30 18:48:35 +02:00
rlar c7c9f38523 inpcom.c, inp_chk_for_multi_in_vcvs(), rewrite for readability 2014-07-30 18:44:28 +02:00
rlar 6208c96036 inpcom.c, inp_chk_for_multi_in_vcvs(), emphasise error processing 2014-07-29 20:42:17 +02:00
rlar f5202201c3 inpcom.c, inp_chk_for_multi_in_vcvs(), reorder 2014-07-29 20:26:00 +02:00
rlar 29a4959f5d inpcom.c, inp_chk_for_multi_in_vcvs(), cleanup using more and better named variables 2014-07-29 20:10:46 +02:00
rlar e4e2abdf09 inpcom.c, inp_chk_for_multi_in_vcvs(), use `strchr()' 2014-07-29 18:40:00 +02:00
rlar 4436a42dbc inpcom.c, inp_chk_for_multi_in_vcvs(), bug fix 2014-07-27 18:55:50 +02:00
rlar 75ab9ec5e5 inpcom.c, inp_read(), swallow a warning 2014-07-26 20:37:15 +02:00
rlar 24a22f1398 subckt.c, treat "0" and "null" like any other global node 2014-07-26 20:23:26 +02:00
rlar b9ecd4d28e subckt.c, rewrite `collect_global_nodes()' 2014-07-25 21:19:52 +02:00
rlar d82b836136 subckt.c, inp_subcktexpand(), abstraction, new function `collect_global_nodes()' 2014-07-25 21:09:29 +02:00
rlar 833c8b972e subckt.c, rename global variables 2014-07-25 21:09:25 +02:00
rlar 6d18a1b40d subckt.c, inp_subcktexpand(), cleanup local variables 2014-07-25 21:09:21 +02:00
rlar 0568974b85 subckt.c, inp_subcktexpand(), cleanup `.meas' specific processing 2014-07-25 21:09:14 +02:00
rlar 5aa4bd4a1c subckt.c, bug fix, multiple .global decks shall behave "accumulative" 2014-07-23 20:34:40 +02:00
rlar ed53864a9e subckt.c, doit(), whitespace 2014-07-18 18:52:21 +02:00
rlar 3393d68818 subckt.c, doit(), cleanup, local variables 2014-07-18 18:52:20 +02:00
rlar 7d44aa9564 subckt.c, doit(), fix an ancient memory leak when use_numparams == FALSE 2014-07-18 18:52:19 +02:00
rlar f2abbf1528 subckt.c, doit(), cleanup 2014-07-18 18:52:18 +02:00
rlar 6b959952a3 subckt.c, doit(), rename `savenext' --> `rest_of_c' 2014-07-18 18:52:17 +02:00
rlar 05d239b748 subckt.c, doit(), rename `lcc' --> `su_deck' 2014-07-18 18:52:17 +02:00
rlar 822c5150d5 subckt.c, doit(), cleanup, use `c' instead of `lcc' 2014-07-18 18:52:16 +02:00
rlar 45648d4caa subckt.c, doit(), reorder 2014-07-18 18:52:15 +02:00
rlar 5944a2505a subckt.c, doit(), rename `lc' --> `prev_of_c' 2014-07-18 18:52:14 +02:00
rlar 73935377ff subckt.c, doit(), drop redundant assignment 2014-07-18 18:52:12 +02:00
rlar d6106cfbfc subckt.c, cleanup `doit()' 2014-07-16 20:42:57 +02:00
rlar 650352e3e8 subckt.c, cleanup `doit()' 2014-07-16 20:39:41 +02:00
rlar 8381877eee subckt.c, doit(), fix an ancient memory leak when use_numparams == FALSE 2014-07-16 20:35:39 +02:00
rlar 82039a1166 subckt.c, cleanup `doit()', polish 2014-07-16 20:27:52 +02:00
rlar 87c88f02c2 subckt.c, cleanup `doit()', rename some variables 2014-07-16 18:05:24 +02:00
rlar c9725d70eb subckt.c, cleanup `doit()', rename some variables 2014-07-16 17:59:11 +02:00
rlar 8ccaa5bdca subckt.c, cleanup `doit()', drop redundant test 2014-07-16 17:53:47 +02:00
rlar 86b6fb8c03 subckt.c, cleanup `doit()' 2014-07-15 21:44:57 +02:00
rlar 1e83c0772b subckt.c, cleanup `doit()' 2014-07-15 20:44:33 +02:00
rlar c105c320f8 subckt.c, cleanup `doit()' `modtranslate()' `devmodtranslate()' 2014-07-15 19:46:01 +02:00
rlar 1ae1909641 inp_sort_params(), simplify, "%s" does work for the empty string 2014-07-13 18:52:42 +02:00
rlar 63db630a0a inp_fix_temper_in_param(), cleanup using 'skip_back_ws()' 2014-07-13 18:34:14 +02:00
rlar 6325a4b7ab inp_fix_temper_in_param(), bug fix, failure to skip whitespace 2014-07-13 18:32:02 +02:00
rlar 5c50ec501d inpcom.c, cleanup using new function 'search_identifier()' 2014-07-13 18:03:27 +02:00
rlar a9a43e4b76 inpcom.c, cleanup inp_add_series_resistor() 2014-07-12 14:55:19 +02:00
rlar 7476dec093 inpcom.c, use '\0' 2014-07-12 14:54:03 +02:00
rlar 7f7453a227 inp_do_macro_param_replace(), fix several bugs concerning .func processing 2014-07-08 18:19:26 +02:00
rlar fd47aafc4e fix commit, "bug fix, `#279 Problem when using a function to set initial value" 2014-07-06 11:00:05 +02:00
Giorgio Vazzana 0348dcd251 bug fix, #286 buffer overflow in src/frontend/plotting/grid.c 2014-06-26 19:50:18 +02:00
rlar 22b2349893 fix #285 .spiceinit cannot be read in from home directory
reported by Craggan in bug report #285
http://sourceforge.net/p/ngspice/bugs/285/
2014-06-26 19:50:13 +02:00
rlar 6dc5f12914 USE_OMP, dont miss error return codes when a DEVLoadOMP() invocation fails 2014-06-26 19:50:12 +02:00
dwarning e562243558 hsm2ld.c, when multithreading, always print the debuging header lines 2014-06-26 19:50:10 +02:00
dwarning a94bcaeb0e multicore simulation with hisim2 2014-06-26 19:50:09 +02:00
rlar 25a093c557 hsm2eval.c, avoid static variables to allow multithreading 2014-06-26 19:50:08 +02:00
rlar 4eeb1361d6 spicenum.c, rewrite nupa_done() 2014-06-26 19:50:07 +02:00
rlar d2d606a79a spicenum.c, rewrite putlogfile() 2014-06-26 19:50:06 +02:00
rlar da6790e68d numparam, change np_trunc() and np_round() return type to double 2014-06-26 19:50:05 +02:00
rlar c1bd74f982 mystring.c, drop auxiliary implementations of np_round() and np_trunc() 2014-06-26 19:50:04 +02:00
rlar 4abb068405 xpressn.c, use fabs() 2014-06-26 19:50:03 +02:00
rlar d17c0d7813 mystring.c, rewrite spos_() 2014-06-26 19:50:02 +02:00
dwarning 27cb51afca hisim2, remove register class 2014-06-26 19:50:01 +02:00
dwarning a646a5f78f devices/bsim4, update to version 4.8 2014-06-26 19:49:34 +02:00
dwarning 010174ec2a devices/bsim4v7, add to build infrastructure 2014-06-26 19:48:15 +02:00
dwarning 58122ce47b devices/bsim4v7, string substitution, bsim4 -> bsim4v7 2014-06-26 19:46:01 +02:00
dwarning 7e4128c60a devices/bsim4v7, new directory, plain copy from devices/bsim4 2014-06-26 19:44:57 +02:00
dwarning cba69c4850 devices/bsim4v4, remove ancient bsim4 model version 4.4 2014-06-26 19:43:54 +02:00
rlar 9736b0fe2b dev.c, get rid of hardwired device enumeration 2014-06-26 19:04:55 +02:00
rlar bf3888c490 numparam, drop "//" comment processing (already done in inpcom.c) 2014-06-24 18:20:18 +02:00
rlar 80b0ac22a4 xpressn.c, rewrite message() usage 2014-06-24 18:20:12 +02:00
dwarning 5bb69f77d1 hisimhv1, hisim2, clean up unused variables 2014-06-24 18:19:51 +02:00
rlar 20d651f00c subckt.c, #5/5 local scope for orig_modnames 2014-06-24 18:18:15 +02:00
rlar c01fa9153f subckt.c, #4/5 rename modnames --> new_modnames 2014-06-24 18:18:13 +02:00
rlar d7882badfd subckt.c, #3/5 rename translated_model_name --> new_model_name 2014-06-24 18:18:07 +02:00
rlar 39abfee774 subckt.c, #2/5 rename submod --> orig_modnames 2014-06-24 18:17:51 +02:00
rlar cb25ce757e subckt.c, #1/5 cleanup modtranslate() signature 2014-06-24 18:17:42 +02:00
rlar 609c246b95 cktpzstr.c, cleanup minimising / maximising operations 2014-05-15 18:50:35 +02:00
rlar aa7a7606c7 avoid multiple declarations of controlled_exit(), add 'noreturn' attribute 2014-05-14 21:36:18 +02:00
rlar 9a9e1c5413 ifeval.c, IFeval(), pronounce definite end of instructions flow 2014-05-14 20:55:32 +02:00
rlar fbdea9be3d inpcom.c, inp_fix_inst_calls_for_numparam() rewrite for cleanup 2014-05-14 20:23:21 +02:00
rlar 6d30585a5e inpcom.c, inp_fix_inst_calls_for_numparam(), local scope for some vars 2014-05-14 19:42:48 +02:00
rlar 5862d1b297 inpcom.c, inp_fix_inst_calls_for_numparam(), avoid excess tfree() invocations 2014-05-14 19:16:13 +02:00
rlar e652dc40be inpcom.c, drop unused artifacts 2014-05-14 18:18:22 +02:00
rlar 7a6b569b3b inpcom.c, rewrite bizarre code in inp_get_params() 2014-05-14 18:15:00 +02:00
rlar cca5971739 ifs_yacc.y, record various errors and account for them when ifs_yyparse() returns 2014-05-11 20:12:38 +02:00
rlar 90baa6a251 xspice, fix -I path order
make sure $(top_builddir)/src/include comes first
  to fetch the correct ngspice/config.h file
2014-05-10 22:37:05 +02:00
rlar eedb80a2ba rewrite, using IFerrorf() 2014-05-09 16:36:57 +02:00
dwarning 157aedd72d update hisimhv to version 1.2.4 2014-05-09 16:36:57 +02:00
rlar 6f89395d8a fix commit: introduce OUTerrorf() and IFerrorf() 2014-05-07 20:06:00 +02:00
dwarning 452544b30e apply few patches according the model developers web site 2014-05-07 18:45:00 +02:00
dwarning d671e70b6c clarify level parameter for hisim and hisimhv 2014-05-05 20:35:03 +02:00
dwarning de6293de18 apply few patches according the model developers web site 2014-05-05 20:18:16 +02:00
dwarning 1e1c4fe168 apply few patches according the model developers web site 2014-04-20 19:04:29 +02:00
rlar cc235294ec lexical.c, change semantics of an ESCAPE in a given input `string'
now simply skip it.

presumably and in accordance to what the comments seems to suggest
  ESCAPE never was really meant to be read as '['
  but was replaced just to get it out of way deeper in the for loop
  where an ESCAPE starts an ancient mechanism to reenter
    interactive input via a terminals TIOCSTI capability
2014-04-15 21:16:50 +02:00
rlar cb75a749b8 lexical.c, avoid to read beyond end of `string' 2014-04-15 21:16:49 +02:00
rlar f42b5b16c7 lexical.c, simplify 2014-04-15 21:16:48 +02:00
rlar 8c7ae0d61c lexical.c, simplify using cp_readchar() 2014-04-15 21:16:46 +02:00
rlar 448099ef94 lexical.c, new function cp_readchar() for abstraction 2014-04-15 21:12:46 +02:00
rlar 9bd2cdfc7b modtranslate(), cleanup using tprintf() 2014-04-13 19:58:47 +02:00
rlar 7813f6cf6a cleanup, use tprintf() 2014-04-12 21:34:16 +02:00
rlar cc56c90b9d drop asprintf() 2014-04-12 21:02:31 +02:00
rlar 80dd41451f introduce tvprintf() 2014-04-12 21:01:36 +02:00
rlar 03f0ef778f bug fix, need va_copy() when reusing a va_list 2014-04-12 20:37:36 +02:00
rlar a9bdfe3b00 cleanup spice_format_length() 2014-04-12 20:31:04 +02:00
rlar 0750749962 mktemp.c, use tprintf() 2014-04-05 19:44:13 +02:00
rlar 7aa454e5b4 rewrite, using tprintf() 2014-04-05 19:10:12 +02:00
rlar a4780f8e34 string.c, introduce tprintf() 2014-04-05 18:44:27 +02:00
rlar 2881eef750 ngmultidec.c, drop superfluous TMALLOC string allocation 2014-04-05 18:44:16 +02:00
rlar 1a0a00c9c2 inp.c, nicer printout of multi line error messages 2014-04-05 18:44:04 +02:00
rlar 575d42b0a5 mifgetmod.c, rewrite error report for 'unrecognized parameter' 2014-04-05 18:39:13 +02:00
rlar 4049e8ec1f rewrite, using IFerrorf() 2014-04-04 21:58:08 +02:00
rlar ea7372efe7 rewrite, useing IFerrorf()
OUTerror() and IFerror() are no more used,
  but kept for compatibility
2014-04-04 21:22:48 +02:00
rlar f26c1b71f9 introduce OUTerrorf() and IFerrorf()
a varargs variant of the older variants OUTerror() and IFerror()
2014-04-04 21:22:47 +02:00
rlar 0182f2f7ca swallow an unused format argument warning 2014-04-04 21:22:45 +02:00
Y.Niitsu 4de727f4a9 update bison generated files 2014-04-02 21:15:04 +02:00
Y.Niitsu 6e3f60c6bd frontend/parse.c, allow nested `indexing', for example foo[bar[n]]
.control
compose ex1 values 111 222 333
compose ex2 values 1 2 3
print ex1 ex2 ex1[ex2[1]]
.endc
2014-04-02 21:14:10 +02:00
rlar 08ca40fe73 sharedspice.c, bug fix, don't write beyond size of array `p' 2014-04-01 21:30:02 +02:00
rlar b6ed9a3620 bug fix, `#279 Problem when using a function to set initial value"
reported by Marcel Hendrix in
  http://sourceforge.net/p/ngspice/bugs/279/

"SPF_time" erroneously did match "time"

introduce a saver matcher for
  `v(' `i(' `temper' `time' and `hertz'
when checking for behavioural R,L,C devices
2014-04-01 21:17:00 +02:00
rlar 060257a468 inpcom.c, sharedlib, strip leading whitepace from circuit deck
this was traditionally done in inp_read() by readline(),
  and was missing for circuit decks passed by 'circarray'
2014-03-09 17:10:55 +01:00
h_vogt 8499ef0428 .option 'savecurrents' for storing all current of relevant devices 2014-02-07 22:47:09 +01:00
h_vogt 17185a601c asrcask.c: allow current readout like @bcur[i], if in current mode 2014-02-07 22:40:26 +01:00
dwarning 461026f2b9 fix to use garbage collector with --enable-gc 2014-02-07 13:19:35 +01:00
h_vogt bdb54257c7 outitf.c: new option interp to plot interpolated raw file data
during transient analysis
2014-02-01 14:24:04 +01:00
h_vogt 0609d231c0 runcoms2.c: prevent crash after 'remcirc' if no circuit is loaded 2014-01-29 21:21:16 +01:00
Henrik Forsten 3794c1eb20 mark end of struct GENmodel overlay 2014-01-19 17:38:32 +01:00
rlar 66281cad4e inpcom.c: exclude command 'shell' from lower case letter transformation
reported by Dominique Michel
[Ngspice-users] gs is confused with the shell command

shell gs -dBATCH -dNOPAUSE -sDEVICE=png256 -sOutputFile="plot.png"
2014-01-19 17:14:13 +01:00
h_vogt e58de3187c make use of Infile_Path in function open_with_path.
We may now use the following sequence for a file
search from a code model:
Infile_Path/<infile>
NGSPICE_INPUT_DIR/<infile>, where the path is given by the environmental variable
<infile>, where the path is the current directory
2014-01-18 19:17:38 +01:00
h_vogt 0a17d46509 new callback function cm_get_path, which makes the global
ngspice variable Infile_Path available to XSPICE code models
2014-01-18 19:14:42 +01:00
h_vogt 1f5de32512 global variable Infile_Path, which contains the
input netlist file path
2014-01-18 19:10:29 +01:00
h_vogt 57091b15f2 d_state: improved error messages 2014-01-18 18:54:01 +01:00
h_vogt 2877cfba22 file source: use open_with_path() 2014-01-18 18:50:50 +01:00
h_vogt bf1fb3f105 inp.c: prevent crash upon if_inpdeck() returning NULL 2014-01-17 20:24:44 +01:00
rlar ed23c7e315 set X11 window title from `graph->plotname'
in response to a bug report by Dominique Michel
  "#272 no title in plots"
  http://sourceforge.net/p/ngspice/bugs/272/
2014-01-11 16:24:25 +01:00
h_vogt 74b32f392c inpcom.c: E, G source, improved search for 'vol' and 'cur'
in response to a bug report by Marlize Schoeman
  "#274 VCVS Exxxx name and node names do not allow VOL as text"
  http://sourceforge.net/p/ngspice/bugs/274/
2014-01-11 16:24:23 +01:00
rlar f2093b17e8 parseunit(), support 'T' for "Tera"
in response to a bug report by Andy Fierman
  "#273 T = Tera = 1e12 suffix is ignored when used in a parameter in a subcircuit."
  http://sourceforge.net/p/ngspice/bugs/273/
2014-01-11 16:24:21 +01:00
h_vogt d5b2460123 inp.c, inp2q.c improve error message
when we exit() in batch mode due to a missing model definition
2014-01-11 16:24:19 +01:00
rlar bb28578956 workaround, avoid batch termination when there are .model issues
these were introduced by commit
  "inp.c, evtinit.c: improved error message suggested by Calin Andrian"
and caused ngspice checks to fail unexpectedly
2014-01-11 16:24:17 +01:00
h_vogt bd1b4a2162 gnuplot.c: enable correct terminal for non MINGW/MSVC 2014-01-11 16:24:14 +01:00
rlar 8803edc16b tfanal.c noisean.c, bug fix which was introduced in "CKTfndDev(), rewrite"
the original CKTfndDev() was able to limit its search
  for an instance with given name
  to instances of a certain "type"
(this was a speed optimisation which is of no use anymore,
  because we use a hashtable now)

the new CKTfndDev() does not consider "type"

thus, here in tfanal.c and noisean.c we have to check the "type"
  after CKTfndDev() since we no longer can limit its search
  to the given "type"
2014-01-11 16:24:12 +01:00
h_vogt 23ffcbf7d1 variable.c: prevent buffer overflow by limiting variable output to BSIZE_SP characters 2014-01-11 16:24:11 +01:00
h_vogt 52d8c7ec6e cm.h: add config.h to access #defines 2014-01-11 16:24:09 +01:00
h_vogt dfbaeaea29 com_ghelp.c: add info on non-availability of help to console versions w/o X display. 2014-01-11 16:24:08 +01:00
rlar a7a48ac8d3 analog/{square,triangle}, store boolean tran_init in STATIC_VAR itself 2014-01-02 09:57:17 +01:00
rlar 70f12fb1fd analog/{sine,square,triangle}, xtradev/core, change array access
avoid copy of parameter array,
which would need to be freed to avoid a memory leak

this is a modified and partial version of a patch provided by
Krzysztof Blaszkowski <kb@sysmikro.com.pl>
2014-01-02 09:57:14 +01:00
rlar 91449d438c analog/{sine,square,triangle}, xtradev/core, drop .h files 2014-01-02 09:57:03 +01:00
rlar 2bbfdd55cb analog/{sine,square,triangle}, xtradev/core, whitespace cleanup 2014-01-02 09:56:27 +01:00
dwarning 1e448f497d 1-f-code.c, correct the printout for noise generation 2014-01-02 09:54:01 +01:00
dwarning b535b43980 1-f-code.c, use fftw3 2014-01-02 09:54:00 +01:00
dwarning 9e01e1c384 com_fft.c, set hanning as default window 2014-01-02 09:53:58 +01:00
dwarning 38ad8f7602 com_fft.c, rename variable `tlen' --> `length' 2014-01-02 09:53:57 +01:00
dwarning dd290c1886 com_fft.c, correct array size and relay to specific array order for r2c transformation 2014-01-02 09:53:56 +01:00
dwarning 8ed75d166d com_fft.c, use FFTW3 for com_fft() and com_psd() 2014-01-02 09:53:54 +01:00
dwarning a90f916883 fftext.c, move the Bourke FFT code to fftext.c (rename macro) 2014-01-02 09:53:53 +01:00
dwarning c61e1bc8c6 fftext.c, move the Bourke FFT code to fftext.c (as a backup) 2014-01-02 09:53:52 +01:00
dwarning 2e79c16f55 cmath4.c, drop unused doubledouble() 2014-01-02 09:53:51 +01:00
dwarning 2671aef5cd cmath4.c, correct array size and relay to specific array order for r2c transformation 2014-01-02 09:53:49 +01:00
dwarning dc398f1387 cmath4.c, correct scale for ifft 2014-01-02 09:53:48 +01:00
dwarning 51c7f17186 cmath4.c, use FFTW3 for cx_fft() and cx_ifft() 2014-01-02 09:53:47 +01:00
dwarning cd8aa1ee04 cmath4.c, com_fft.c, cleanup 2014-01-02 09:51:41 +01:00
dwarning f989219f6f cmath4.c, com_fft.c, rename `size' --> `N' and `mm' --> `M' 2014-01-02 09:51:39 +01:00
h_vogt 75b144e17a polyfit.c, speed up fitting process when degree == 1
this patch war provided by Henrik Forstén in
  "#14 Special case for polyfit, move initw()"
  http://sourceforge.net/p/ngspice/patches/14/
2014-01-02 09:33:34 +01:00
h_vogt 0e2fc3ceef inpcom.c: allow node names and .func parameters having
equal string representation
2014-01-02 09:33:33 +01:00
h_vogt e2f3ea24c0 main.c, suppress progress report when '-o' is used to redirect output 2014-01-02 09:33:31 +01:00
h_vogt 2355bfc0ff main.c, fix stdout and stderr redirection and buffering with regard to '-o' and '-p'
in response to a bug report from  Johann Glaser
  "#259 Pipe mode: buffering"
  http://sourceforge.net/p/ngspice/bugs/259/
2014-01-02 09:33:30 +01:00
h_vogt a717fd01ab inpcom.c: enable .include with $end-of-line in .control section 2014-01-02 09:33:28 +01:00
h_vogt e97de24041 C99 functions are only available in MSVC 2013 and newer. Still needs testing! 2014-01-02 09:33:25 +01:00
rlar d146502fc9 ptfuncs.c, drop inaccurate replacements for ashinh() acosh() and atanh() 2014-01-02 09:33:23 +01:00
rlar d225c4f958 xpressn.c, introduce fortran style nint() rounding function 2014-01-02 09:33:21 +01:00
rlar a088a6e0e6 subckt.c, fix .model processing (scope) 2014-01-02 09:33:18 +01:00
h_vogt 59de942bdf enable parameter replacement in R, L, C lines, if equation is
without {} and not in a subcircuit
2014-01-02 09:33:16 +01:00
h_vogt 8dbefe2153 inpcom.c: allow proper 'temper' substitution
if device name and parameter name are the same,
or if parameter name is the last token in the line.
2014-01-02 09:33:09 +01:00
h_vogt bdcd7dc1a7 inp.c: evaluate for 'temper' only the models which have
been entered into the hash table ckt->MODnameHash
2014-01-02 09:33:07 +01:00
h_vogt 4e1c23780c dctran.c bug fix, reported by Berk Özer 2014-01-02 09:33:05 +01:00
h_vogt 75eee691c4 inpcom.c remove bug: parens around equation h, f
add equation + temper capability to gain of F-Source
2014-01-02 09:33:03 +01:00
h_vogt 606c98904d inpcom.c: H Source with equation and temper in transresistance 2014-01-02 09:33:01 +01:00
dwarning 2838eeb1ac devices/vbic, implement VBICsoaCheck() 2014-01-02 09:32:55 +01:00
dwarning 2875ac632f devices/hisim2, implement HSM2soaCheck() 2014-01-02 09:32:54 +01:00
dwarning f6c6fa85a0 devices/hisimhv1, implement HSMHVsoaCheck() 2014-01-02 09:32:52 +01:00
dwarning 7bafe7c238 devices/bsimsoi, implement B4SOIsoaCheck() 2014-01-02 09:32:51 +01:00
dwarning 8a005d8e4c devices/bsim4v6, implement BSIM4v6soaCheck() 2014-01-02 09:32:49 +01:00
dwarning 4b643d6b3f devices/bsim4v5, implement BSIM4v5soaCheck() 2014-01-02 09:32:48 +01:00
dwarning 5a64b7849c devices/bsim4, implement BSIM4soaCheck() 2014-01-02 09:32:46 +01:00
dwarning f9c05885fa devices/bsim3v32, implement BSIM3v32soaCheck() 2014-01-02 09:32:45 +01:00
dwarning 4e4ea00ba7 devices/bsim3, implement BSIM3soaCheck() 2014-01-02 09:32:43 +01:00
dwarning d44eeb05a4 devices/bjt, implement BJTsoaCheck() 2014-01-02 09:32:42 +01:00
dwarning b71a83f100 devices/dio, implement DIOsoaCheck() 2014-01-02 09:32:40 +01:00
dwarning 542bb9cd26 devices/cap, implement CAPsoaCheck() 2014-01-02 09:32:39 +01:00
dwarning 51f660d5f2 devices/res, implement RESsoaCheck() 2014-01-02 09:32:37 +01:00
rlar 5d3f4e7f55 introduce CKTsoaInit() 2014-01-02 09:32:36 +01:00
dwarning c8f5d49ddd implement CKTsoaCheck() 2014-01-02 09:32:34 +01:00
dwarning bf9ad0bdfd introduce new SPICEdev operation `DEVsoaCheck()' 2014-01-02 09:32:32 +01:00
rlar e2292cc5c4 inpcom.c, drop cp_tildexpand() in expand_this(), inp_pathresolve_at() shall do this 2014-01-02 09:32:29 +01:00
rlar 71fc51871e inpcom.c, rewrite .lib reading
use canonical file names to remember known .lib files
remember their directories in `habitat'
use inp_pathresolve_at() to find .lib files with regard to `searchpath' and current directory
2014-01-02 09:32:27 +01:00
rlar f2d3c9f122 inpcom.c, recurse expand_section_ref() 2014-01-02 09:32:25 +01:00
rlar 366d79b9b9 inpcom.c, cleanup 2014-01-02 09:32:24 +01:00
rlar 0420c0604b inpcom.c, whitespace cleanup 2014-01-02 09:32:22 +01:00
rlar 8fe86bb1c9 inpcom.c, reorder 2014-01-02 09:32:20 +01:00
rlar 0a2f5d2e55 inpcom.c, abstraction, introduce expand_section_ref() 2014-01-02 09:32:19 +01:00
rlar 6c30ad1b1e inpcom.c, simplify `.include' file processing using inp_pathresolve_at() 2014-01-02 09:32:17 +01:00
rlar 196102ee88 inpcom.c, introduce inp_pathresolve_at() 2014-01-02 09:32:15 +01:00
h_vogt 6480fabeaf tilde.c, enable search for home dir under MS Windows 2014-01-02 09:32:13 +01:00
rlar 51bbd8c4d4 inpcom.c, introduce inp_pathresolve(), rewrite inp_pathopen() using this 2014-01-02 09:32:11 +01:00
h_vogt 9959030765 inpcom.c, for mingw absolute pathnames may begin with /d/
allow this when variable 'mingwpath' is set in .spinit
2014-01-02 09:32:08 +01:00
h_vogt 85ddc5b6db inpcom.c, remove variable "sourcefile" and references to "sourcefile"
this will no longer be required for access to input file residing
in the executable's directory
2014-01-02 09:32:06 +01:00
rlar 9b4238ed04 inpcom.c, fix inp_pathopen(), always try to fopen() relative to the current working directory first 2014-01-02 09:32:03 +01:00
rlar 0ce23e6f10 inpcom.c, fix inp_pathopen(), relative path shall be expanded regarding "sourcepath" 2014-01-02 09:31:58 +01:00
rlar 7524882f67 inpcom.c, simplify using is_plain_filename(), fix incorrect comments 2014-01-02 09:31:56 +01:00
rlar e0c398024f inpcom.c, implement is_absolute_pathname() and is_plain_filename() 2014-01-02 09:31:55 +01:00
h_vogt 0b9df46e16 remove redundant #include 2014-01-02 09:31:51 +01:00
h_vogt bb121fe903 inp.c, evtinit.c: improved error message
suggested by Calin Andrian
2014-01-02 09:31:23 +01:00
h_vogt 780ccbfb3c prevent crash, if due to input bug ckt is not created,
reported by  Andrian
2014-01-02 09:31:21 +01:00
rlar 6af85a6389 xspice, move `-lm' to the end of the linker command line 2014-01-02 09:31:18 +01:00
h_vogt 8ad6bd209d replacements for functions missing in the msvc world 2014-01-02 09:31:10 +01:00
Calin Andrian c38f7236b1 MIFget_boolean(), allow numeric values 0 and 1 too 2014-01-02 09:26:28 +01:00
Anthony J. Bentley 7a9abebfe7 remove unnecessary include of sys/timeb.h. 2014-01-02 09:26:23 +01:00
rlar 492f1f006c numparam, almost full precision for stringified double float numbers 2014-01-02 09:25:48 +01:00
rlar 6a2060e472 xpressn.c, drop initkeys() 2013-12-31 16:42:06 +01:00
rlar 7463410a5e xpressn.c, drop "AND OR NOT DIV MOD DEFINED" keywords 2013-12-31 16:42:05 +01:00
rlar 6b1363dcf7 xpressn.c, use C strings for the arguments of `keywords()' 2013-12-31 16:42:04 +01:00
rlar a855a19d2c xpressn.c, drop '&' and '|' operators, (we have '&&' and '||') 2013-12-31 16:42:04 +01:00
rlar 719b5e5c20 inpcom.c, exclude currently unused functions 2013-12-31 16:42:03 +01:00
rlar df0d1826ca inpcom.c, drop ternary_fcn code in inpcom.c, the extended "formula" shall process ternary expressions 2013-12-31 16:41:36 +01:00
rlar ef3580d590 xpressn.c, whitespace cleanup 2013-12-31 16:41:35 +01:00
rlar 1ac45bfd57 xpressn.c, implement a?b:c in the "formula" parser 2013-12-31 16:41:34 +01:00
rlar 1b959e6a50 xpressn.c, drop XFU_V
probably accidentally introduced in commit

> Author: h_vogt <h_vogt>
> Date:   Sun Feb 7 11:27:59 2010 +0000
>
>     improved numparam error message
2013-12-31 16:41:34 +01:00
rlar 9cb20e97d0 xpressn.c, use enums instead of literals 2013-12-31 16:41:33 +01:00
rlar 297778127b xpressn.c, drop "Defd" enum, to be incorporated into a bigger enum 2013-12-31 16:41:32 +01:00
rlar 76c7cd6fbd xpressn.c, fix semantics of `int(x)' and remove dangerous macros
int(x) most probably shall be trunc(x) instead of floor(x)
  note trunc(x) was #defined beeing floor(x)
  note ln(x) was #defined beeing log(x)
2013-12-31 16:41:32 +01:00
rlar 2854fa71d4 fix an endless loop waiting for y/n when the input is at EOF
reported by Calin Andrian
  Subject: [Ngspice-devel] Invaild number bug
2013-12-31 16:41:31 +01:00
rlar 467eb58244 xpressn.c, fix semantics of '&&' and '||'
these shall interpret a value as a bool according to (value != 0)
and these shall evaluate to either 1.0 or 0.0
2013-12-31 16:41:30 +01:00
rlar f6d610a1b6 xpressn.c, whitespace cleanup 2013-12-31 16:41:30 +01:00
rlar 0a42a19b02 xpressn.c, fix `truth' for ternary_fcn()
0.0 is `false', everything else is `true'
2013-12-31 16:41:29 +01:00
rlar 589ded417a update bison generated files 2013-12-31 16:41:29 +01:00
rlar b32ae9f79b .control and `B' parser, fix precedence of '-' versus '^'
-2^2 shall be -(2^2) instead of (-2)^2
2013-12-31 16:41:28 +01:00
h_vogt ad5c09a865 remove unused code 2013-12-31 16:41:27 +01:00
rlar a4ac854d50 devices/hisimhv1, devices/hisim2, avoid overlapping globals TMF1 ... TMF6
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:27 +01:00
rlar aae92bf259 avoid overlapping "Dummy" symbols
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:26 +01:00
rlar a235b46795 inpcom.c, add missing condition `!comfile' for .title and .end processing 2013-12-31 16:41:25 +01:00
dwarning 5bc8429b2f correct the step incrementing type to SENS_LINEAR 2013-12-31 16:41:25 +01:00
h_vogt 3c49c4eb8f fix criterion to start `.lib' and `.global gnd' processing 2013-12-31 16:41:24 +01:00
rlar 10f651da35 inpcom.c: MSVC compatibility 2013-12-31 16:41:23 +01:00
rlar dc2cd6fe01 inpcom.c, cleanup inp_readall() #7/7, drop misleading comment 2013-12-31 16:41:22 +01:00
rlar 11573327f4 inpcom.c, cleanup inp_readall() #6/7, tautology `call_depth == 0' 2013-12-31 16:41:22 +01:00
rlar 893e094faa inpcom.c, cleanup inp_readall() #5/7, use `rv . line_number' itself 2013-12-31 16:41:21 +01:00
rlar 4b1cbd8c8b inpcom.c, cleanup inp_readall() #4/7, move inp_read() epilog to inp_readall() 2013-12-31 16:40:38 +01:00
rlar f29ef643dc inpcom.c, cleanup inp_readall() #3/7, return `line_number' too 2013-12-31 16:26:15 +01:00
rlar ab607102e6 inpcom.c, cleanup inp_readall() #2/7, move inp_read() prolog to inp_readall() 2013-12-31 16:26:14 +01:00
rlar d598630b72 inpcom.c, cleanup inp_readall() #1/7, introduce inp_read() 2013-12-31 16:26:12 +01:00
rlar 9b7a5ab54d bug fix, .include and .lib files don't have a `title' line 2013-12-31 16:26:11 +01:00
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