Commit Graph

2864 Commits

Author SHA1 Message Date
rlar 6e829f7cc4 rewrite subckt.c
transform doit() into a true recursive version,
    drop usage of global variables
  reduce scope of many variables
  cleanup and readability

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

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

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

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

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

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

thanks to Ivan Riis Nielsen for the report in Message
  [Ngspice-devel] parsing problem (ngspice-24 tarball)
2012-03-24 18:29:36 +01:00
h_vogt 4b1abe0a18 tclspice.c: new functions to get start and final time of a transient simulation 2012-03-24 18:29:36 +01:00
h_vogt 48a08dc63a .gitignore: exclude /release* and /debug* directories 2012-03-17 17:00:46 +01:00
h_vogt 787a6a3581 inp_fix_subckt(): allow spaces in an expression which acts as a parameter 2012-03-17 16:56:30 +01:00
h_vogt f15765bf46 Visual Studio: console and GUI, 32 Bit and 64 Bit newly organized 2012-03-10 00:01:17 +01:00
dwarning 1938041e10 1. Correct the list of binable models. 2. Fix a problem with wrong MOS level entries. 2012-03-01 20:33:06 +01:00
rlar 9f017ea557 .gitignore files 2012-02-26 16:19:58 +01:00
h_vogt 80a039983e dummy functions 2012-02-19 16:38:33 +00:00
dwarning 70e9907415 Add reciprocal temperature behaviour for B sources 2012-02-19 12:55:54 +00:00
h_vogt 8f3f757813 command mrdump 2012-02-19 11:11:31 +00:00
h_vogt dffe4ed156 command mdump 2012-02-19 10:23:56 +00:00
dwarning 862f10dce3 Add temperature coefficients for B sources 2012-02-11 19:52:04 +00:00
dwarning d9561123f9 Add temperature coefficients for B sources 2012-02-11 19:45:25 +00:00
h_vogt 1a7fa85e3c reading incs, libs etc. 2012-02-11 13:14:34 +00:00
h_vogt fc7692a896 outheap removed 2012-02-11 12:50:44 +00:00
h_vogt 5d101f46f9 updates tcl for Windows 2012-02-11 11:59:12 +00:00
rlar 848b0c2158 update bison generated files 2012-02-11 08:18:57 +00:00
rlar 6ea91d2834 upgrade INPgetTree() 2012-02-11 08:17:12 +00:00
rlar 37940c9133 search for tclspinit in `cwd' as well 2012-02-10 16:59:33 +00:00
rlar 86ea7c5290 NG_IGNORE something 2012-02-10 16:57:21 +00:00
dwarning d041b7b503 Typo in parameter name 2012-02-10 16:12:39 +00:00
rlar d0f5ad49d1 make use of TMALLOC() 2012-02-09 20:46:12 +00:00
rlar 2e4d4a0e02 unuse srandom() and random() 2012-02-09 20:39:24 +00:00
rlar 32751766d1 polish make maintainer-clean, make mrproper 2012-02-08 20:13:52 +00:00
rlar fce7548bd2 #4/4 finish the switch from ngcomplex* args to ngcomplex 2012-02-07 19:55:20 +00:00
rlar a056ea3065 #3/4 switch realpart() and imagpart() args from ngcomplex* to ngcomplex 2012-02-07 19:53:12 +00:00
rlar 94e3abd847 #2/4 switch cph() and cmag() args from ngcomplex* to ngcomplex 2012-02-07 19:49:31 +00:00
rlar 50aea0be0c #1/4 drop cast (enable compiler type check) 2012-02-07 19:46:34 +00:00
rlar 891e4fdef1 fix varags usage, tcl_printf(), tcl_fprintf(), tcl_vfprintf() 2012-02-07 19:22:02 +00:00
rlar f38aa32b5f adms3, fix some types 2012-02-07 18:43:57 +00:00
rlar e396b15104 use type `struct ccom' 2012-02-07 17:45:41 +00:00
rlar f70fd8ea1b use type `runDesc' 2012-02-07 17:43:07 +00:00
rlar 5df8e981e5 struct runDesc forward declaration 2012-02-07 17:28:27 +00:00
rlar c3741ae6a1 comment/pinpoint a local misuse of a structure element 2012-02-07 17:25:55 +00:00
rlar bfb8cb259c drop some (char*) casts 2012-02-06 20:23:55 +00:00
rlar d04f0948d6 preserve const'ness of some casts 2012-02-06 20:21:47 +00:00
rlar c54d3a617e drop (void*) cast of the dispose() argument 2012-02-06 20:18:26 +00:00
rlar 8864048692 drop tgetstr() return value cast 2012-02-06 20:15:45 +00:00
rlar cc7afb7abb drop (char*) cast in the third argument of ioctl() 2012-02-06 20:13:35 +00:00
rlar d5f6bcbedf drop some more casts 2012-02-06 20:11:10 +00:00
rlar d03d5dfa2d drop some casts 2012-02-06 20:07:43 +00:00
rlar e800751d3e drop some (char*) casts 2012-02-06 20:03:50 +00:00
rlar a716572233 rewrite INPlookMod(), return INPmodel*/NULL instead of int 1/0 2012-02-06 17:49:19 +00:00
rlar f285dd0aa8 use strchr() instead of index() 2012-02-06 17:46:33 +00:00
rlar 4ae0ee137c ngspice-24 2012-02-02 20:07:50 +00:00
dwarning d2f9fe7379 tlevc=1 correction 2012-01-30 19:57:57 +00:00