Commit Graph

922 Commits

Author SHA1 Message Date
rlar 149345068f update bison generated files 2012-04-05 21:33:54 +02:00
rlar 15bda2b9e0 fix memory leak in PPparse() 2012-04-05 21:30:05 +02:00
rlar 76336fa21b fix memory leak in cp_vset() 2012-04-05 21:25:04 +02:00
h_vogt 8b780fa42b bug_fix: R,L,C instantiations, tc1, tc2, numbers followed by `:'
Ternary function was not recognized in R, C, or L lines
  if no voltage or current node was part of the expression,
  because then B-Source is not used.
In these cases now inp_fix_ternary_operator_str() is called explicitly.

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

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

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

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

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

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

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

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

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

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

thanks to Ivan Riis Nielsen for the report in Message
  [Ngspice-devel] parsing problem (ngspice-24 tarball)
2012-03-24 18:29:36 +01:00
h_vogt 787a6a3581 inp_fix_subckt(): allow spaces in an expression which acts as a parameter 2012-03-17 16:56:30 +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 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 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
rlar d0f5ad49d1 make use of TMALLOC() 2012-02-09 20:46:12 +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 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 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 f285dd0aa8 use strchr() instead of index() 2012-02-06 17:46:33 +00:00
rlar 467c9381a6 fix printf/scanf format strings to match `unsigned long long' arguments 2012-01-11 19:12:15 +00:00
h_vogt 757bf30cc9 bug during loading ascii rawfile removed 2012-01-09 22:44:40 +00:00
rlar a74eba86c5 update bison generated files 2012-01-08 18:26:33 +00:00
rlar 4b9eca2b38 bug fix, broken vdb() vph() 2012-01-08 18:22:07 +00:00
rlar f17b14102c bug fix, incorrect '%le' printf format specifier 2012-01-08 10:26:36 +00:00
rlar 33764b1f91 cleanup, muffle compiler warning 2012-01-07 14:48:55 +00:00
h_vogt 393da34c66 undo change from 1.1.12: no reset enforcement 2012-01-03 20:59:46 +00:00
rlar 29442c91c8 cleanup, muffle compiler warning 2012-01-02 19:43:02 +00:00
rlar 92063d602a controlled_exit() shall not block waiting for a keyboard press 2012-01-02 12:52:56 +00:00
rlar 598238f46a conditionally compile PSS analysis 2012-01-02 12:31:22 +00:00
h_vogt 2784ae5aa9 enforce reset 2012-01-01 16:21:49 +00:00
h_vogt d2f9faf66b .lib handling 2012-01-01 13:58:03 +00:00
h_vogt 4d35b4ce7b partially undo commit 2011-12-27 Holger Vogt 2011-12-30 19:53:26 +00:00
rlar f1b516f1b1 cleanup, drop `s_lower' 2011-12-30 18:08:48 +00:00
rlar 62d3847c8a cleanup scope of `y' and `z' 2011-12-30 17:50:17 +00:00