Commit Graph

3681 Commits

Author SHA1 Message Date
rlar e0859d78c0 inpcom.c, rewrite `inp_fix_temper_in_param()' 2014-12-02 20:04:23 +01:00
rlar 7524ad2ee6 src/misc/string.c, rewrite using `copy_substring()' 2014-12-01 20:18:59 +01:00
rlar 45cfdde701 src/frontend/plotting/plotit.c, plotit(), fix command line buffer overflow 2014-11-30 22:15:37 +01:00
rlar d18d2a935c src/frontend/variable.c, rewrite `cp_variablesubst()' 2014-11-30 20:58:29 +01:00
rlar 33d33e9d50 src/frontend/variable.c, fix expansion of '$var' when $var is an empty list
test case:
 set foo = ( )
 set foo = ( $foo baz bar )
 echo $foo
2014-11-30 11:20:05 +01:00
rlar bd441171a7 inpcom.c, inp_fix_param_values(), bug fix, #295 .model fails when a literal numerical parameter value starts with a '+' 2014-11-10 21:18:18 +01:00
rlar 5e76305ffa inpcom.c, inp_modify_exp(), bug fix, enforce precedence when numparm substitutions come into play 2014-11-06 21:16:24 +01:00
rlar 30742f30a4 inpcom.c, inp_modify_exp(), bug fix, #294 B source failure when using an unary minus 2014-11-06 18:29:54 +01:00
rlar c79d2482ae inp_modify_exp(), remove operator rewrite `**' --> `^'
Thats implemented in the lexer for B expressions,
( `PTlex()' in src/spicelib/parser/inpptree.c )
2014-11-04 19:59:40 +01:00
rlar 70ad8cce5f inp_modify_exp(), cleanup #17/17, polish while loop 2014-11-04 18:56:34 +01:00
rlar aa05b6f095 inp_modify_exp(), cleanup #16/17, whitespace 2014-11-04 18:56:34 +01:00
rlar b37db50aed inp_modify_exp(), cleanup #15/17, use postincrement 2014-11-04 18:56:34 +01:00
rlar b58c8252cc inp_modify_exp(), cleanup #14/17, reduce scope of `buf' 2014-11-04 18:56:34 +01:00
rlar e1f8344bae inp_modify_exp(), cleanup #13/17, rename `ustate' --> `state' 2014-11-04 18:56:34 +01:00
rlar 970b5ed772 inp_modify_exp(), cleanup #12/17, rename `actchar' --> `c' 2014-11-04 18:56:32 +01:00
rlar 88a01bfd68 inp_modify_exp(), cleanup #11/17, rename `str_ptr' --> `s' 2014-11-04 18:56:24 +01:00
rlar b023f36dbb inp_modify_exp(), cleanup #10/17, use tprintf() 2014-11-04 18:55:37 +01:00
rlar 2992d6b416 inp_modify_exp(), cleanup #9/17, use `int' for `i' 2014-11-04 18:55:36 +01:00
rlar ca767ef08f inp_modify_exp(), cleanup #8/17, use an enum for `ustate' 2014-11-04 18:55:34 +01:00
rlar c792f344bb inp_modify_exp(), cleanup #7/17, use postincrement 2014-11-04 18:53:29 +01:00
rlar 381b5d9ec1 inp_modify_exp(), cleanup #6/17, rewrite 2014-11-04 18:53:28 +01:00
rlar 49c233029a inp_modify_exp(), cleanup #5/17, local scope for variables 2014-11-04 18:53:28 +01:00
rlar 6bc63f798d inp_modify_exp(), cleanup #4/17, cleanup for loop 2014-11-04 18:53:28 +01:00
rlar 74954fbcfe inp_modify_exp(), cleanup #3/17, drop `new_str' 2014-11-04 18:53:28 +01:00
rlar 3d842352aa inp_modify_exp(), cleanup #2/17, remove redundant assignments 2014-11-04 18:53:26 +01:00
rlar 3fc7b99292 inp_modify_exp(), cleanup #1/17, use tprintf() 2014-11-04 18:50:53 +01:00
rlar 87960d52b4 inpcom.c, use tprintf() to simplify code in inp_bsource_compat() 2014-11-02 19:46:16 +01:00
rlar 8b04ff6b7c inpcom.c, use inp_modify_exp() to remove duplicated code in inp_bsource_compat() 2014-11-02 19:45:42 +01:00
rlar 5464859ebb inpcom.c, inp_bsource_compat(), shrink brace removal to the actual b-expression 2014-11-02 18:45:41 +01:00
rlar 5550d53512 inpcom.c, inp_bsource_compat(), fix an assertion 2014-11-02 18:45:28 +01:00
rlar 71a1b27a23 inpcom.c, inp_modify_exp(expr), offload tfree(expr) to the invoker 2014-11-02 18:45:14 +01:00
rlar 1f9cf0b6b5 inpcom.c, bug fix, #293 Bug in .option rseries = <value> with parallel inductors
reported by João Alberto and Andy Fierman in
   http://sourceforge.net/p/ngspice/bugs/293/
2014-10-30 20:18:11 +01:00
rlar 254be00842 src/frontend/postcoms.c, cleanup, unused variable `appendwrite' 2014-10-12 22:08:19 +02:00
rlar e08dcafbe9 cleanup, signature of CKTacDump() and CKTdump(), void* --> runDesc* 2014-10-12 22:07:28 +02:00
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