Commit Graph

4498 Commits

Author SHA1 Message Date
rlar bab59844ff subckt.c, emphasize instance_name translation
When translating an instance_name in a subcircuit instance 'xfoo'
undconditionally express the exception for 'x' instances, which is:
  x42 --> xsub.x42
but for all others the first char (the devtype) is prepended
  r42 --> r.xsub.r42
2017-03-22 21:25:45 +01:00
rlar e3b3cc502a subckt.c, translate(), emphasize instance_name translation 2017-03-22 21:25:45 +01:00
rlar a03a57c9f9 subckt.c, emphasize token separator insertion 2017-03-22 21:25:44 +01:00
rlar 6b78ed4367 subckt.c, devmodtranslate(), rewrite using bxx_ facility 2017-03-22 21:25:44 +01:00
rlar 4d69002144 subckt.c, translate(), rewrite using bxx facility 2017-03-22 21:25:39 +01:00
rlar 13b6daae2f subckt.c, translate(), cleanup while() loop 2017-03-22 20:53:22 +01:00
rlar a5dd826d19 subckt.c, finishLine(), #9/9, unconditionally transform instance name in i() expressions 2017-03-22 20:53:14 +01:00
rlar dc092c4ebc subckt.c, finishLine(), #8/9, fuse two if's with the same conditional expr 2017-03-22 20:52:10 +01:00
rlar 99d788cd12 subckt.c, finishLine(), #7/9, drop condition which is always true 2017-03-22 20:50:59 +01:00
rlar 253cf5b75a subckt.c, finishLine(), #6/9, drop condition which is always false 2017-03-22 20:50:38 +01:00
rlar ff4805c023 subckt.c, finishLine(), #5/9, move/duplicate code behind if/else into the if/else 2017-03-22 20:49:53 +01:00
rlar 735e7700ce subckt.c, finishline(), #4/9, reorder 2017-03-21 20:27:20 +01:00
rlar 8ab28df4ec subckt.c, finishline(), #3/9, here *src === '(' 2017-03-21 20:27:19 +01:00
rlar 5d3896c388 subckt.c, finishline(), #2/9, rewrite 2017-03-21 20:27:18 +01:00
rlar 0502e83fba subckt.c, finishline(), #1/9, trivial cleanup 2017-03-21 20:27:17 +01:00
rlar f12ff5464e inpptree.c, PTdifferentiate(), cleanup, use a #define
to express the expressions arguments more readable
2017-03-19 21:06:49 +01:00
rlar d696aa8781 niconv.c, NIconvTest(), NaN in CKTrhs denotes non-convergence
emit a warning message, but only if ft_ngdebug is set
2017-03-19 20:38:41 +01:00
rlar dc6e1cb064 use strchr() instead of strstr() 2017-03-19 20:24:49 +01:00
rlar bd50814677 drop 'depreciated_skip..()' 2017-03-19 20:13:11 +01:00
rlar 7a42510cc0 const'ify some 'skip'ing functions 2017-03-19 20:12:25 +01:00
rlar 45ad60b738 rename gettok_nc() --> nexttok(), and functionalize it 2017-03-19 20:11:01 +01:00
rlar f338dfe27e subckt.c, undo a bogous hunk from commit "beautify code", Dec 16 2011 2017-03-19 20:07:34 +01:00
rlar f9019a5576 devices/*/*ld.c, bug fix, missing assignment to 'model' 2017-03-19 19:47:25 +01:00
mhx efb8214945 fix spelling, "too much" versus "too many" 2017-03-18 20:49:28 +01:00
rlar 889aaebfd7 inp2m.c, #7/7, whitepace cleanup 2017-03-18 20:44:21 +01:00
rlar 576e522d38 inp2m.c, #6/7, reorder code 2017-03-18 20:44:13 +01:00
rlar 73e76fd88a inp2m.c, #5/7, drop nname[] 2017-03-18 20:44:04 +01:00
rlar 74145c53a6 inp2m.c, #4/7, move code up into the for loop 2017-03-18 20:43:55 +01:00
rlar 5a95487ad7 inp2m.c, #3/7, simpify, move code down into the for loop 2017-03-18 20:43:46 +01:00
rlar 788c8f7067 inp2m.c, #2/7, simplify, move code down into for loop 2017-03-18 20:43:38 +01:00
rlar bef3fd1dd5 inp2m.c, #1/7, insist on a valid model, don't default to something
Emit an error message when unable to identify a valid modelname token.

If a default model is needed, then create one explicitly:
  m1 1 2 3 4 mosdefault
  .model mosdefault mos1()
2017-03-18 20:43:19 +01:00
rlar 80ef8b308d inp2m.c, do not restrict binning to four nodes
until now, for unknown reasons,
  the search for binned modelnames was restricted to
  instances with less than five nodes.
2017-03-18 20:18:11 +01:00
rlar 50c0424225 inp2q.c, inp2m.c, plug a memory leak 2017-03-18 20:15:39 +01:00
Francesco Lannutti 43f24d6f22 rewrite cktsens.c in terms of the 'SMP' matrix interface 2017-03-17 18:22:36 +01:00
rlar fb4f462388 SMPnewMatrix(), add 'size' to the function arguments 2017-03-17 18:12:48 +01:00
rlar 07d89b5fcd devices/**, unify structure member variables, ptr -> Ptr 2017-03-17 17:42:58 +01:00
rlar a6cb9d0d88 cplsetup.c, polish VECTOR_ALLOC and MATRIX_ALLOC
explicitly express the object type to be allocated
2017-03-17 17:37:24 +01:00
rlar 8c09761e6b adms, polish autogen.sh and configure.ac
Allow to override the admsXml executable when invoking
  autogen.sh and configure.ac

ADMSXML=/foo/bar/baz/admsXml ./autogen.sh --adms
ADMSXML=/foo/bar/baz/admsXml ./configure --enable-adms
alternatively (and more advertised)
./configure ADMSXML=/foo/bar/baz/admsXml --enable-adms

The generated Makefiles remember the given path.
A relative path doesn't make sense of course.
2017-03-12 19:34:37 +01:00
rlar 3ea412e7cd bug fix for commit "inp2q.c, #17/23, rewrite, using a 'for' loop" 2017-03-12 17:57:27 +01:00
rlar c3a92e2bb3 xspice, cleanup, move typedef over to the other ones 2017-03-12 12:18:09 +01:00
rlar 987952e57e adms/admst/ngspiceMODULEsetup.c.xml, adms, implement DEVunsetup()
Which is needed to release the allocated circuit nodes in
  the corresponding adms generated DEVsetup() routine.
This is required when invoking CKTsetup() more than once
  without an intervening "reset".
2017-03-12 10:43:32 +01:00
rlar 6ccccbe7c4 adms/admst/ngspiceMODULE.c.xml, fix the port name table
which will be exported from the model code to "spice" via
  struct IFdevice.terms
  struct IFdevice.numNames
  struct IFdevice.termNames
2017-03-12 10:41:52 +01:00
rlar ba6955a1aa inp2q.c, sanitise optional ports processing
Tie ports 4 and up to ground, iff not connected.

Actually, I think the model's DEVsetup routine should do this business,
  we should pass -1 to denote the fact of being unconnected
2017-03-11 21:11:32 +01:00
rlar 3ce3424a9c inp2q.c, #23/23, whitespace 2017-03-11 20:27:48 +01:00
rlar 9ad1a3033b inp2q.c, #22/23, drop #ifdef, model_numnodes() does care about this 2017-03-11 20:27:48 +01:00
rlar ac77e5b020 inp2q.c, #21/23, drop nname[] and model, use local 'token' instead 2017-03-11 20:27:47 +01:00
rlar 25fa9a4454 inp2q.c, #20/23, insist on a valid model, don't default to something
If a default model is needed, then create one explicitly:
 q1 1 2 3 npndefault
 .model npndefault npn()

Note:
  This code was buggy anyway because the last token,
    which turned out not to be a valid model name,
    was silently swallowed.
  Thus PARSECALL() didn't parse the whole thing.
2017-03-11 20:27:47 +01:00
rlar b85a07c62c inp2q.c, #19/23, rewrite, move code into the 'for' loop 2017-03-11 20:27:47 +01:00
rlar b1ccdd2184 inp2q.c, #18/23, rewrite, combine two 'for' loop's 2017-03-11 20:27:47 +01:00
rlar 807115c145 inp2q.c, #17/23, rewrite, using a 'for' loop 2017-03-11 20:27:47 +01:00
rlar 03d3e2ea12 inp2q.c, #16/23, emit a message and give up, if we couldn't find the modelname token
Thats a functional change of ngspice.

So far we did cook up a "default" model when we didn't find a model token.
But this was buggy anyway, because in such cases we silently dropped
  a token from beeing processed by PARSECALL()
Now, we emit a message, and skip this line alltogether.
2017-03-11 20:27:47 +01:00
rlar 83fb9353ef inp2q.c, #15/23, rewrite, fall into an empty 'else' body when !ADMS 2017-03-11 20:27:47 +01:00
rlar 0bf0021a63 inp2q.c, #14/23, rewrite, assign model a bit later when recognised 2017-03-11 20:27:47 +01:00
rlar ef37e92338 inp2q.c, #13/23, move code down 2017-03-11 20:27:47 +01:00
rlar d2d9bffed0 inp2q.c, #12/23, move code down
Note; here i==4 and nodeflag still was 4
2017-03-11 20:27:46 +01:00
rlar c8b1d18289 inp2q.c, #11/23, move code down
Note: here i==3 and nodeflag==4
2017-03-11 20:27:46 +01:00
rlar c5ce68728f inp2q.c, #10/23, use i to prepare for a loop 2017-03-11 20:27:46 +01:00
rlar a21a2fd1b0 inp2q.c, #9/23, drop some TRACE code 2017-03-11 20:27:46 +01:00
rlar 16c00730e4 inp2q.c, #8/23, use a 'for' loop
Note: the range of nodeflag still is {4,5}
2017-03-11 20:27:46 +01:00
rlar ffc943dfff inp2q.c, #7/23, use an array 2017-03-11 20:27:46 +01:00
rlar c82a9dd87e inp2q.c, #6/23, transform boolean expression
Note: both values range over {4,5}
Thus, this is a functional invariant transformation
2017-03-11 20:27:46 +01:00
rlar 27d93293f9 inp2q.c, #5/23, rewrite using a new function model_numnodes() 2017-03-11 20:27:46 +01:00
rlar b0fe181f12 inp2q.c, #4/23, transform boolean expression 2017-03-11 20:27:45 +01:00
rlar 042916ae88 inp2q.c, #3/23, renumber 'nodeflag'
range over {4,5} instead of {0,1}
2017-03-11 20:27:45 +01:00
rlar 9abcaa88ae inp2q.c, #2/23, parenthesises and linewrap 2017-03-11 20:27:42 +01:00
rlar c37ce079eb inp2q.c, #1/23, rewrite, early 'exit' and 'return' 2017-03-11 19:58:58 +01:00
rlar 40ca7d6db3 inp2m.c, #9/9c, cleanup 2017-03-07 21:54:42 +01:00
rlar eecd940af8 inp2m.c, #8/9c, drop valid_numnodes() 2017-03-07 21:54:33 +01:00
rlar 6edd684020 inp2m.c, #7/9c, rewrite valid_numnodes() using model_numnodes() 2017-03-07 21:54:23 +01:00
rlar 09fbc0ee97 inp2m.c, #6/9c, now fix model_numnodes()
to prevent instance struct storage beeing overwritten.
2017-03-07 21:54:13 +01:00
rlar 54f6bd8d56 inp2m.c, #5/9c, rewrite 2017-03-07 21:54:00 +01:00
rlar 01b75e08ab inp2m.c, #4/9c, rewrite using model_numnodes() 2017-03-07 21:53:50 +01:00
rlar 396441e1ea inp2m.c, #3/9c, abstraction, introduce model_numnodes()
Note:
  This commit does not change behaviour in any way,
    yet one can instantly see some sickness now.
  Some of the models definitely do not have 7 nodes,
  Actually we would like to fetch the number of terminals from
    struct IFdevice, slot terms or slot numNames
  But it turns out several models publish bogus values.
  For example "B4SOI", which has 7 nodes, but claims to have 8
2017-03-07 21:53:37 +01:00
rlar 3bb68fbd7a inp2m.c, #2/9c, rewrite using GENnode[] 2017-03-07 21:53:26 +01:00
rlar 81b5278674 inp2m.c, #1/9c, rename 'nodeflag' 2017-03-07 21:53:16 +01:00
rlar c89e7c8818 inp2m.c, #15/15b, collapse remaining code into a for loop 2017-03-05 17:23:20 +01:00
rlar 85236c08e6 inp2m.c, #14/15b, cleanup, drop empty blocks 2017-03-05 17:23:12 +01:00
rlar 8fa3afa4ae inp2m.c, #13/15b, rewrite, move common code to the end 2017-03-05 17:23:07 +01:00
rlar 3d6a2e2422 inp2m.c, #12/15b, unify, add code which won't be executed at all
actually, this most certainly unveils a bug in the original code,
  lacking invocation of INPgetModBin() when optional extra nodes come
  into play.
2017-03-05 17:23:03 +01:00
rlar 99136a16e7 inp2m.c, #11/15b, rewrite, use array expressions 2017-03-05 17:22:57 +01:00
rlar 7eb6006461 inp2m.c, #10/15b, use 'nodeflag' instead of literal values 2017-03-05 17:22:51 +01:00
rlar 7ab64775b8 inp2m.c, #9/15b, rewrite, use arrays for 'node' and 'mname' 2017-03-05 17:22:40 +01:00
rlar 395939d2f4 inp2m.c, #8/15b, unify, add two invocations without any effect 2017-03-05 17:22:02 +01:00
rlar 55c9c3a73b inp2m.c, #7/15b, cleanup some braces 2017-03-05 17:22:01 +01:00
rlar 7a1b65f045 inp2m.c, #6/15b, abstraction, introduce valid_numnodes() 2017-03-05 17:21:59 +01:00
rlar cff00524c2 inp2m.c, #5/15b, express some facts in comments for the following commits 2017-03-05 16:47:51 +01:00
rlar 0a95935e46 inp2m.c, #4/15b, unify code slightly 2017-03-05 16:47:14 +01:00
rlar f7b3f40c70 inp2m.c, #3/15b, set 'save' a little sooner 2017-03-05 16:46:39 +01:00
rlar 40c632f8a7 inp2m.c, #2/15b, drop TRACE code 2017-03-05 16:45:40 +01:00
rlar f9213e3fe4 inp2m.c, #1/15b, drop comments 2017-03-05 16:45:23 +01:00
rlar 6fde9353ea inp2m.c, #7/7, whitespace 2017-03-04 22:09:15 +01:00
rlar 11572fe9d0 inp2m.c, #6/7, polish comments 2017-03-04 19:16:11 +01:00
rlar f66d37463f inp2m.c, #5/7, renumber `nodeflag' 2017-03-04 19:16:11 +01:00
rlar 6a275a6bd9 inp2m.c, #4/7, rewrite 2017-03-04 19:16:11 +01:00
rlar 08b798c485 inp2m.c, #3/7, line wraps 2017-03-04 19:16:11 +01:00
rlar f23876e30c inp2m.c, #2/7, cleanup braces 2017-03-04 19:16:10 +01:00
rlar 80f58e98a8 inp2m.c, #1/7, cleanup comparisons 2017-03-04 19:16:10 +01:00
rlar a2347a28d6 inp2*.c, cleanup, drop redundant initialisation
which can be dropped to the recently fixed INPgetMod(), see
  inpgmod.c, INPgetMod(), bug fix, missing 'model' assignment

Note:
  there have been INPgetMod() invocations without initialisation,
    causing access to non-initialised memory with the unfixed INPgetMod()
2017-03-04 19:15:55 +01:00
rlar 56b2342df3 inpgmod.c, #15/15, whitespace 2017-03-04 18:47:19 +01:00
rlar fccdea429c inpgmod.c, #14/15, cleanup 2017-03-04 18:45:27 +01:00
rlar 0245f304ff inpgmod.c, #13/15, shortcut #if CIDER 2017-03-04 18:45:26 +01:00
rlar a8ffd52c42 inpgmod.c, #12/15, cleanup braces 2017-03-04 18:45:24 +01:00
rlar 627ed98464 inpgmod.c, #11/15, reduce scope and rewrite 2017-03-04 18:11:20 +01:00
rlar 66976d492e inpgmod.c, #10/15, reorder 'extern's 2017-03-04 18:11:14 +01:00
rlar 19e36dd4cb inpgmod.c, #9/15, drop trailing whitespace in messages 2017-03-04 18:11:13 +01:00
rlar 370420d00e inpgmod.c, #8/15, commute boolean expressions 2017-03-04 18:11:11 +01:00
rlar 4842cd39a7 inpgmod.c, #7/15, reduce scope and rewrite 2017-03-04 18:11:06 +01:00
rlar 3212b18115 inpgmod.c, #6/15, simplify return of boolean expressions 2017-03-04 18:11:05 +01:00
rlar 6ee483ed1d inpgmod.c, #5/15, simplify tprintf usage 2017-03-04 18:11:03 +01:00
rlar b329fd56fc inpgmod.c, #4/15, unify 'return' statements 2017-03-04 18:11:02 +01:00
rlar cdc8fbd192 inpgmod.c, #3/15, line wraps 2017-03-04 18:11:00 +01:00
rlar b0537a7e96 inpgmod.c, #2/15, polish comments 2017-03-04 18:10:57 +01:00
rlar 6cdd306fea inpgmod.c, #1/15, cleanup comparisons 2017-03-04 18:10:50 +01:00
rlar 5905ed26fa inpgmod.c, INPgetMod(), bug fix, missing 'model' assignment
'model' is a return value, and must always be assigned to.
NULL denotes the error case.
2017-03-04 17:16:03 +01:00
rlar c3275241a5 ckti2nod.c, cktbindnode.c, minor cleanup 2017-03-04 16:05:08 +01:00
rlar 239780ebef cleanup, use an array for struct GENinstance.GENnode 2017-03-04 16:04:32 +01:00
h_vogt 4eb32ab566 com_sysinfo.c, add recent Windows versions to info printout 2017-02-22 19:36:38 +01:00
h_vogt 7c06cb2d12 don't mess with WINVER
not necessairy for current Windows versions
2017-02-22 19:36:37 +01:00
h_vogt 78ea2e1523 winmain.c, remove of fcn 'read' in Windows 2017-02-22 19:36:34 +01:00
h_vogt 31dca54eba input.c, don't use read() in __MINGW32__ 2017-02-22 19:28:22 +01:00
rlar d9e7ab2759 input.c, simplify #ifdef for the broken visual studio _read()
If we have _MSC_VER so we have either CONSOLE HAS_WINGUI or SHARED_MODULE
If we have SHARED_MODULE, then we most certainly don't need
  the unbuffered read(), which isn't unbuffered on _MSC_VER anyway.
Thus _MSC_VER is sufficient.
2017-02-22 19:26:48 +01:00
rlar 1475df2aa4 input.c, try to work around microsofts broken _read()
concerning the visual sudio variant of the "console" build.

Their _read() returns 0 when a linfeed is read.
Ironically the linefeed seems to be stored into the buffer nontheless.

Because the filehandle is in linebuffered mode anyway,
  (the read won't return up until the terminating newline is entered)
we can just as well use getc(), which doesn't seem to suffer
  from the same problem in their implementation.
2017-02-22 19:25:01 +01:00
rlar 2bafe98f17 winmain.c, etc, cleanup 2017-02-22 18:50:40 +01:00
rlar 90a205d36d winmain.c, etc, whitespace cleanup 2017-02-22 18:50:03 +01:00
rlar 3a9ace82bb winmain.c, etc, cleanup, rewrite obfuscated symbols
substitute in the whole source code:

  "__stream"       -->    "stream"
  "__pos"          -->    "pos"
  "__s"            -->    "s"
  "__n"            -->    "n"
  "__c"            -->    "c"
  "__format"       -->    "format"
  "__ptr"          -->    "ptr"
  "__size"         -->    "size"
  "__path"         -->    "path"
  "__mode"         -->    "mode"
  "__offset"       -->    "offset"
  "__whence"       -->    "whence"
  "__arglist"      -->    "arglist"
  "__buf"          -->    "buf"
  "__fp"           -->    "fp"

  "f_c_l_o_s_e"    -->    "win_x_fclose"
  "f_e_o_f"        -->    "win_x_feof"
  "f_e_r_r_o_r"    -->    "win_x_ferror"
  "f_f_l_u_s_h"    -->    "win_x_fflush"
  "fg_e_t_c"       -->    "win_x_fgetc"
  "f_g_e_t_p_o_s"  -->    "win_x_fgetpos"
  "fg_e_t_s"       -->    "win_x_fgets"
  "fp_r_i_n_t_f"   -->    "win_x_fprintf"
  "fp_u_t_c"       -->    "win_x_fputc"
  "fp_u_t_char"    -->    "win_x_fputchar"
  "fp_u_t_s"       -->    "win_x_fputs"
  "f_r_e_a_d"      -->    "win_x_fread"
  "f_r_e_o_p_e_n"  -->    "win_x_freopen"
  "fs_c_a_n_f"     -->    "win_x_fscanf"
  "f_s_e_e_k"      -->    "win_x_fseek"
  "f_s_e_t_p_o_s"  -->    "win_x_fsetpos"
  "f_t_e_l_l"      -->    "win_x_ftell"
  "f_w_r_i_t_e"    -->    "win_x_fwrite"
  "g_e_t_c"        -->    "win_x_getc"
  "g_e_t_char"     -->    "win_x_getchar"
  "g_e_t_s"        -->    "win_x_gets"
  "p_e_r_r_o_r"    -->    "win_x_perror"
  "p_r_i_n_t_f"    -->    "win_x_printf"
  "p_u_t_c"        -->    "win_x_putc"
  "p_u_t_char"     -->    "win_x_putchar"
  "p_u_t_s"        -->    "win_x_puts"
  "r_e_a_d"        -->    "win_x_read"
  "s_c_a_n_f"      -->    "win_x_scanf"
  "ung_e_t_c"      -->    "win_x_ungetc"
  "vfp_r_i_n_t_f"  -->    "win_x_vfprintf"
  "vfs_c_a_n_f"    -->    "win_x_vfscanf"
  "vp_r_i_n_t_f"   -->    "win_x_vprintf"
  "vs_c_a_n_f"     -->    "win_x_vscanf"
2017-02-10 19:50:42 +01:00
rlar 93d040703d winmain.c, drop artefact "fgetchar", cleanup/emphasise disabled "freopen" 2017-02-10 18:44:44 +01:00
rlar 69537a7899 winmain.c, fs_c_a_n_f(), bug fix, and cleanup "minimise" 2017-02-09 22:06:07 +01:00
rlar b5ccfca24b implement option 'indverbosity' to control check of inductive systems
default is 2, maximum verbosity

option indverbosity=1
  can be used to prevent check for
    "incomplete set of couplings"

option indverbosity=0
  can be used to avoid the check altogether

set indverbosity=INTEGER
  or
.option indverbosity=INTEGER
  works as well
2017-01-02 20:03:25 +01:00
rlar 05ee2e0182 check for missing and duplicate K instances 2017-01-02 20:03:17 +01:00
Francesco Lannutti bf542f64d8 check for viable mutual inductor coefficients 2017-01-02 20:00:38 +01:00
rlar fc32837b44 muttemp.c, allow negative inductance 2016-12-03 20:32:26 +01:00
rlar 681903492b devices/ind/*, whitespace 2016-12-03 20:32:08 +01:00
rlar 24aee8bf2a devices/ind/*, cleanup 2016-12-03 20:28:06 +01:00
Francesco Lannutti 0c5196e773 signal_handler.c, ft_sigintr(), exit after three SIGINT requests 2016-11-01 20:33:13 +01:00
rlar 4778b48592 inpcom.c, inp_fix_inst_calls_for_numparam(), drop redundant condition `num_subckt_params == 0'
found_mult_param() can already cope with that
2016-11-01 11:56:48 +01:00
dwarning 24dbbc393d remove the ancient nobjthack option to fake 3-terminal bjt's 2016-11-01 11:56:48 +01:00
dwarning 6827495a75 correct the comment for 5-terminal bjt's in get_number_terminals 2016-11-01 11:56:48 +01:00
dwarning 1e880deff4 allow 5-terminal bjt's in subckt expansion 2016-11-01 11:56:48 +01:00
rlar 52a1a58e14 wlist.c, wl_find(), avoid crash when `string' argument is NULL 2016-11-01 11:56:47 +01:00
h_vogt e4e24f74e6 breakp2.c, copynode(), prevent segfault if missing ')'
invoking 'save' with an erronous node, for example
  save v(thing
This can happen unexpectedly for long 'save' lines,
  which will silently be truncated.
2016-11-01 11:56:25 +01:00
rlar 7fc6609821 breakp2.c, settrace(), cleanup #2/2 2016-11-01 11:06:45 +01:00
rlar 004e49aabf breakp2.c, settrace(), cleanup #1/2
"save" command,
  reduce complexity from O(2) to O(1)
2016-11-01 11:05:59 +01:00
rlar 939555115d variables, cp_vprint, fix a memory leak 2016-10-15 15:57:59 +02:00
rlar bc325b17c5 variables, lift plot_cur->pl_env up to the invoker of cp_usrvars() 2016-10-15 15:57:54 +02:00
rlar e0db4aa665 variables, cp_vprint(), reorder for similarity 2016-10-15 15:57:52 +02:00
rlar a33876ff59 variables, variables, cp_getvar, rewrite 2016-10-15 15:57:50 +02:00
rlar 97c5e1567f variables, cp_getvar(), beware of retval == NULL 2016-10-15 15:57:48 +02:00
rlar 20b666e2d5 variables, clean up 2016-10-15 15:57:45 +02:00
rlar b2fb4e20bf variables, drop 'found', use identity found == (*p != NULL) 2016-10-15 15:57:43 +02:00
rlar 0784f76e51 variables, cleanup the for loops 2016-10-15 15:57:40 +02:00
rlar e39119c1c8 variables, use identity v == *p (and u == *p) 2016-10-15 15:57:38 +02:00
rlar d14ee053d7 variables, use a pointer to the anchor of the variable instead of 'lv' 2016-10-15 15:57:35 +02:00
rlar b13125ac84 variables, explicit processing of ft_curckt->ci_vars, drop uv2 2016-10-15 15:57:33 +02:00
rlar 7483ff9d8c variables, cp_remvar(), cleanup 2016-10-15 15:57:30 +02:00
rlar 485fba7548 variables, add some comments, add explicit case US_NOSIMVAR 2016-10-15 15:57:28 +02:00
rlar 97cdaae19f variables, cp_usrvars(), be more explicit
lift uv2 return value up to the invoker of cp_usrvars()
2016-10-15 15:57:26 +02:00
rlar 596599492e variables, drop redundant tfree(v->va_name), rely on free_struct_variable() 2016-10-15 15:57:23 +02:00
h_vogt fe24b3e6dd variable.c, remove memory leaks 2016-10-15 15:57:19 +02:00
rlar ac336c9920 options.c, cleanup inp_getoptsc() 2016-10-15 15:06:20 +02:00
h_vogt 6a0a6071a0 gettok_nc(&line): like gettok(), move pointer beyond next token in line, but without returning a string, without TMALLOC. Replaces constructs like tfree(gettok(&line)). 2016-10-15 15:06:20 +02:00
h_vogt c198f878d3 inpcom.c, bug fix in inp_chk_for_multi_in_vcvs() 2016-10-15 15:06:20 +02:00
rlar e89a5dd5b4 cktop.c, #14/14, cleanup 2016-10-15 15:06:20 +02:00
rlar b3a0f15c09 cktop.c, #13/14, cleanup 2016-10-15 15:06:20 +02:00
rlar 65596ce76c cktop.c, #12/14, cleanup 2016-10-15 15:06:20 +02:00
rlar 8d843ecec5 cktop.c, #11/14, cleanup 2016-10-15 15:06:19 +02:00
rlar 64fadb90cc cktop.c, #10/14, whitespace 2016-10-15 15:06:19 +02:00
rlar 3041936663 cktop.c, #9/14, shortcut 2016-10-15 15:06:19 +02:00
rlar a446d1e145 cktop.c, #8/14, early leave 2016-10-15 15:06:19 +02:00
rlar 0482f57bb7 cktop.c, #7/14, invert a trailing "if" 2016-10-15 15:06:19 +02:00
rlar 761e556ac2 cktop.c, #6/14, simplify loop termination 2016-10-15 15:06:19 +02:00
rlar eea4d016ec cktop.c, #5/14, simplify loop termination 2016-10-15 15:06:19 +02:00
rlar e2f4c2ec9f cktop.c, #4/14, shrink scope of some locals 2016-10-15 15:06:19 +02:00
rlar eb1c8e92bc cktop.c, #3/14, combine two `if' bodies 2016-10-15 15:06:19 +02:00
rlar ec1e1114e8 cktop.c, #2/14, remove a redundant assignment 2016-10-15 15:06:18 +02:00
rlar f0e3bc0025 cktop.c, #1/14, cleanup 2016-10-15 15:06:18 +02:00
rlar b4119b94e3 xspice, cm.h, swallow warnings 2016-10-15 15:06:18 +02:00
rlar 99e864b6bc graf.c, drop an excess cast 2016-10-15 15:06:18 +02:00
rlar 9c2733db48 macros.h, cleanup SGN() macro 2016-10-15 15:06:18 +02:00
rlar 034188cb43 dctrcurv.c, simplify 2016-10-15 15:06:18 +02:00
rlar 4c2e4d0c2f drop SIGN(), SIGN(1.0,x) --> SGN(x) 2016-10-15 15:06:18 +02:00
rlar ea5ad6b0e7 drop DC_ABS() and FTEcabs() 2016-10-15 15:06:18 +02:00
rlar 15f2c67968 use M_PI 2016-10-15 15:06:17 +02:00
rlar 9dcf62e1cd drop home grown mathematical constants 2016-10-15 15:06:17 +02:00
rlar cbf31c50c2 multi_line.h, drop some excess macros 2016-10-15 15:06:17 +02:00
rlar 8b98b9b350 use 'fabs()' 2016-10-15 15:06:17 +02:00
rlar aca1b3a374 use 'abs()' 2016-10-15 15:06:17 +02:00
h_vogt ae80067fef cmath2.c, new function stddev to calculate the standard deviation of all elements of a vector 2016-10-15 15:06:17 +02:00
h_vogt 594db31ebc cmath2.c, whitespace cleanup 2016-10-15 15:06:17 +02:00
rlar b8b6677b85 cmath2.c, drop some excess NG_IGNORE() 2016-10-15 15:06:17 +02:00
h_vogt 2ab3b82696 cmath2.c, cleanup 2016-10-15 15:06:17 +02:00
rlar 2e35329678 cmath2.c, cleanup min/max operations 2016-10-15 15:06:16 +02:00
h_vogt 0d50547ac1 commands.c: allow 10000 tokens for 'echo' and 'wrdata' 2016-10-15 15:06:16 +02:00
rlar 0d1b4d54c0 **/Makefile.am, fix "make dist" 2016-10-15 15:06:16 +02:00
rlar ceed247131 src/Makefile.am, bug #327, "fix install path for include files"
install in $includedir/ngspice
which is by default $prefix/include/ngspice

Thanks to Maciej Suminski who reported the issue in
  #327 Header files are installed  in /usr/share/ngspice/include/ngspice
  https://sourceforge.net/p/ngspice/bugs/327/
2016-10-15 15:06:16 +02:00
h_vogt 6f609abc27 x11.c, fix bug #330, rename csh variable font -> xfont
reported by graahnul.grom in
  #330 setting xfont in .spiceinit has no effect
  https://sourceforge.net/p/ngspice/bugs/330/
2016-10-15 15:06:16 +02:00
rlar 30be67b960 analysis/sensaskq.c, fix ancient bug, setting instead of asking 'deftol'
This is of no consequence,
  neither 'deftol' nor 'SENS_DEFTOL' is actually used somewhere.
2016-10-15 15:06:16 +02:00
rlar d32968bdaa variable.h, reduce visibility of auxiliary struct xxx to variable.c 2016-10-15 15:06:16 +02:00
rlar b302dbe975 inp.c, cleanup using new function `line_nconc()' 2016-10-15 15:06:16 +02:00
h_vogt c28c5d307a inp.c, remove bug with handling of options: options stemming from a command file are kept, options from sourced circuit are removed with ckt 2016-10-15 15:06:03 +02:00
h_vogt 81e1e6fa32 inp.c, inpcom.c, treat files starting with '*ng_script' as command files 2016-10-15 12:59:16 +02:00
h_vogt 6535558f9e inp.c, plug memory leak 2016-10-15 12:59:13 +02:00
rlar ebbcc2d982 frontend/inpcom.c, inp_expand_macro_in_str(), shrink scope of some locals 2016-10-15 12:59:01 +02:00
rlar 6ee2088e67 frontend/inpcom.c, expand_section_ref(), rename local variables 2016-10-15 12:58:59 +02:00
rlar 00e571dc00 frontend/inpcom.c, declare search_identifier() non static 2016-10-15 12:58:56 +02:00
h_vogt c0d5d054ab gnuplot.c, ft_gnuplot(), suppress generating the .eps and .png file
when the given output file name starts with "np_"
2016-10-15 12:58:29 +02:00
h_vogt 42ac9a2859 gnuplot.c, ft_writesimple(), upgrade command 'wrdata'
- remove a bug to allow printing of vectors with differing scale lengths
- add option 'numdgt' to specify the width of the numbers printed
- add variable wr_singlescale
  use 'set wr_singlescale' to print the scale vector only once
  (vectors need to have equal scale lengths)
- add variable wr_vecnames
  use 'set wr_vecnames' to print the vector names to the first row
2016-10-15 12:57:46 +02:00
h_vogt fef2e1439d gnuplot.c, ft_writesimple(), command 'wrdata', use the given filename literally 2016-10-15 12:43:19 +02:00
h_vogt bbd7edad72 xspice, two new commands, edisplay and eprvcd
'edisplay' will show a list of all event nodes
'eprvcd' will print all event nodes in vcd format

usage: eprvcd a0 a1 a2 b0 b1 b2 clk > myvcd.vcd
2016-08-15 19:24:11 +02:00
h_vogt 71e02fd0a0 com_linarize(), support load'ed vectors
if there is no circuit loaded then command 'linearize'
  will take time data from transient analysis vector.
(tstart, tstop, tstep)
2016-08-15 11:32:01 +02:00
h_vogt 9f62057973 introduce include file "ngspice/randnumb.h" 2016-08-15 11:30:26 +02:00
rlar c4cd2270ed com_history.c, static declaration for 'cp_hprint()' 2016-08-15 11:27:15 +02:00
rlar 6156ebd930 fteext.h, remove prototype for nonexistant 'zigset()' 2016-08-15 11:27:03 +02:00
rlar 78efbcbff8 dctran.c, remove unused variable 'del_before' 2016-08-15 11:27:00 +02:00
h_vogt 33b11f9598 comments improved 2016-08-15 11:26:55 +02:00
h_vogt 27053b877f devices/asrc, remove memory leak 2016-07-30 21:14:29 +02:00
rlar b92b25950e devices/asrc, rewrite asrc_vals, asrc_derivs allocation 2016-07-30 21:10:36 +02:00
rlar 4d79617cf1 spicelib/devcies/*dest.c, rewrite DEVdestroy() functions 2016-07-30 21:10:32 +02:00
rlar d9e0ae3504 parser/glob.c, bug fix, access to already freed memory 2016-07-30 21:04:11 +02:00
rlar a5817192e1 ni/niiter.c, #5/5, whitespace 2016-07-30 21:03:55 +02:00
rlar 266e6da24b ni/niiter.c, #4/5, cleanup 2016-07-30 21:03:49 +02:00
rlar dda415a0e3 ni/niiter.c, #3/5, use `copy()' 2016-07-30 21:03:29 +02:00
rlar 86bb88b546 ni/niiter.c, #2/5, reduce scope 2016-07-30 21:03:19 +02:00
rlar 2978621931 ni/niiter.c, #1/5, cleanup 2016-07-30 21:03:00 +02:00
rlar 3715947529 dctrcurv.c, #7/7, cleanup 2016-07-30 21:02:35 +02:00
rlar 1cdd68f787 dctrcurv.c, #6/7, use the fact 'i' being 0 2016-07-30 21:02:31 +02:00
rlar 9b75fcb9ce dctrcurv.c, #5/7, cleanup while loop 2016-07-30 21:02:26 +02:00
rlar 437bc36a8f dctrcurv.c, #4/7, polish comments 2016-07-30 21:02:21 +02:00
rlar f77485b081 dctrcurv.c, #3/7, express the value of 'i' more verbosely 2016-07-30 21:02:17 +02:00
rlar b43a98e0c9 dctrcurv.c, #2/7, use 'j' here for simplicity 2016-07-30 21:02:12 +02:00
rlar 8baf4f435f dctrcurv.c, #1/7, whitespace cleanup 2016-07-30 21:02:07 +02:00
rlar 5b42d09618 unify, use memcpy for CKTstate copy operations 2016-07-30 21:00:29 +02:00
rlar d298d5cc2f use memset() instead of deprecated bzero() 2016-07-30 20:58:33 +02:00
rlar 141ed61ec8 use memcpy() instead of deprecated bcopy() 2016-07-30 20:58:19 +02:00
h_vogt 9ab2960e87 frontend/measure.c, remove memory leak 2016-07-30 20:56:32 +02:00
h_vogt 4047a794e7 bsim3v3.24: add OMP support
model is still used by commercial (e.g. X-fab) libraries
2016-07-30 20:18:07 +02:00
h_vogt 151fed6084 bsim3v3.24: add model parameter lmlt (Channel length scaling) 2016-07-30 20:18:01 +02:00
h_vogt af53cbb415 bsim4, bug fix (when USE_OMP), uninitialised variable `here->BSIM4_27' 2016-07-30 20:00:11 +02:00
h_vogt f22e8dd970 b4v5dest.c, b4v6dest.c, remove memory leak 2016-07-30 12:19:15 +02:00
h_vogt f997203c6d add OMP support to BSIM4.5 model 2016-07-30 12:19:05 +02:00
h_vogt c74ad9b3ee control.c, remove memory leaks 2016-07-28 21:25:05 +02:00
rlar c0513ed573 inp.c, rewrite inp_savecurrents() 2016-07-26 20:18:33 +02:00
h_vogt 893157b11f inp.c, inp_savecurrents(), remove a memory leak 2016-07-20 20:02:21 +02:00
h_vogt 29cb659235 runcoms2.c, com_remcirc(), remove a memory leak 2016-07-20 20:02:18 +02:00
h_vogt da92a2483e inpcom.c, inp_expand_macro_in_str(), remove a memory leak 2016-07-20 20:02:16 +02:00
rlar 88ee1f9196 com_option.c, com_option(), cleanup, rename variables 2016-07-20 20:02:14 +02:00
h_vogt fa9eb77c0a com_option.c, com_option(), remove a memory leak 2016-07-20 20:02:12 +02:00
h_vogt 3c2c6e8cde vectors.c, vec_get(), remove a memory leak 2016-07-20 20:02:10 +02:00
h_vogt 1ef05dc51b inpcom.c, free_function(), remove a memory leak 2016-07-20 18:09:38 +02:00
h_vogt fca8ab3146 cmath4.c, cx_deriv(), remove a memory leak 2016-07-20 18:09:18 +02:00
rlar 51fa006c63 INPparseNumMod(), #14/14, whitespace cleanup 2016-07-17 18:28:23 +02:00
rlar 0b1c79172c INPparseNumMod(), #13/14, invert 'if' statement 2016-07-17 18:26:48 +02:00
rlar aa5afccf15 INPparseNumMod(), #12/14, use 'info' instead of 'lastType'
to signify having read a cardName
2016-07-17 18:26:41 +02:00
rlar c4d39d66de INPparseNumMod(), #11/14, remove unused 'cardType' 2016-07-17 18:26:27 +02:00
rlar 521fd16c11 INPparseNumMod(), #10/14, don't fall through into the 'default:'
instead, duplicate the code of the 'default:' and break
2016-07-17 18:26:21 +02:00
rlar 6b305744d9 INPparseNumMod(), #9/14, invert the 'if' statement 2016-07-17 18:26:16 +02:00
rlar 1483e2df9a INPparseNumMod(), #8/14, move the 'default:' body out of the 'switch'
this body is inevitable, as there is no other break out of the 'switch'
2016-07-17 18:25:44 +02:00
rlar 1a9bcf6b33 INPparseNumMod(), #7/14, use 'lastType' instead of the identical 'cardType'
there is no further access to cardType
thus can drop the reduntandant assignments to cardType
2016-07-17 18:25:41 +02:00
rlar 110f16b361 INPparseNumMod(), #6/14, again, assign 'lastType' sooner
in the block in-between those two positions
  there is no access to lastType
  there is no 'continue'
  there is no 'break' out of the enclosing switch
thus the assignment is inevitable

there is one position where cardType is modified,
  need to assign to lastType there too to keep it in sync
2016-07-17 18:25:29 +02:00
rlar 18d6679c02 INPparseNumMod(), #5/14, use 'lastType' instead of the identical 'cardType' 2016-07-17 18:25:26 +02:00
rlar 11f3907139 INPparseNumMod(), #4/14, assign 'lastType' sooner
in the block in-between those two positions
  there is no access to lastType or cardType
  there is no 'continue'
  there is no 'break' out of the enclosing 'switch'
thus the assignment is inevitable
2016-07-17 18:25:20 +02:00
rlar 7862a4f59f INPparseNumMod(), #3/14, `continue' the loop instead of
'break'ing out of the `switch'

this is equivalent because the 'switch' is the last statement in the loop body
2016-07-17 18:24:35 +02:00
rlar c1c7b5305e INPparseNumMod(), #2/14, transform the `while' loop into a `for' loop
there was no 'continue' for this loop
there was no 'break' out of this loop
there was no assignment to txtCard, thus txtCard can't be NULL
2016-07-17 18:24:30 +02:00
rlar e824cbd193 INPparseNumMod(), #1/14, return sooner
setting txtCard to 0 and cardType to E_MISSING (which is < 0)
caused the following `if (cardType >= 0)' to be skipped
  and then broke out of the enclosing 'while' loop
in this case, there where no other statements executed
2016-07-17 18:24:20 +02:00
h_vogt 77380219d8 breakp2.c, prevent crash in `save' command if no circuit is loaded 2016-07-17 18:12:53 +02:00
rlar 34f8841805 cpl/cplsetup.c, cleanup 2016-07-17 11:49:42 +02:00
h_vogt 7ea4e99842 numparam/general.h, remove redundant memory management functions 2016-07-17 11:45:22 +02:00
rlar a6f530b95c USE_OMP, cleanup initialisation of local variable `model' 2016-07-17 11:36:47 +02:00
rlar 5b2fa579f1 USE_OMP, rename variables, `good' --> `error'
to express the actual meaning of these variables
2016-07-17 11:35:58 +02:00
rlar fddbb7d9eb USE_OMP, fix type of local variables `idx' and `InstCount' 2016-07-17 11:32:56 +02:00
rlar 994bec7859 declare free() / realloc() arguments `const void *'
to avoid extra casting when freeing `const' strings
2016-07-17 11:19:34 +02:00
h_vogt 6a7895fbc1 frontend/options.c, fix memory leak (pl_name, pl_title, pl_date) 2016-07-17 11:12:24 +02:00
rlar 1c565a1a89 frontend/rawfile.c, raw_write(), fix memory ownership for pl_title and pl_date
avoid assigning cloned strings
  to pl_date/pl_title fields of multiple plots

avoid excess allocation
2016-07-17 11:12:22 +02:00
h_vogt 236b99f2b1 cktdest.c, xspice, set g_mif_info.ckt = NULL
when destroying/remcirc'ing a circuit

to avoid a crash in EVTfindvec()
  which might try to access fields in the destroyed CKTcircuit

( excercise: tran, remcirc, load rawfile, plot something_nonexistant )
2016-07-17 10:57:49 +02:00
h_vogt f66e76fb5f implement option 'xmu' to control trapezoidal integration method
default is 0.5

option xmu=0.49
  can be used to add some damping to reduce trap ringing

set xmu=0.49
  or
.option xmu=0.49
  works as well
2016-07-16 15:21:27 +02:00
Francesco Lannutti ef0dcfe5f2 avoid bison dependency `version >= 2.7' 2016-07-09 20:58:17 +02:00
Francesco Lannutti 99a20162d5 bsimsoi/b4soiset.c, bug fix, don't allocate `B4SOIEbPtr' twice 2016-06-14 19:38:43 +02:00
h_vogt b14e7cb040 sharedspice.c, remove meory leaks 2016-05-28 16:52:50 +02:00
rlar 4c60783e4d xspice, implement EVTdest() to fix xspice memory leaks 2016-05-07 15:50:34 +02:00
rlar af93d79675 ngspice/mifparse.h, ngspice/mifcmdat.t, reduce scope of these include files 2016-05-07 15:44:50 +02:00
rlar 97cc400efb ngspice/evt.h, ngspice/enh.t, reduce scope of these include files 2016-05-07 15:36:43 +02:00
h_vogt efcd8584f1 error.c, ft_sperror(), memory leak, free memory returned by `if_errstring()' 2016-04-03 18:50:28 +02:00
rlar 5611ca4f10 harmonise all incarnations of `if_errstring()' to return malloced memory 2016-04-03 18:44:48 +02:00
h_vogt 50bd157349 parser/inppas3.c, fix memory leak 2016-04-03 11:26:41 +02:00
h_vogt ffee2a6b5f parser/inppas3.c, fix memory ownership
`INPgetTok()' creates `nodename' which is then committed to `INPtermInsert()'
2016-04-03 11:26:40 +02:00
rlar ddf01dbe3f parser/inppas3.c, shrink scope of local variable `name' 2016-04-03 11:26:38 +02:00
rlar cff23b8d38 fix commit "ngspice.h, cm.h, cleanup NAN defines" 2016-04-02 18:01:17 +02:00
rlar d58fd306f3 input.c, inchar(), cleanup 2016-04-01 20:05:37 +02:00
rlar 1aab43dd1a xspice/cmpp/*.l, flex file cleanup and use %option noinput, nounput 2016-04-01 19:36:51 +02:00
h_vogt 9154ab103a inp2dot.c, dot_tran(), fix a memory leak 2016-04-01 19:36:36 +02:00
h_vogt 0443a2690c glob.c, brac1(), fix a memory leak 2016-04-01 18:25:10 +02:00
h_vogt 841f2846fe plotit.c, properly free a reversed wordlist 2016-04-01 18:05:40 +02:00
rlar 5299f8cdb6 ngspice.h, cm.h, cleanup NAN defines 2016-04-01 18:03:38 +02:00
h_vogt 8480898399 frontend/variable.c, remove memory leak 2016-04-01 17:40:17 +02:00
rlar ac726f0cf4 struct variable, #18/18, clean 2016-04-01 17:39:53 +02:00
rlar a6cd5eea45 struct variable, #17/18, clean 2016-04-01 17:39:22 +02:00
rlar af81e6810e struct variable, #16/18, drop intermediate variable 2016-04-01 17:37:27 +02:00
rlar 212121d373 struct variable, #15/18, rewrite in terms of `var_alloc_xxx()' (do-3) 2016-04-01 17:36:57 +02:00
rlar 57f56f53a6 struct variable, #14/18, introduce `var_alloc_xxx()' 2016-04-01 17:34:55 +02:00
rlar bf5acda362 struct variable, #13/18, reorder var_alloc() invocation 2016-04-01 17:34:25 +02:00
rlar eb53b4d703 struct variable, #12/18, rewrite in terms of `var_alloc()' (do-2) 2016-04-01 17:34:03 +02:00
rlar 8691368a81 struct variable, #11/18, introduce `var_alloc()' 2016-04-01 17:32:36 +02:00
rlar 68042b3d1b struct variable, #10/18, rewrite in terms of `var_set_xxx()' (do-1) 2016-04-01 17:32:12 +02:00
rlar bbbd531d8d struct variable, #9/18, introduce `var_set_xxx()' 2016-04-01 17:29:58 +02:00
rlar cc3a124120 struct variable, #8/18, collect struct variable operations 2016-04-01 17:29:36 +02:00
rlar 41b5f17906 struct variable, #7/18, reorder struct variable operations 2016-04-01 17:28:57 +02:00
rlar f4f0ae3f61 struct variable, #6/18, collect struct variable operations 2016-04-01 17:27:29 +02:00
rlar e0ae0bcff1 struct variable, #5/18, reorder struct variable initialisation 2016-04-01 17:26:51 +02:00
rlar b748f2d6d0 struct variable, #4/18, shrink scope of local variables 2016-04-01 17:26:22 +02:00
rlar 830b4f443f struct variable, #3/18, cleanup struct variable field initialisation 2016-04-01 17:25:46 +02:00
rlar 01a0449420 struct variable, #2/18, reorder struct variable field initialisation 2016-04-01 17:24:50 +02:00
rlar cb4c07b7f0 struct variable, #1/18, cleanup for loops 2016-04-01 17:23:14 +02:00
rlar a9aca09320 frontend/ftesopt.c, getFTEstat(), collect struct variable operations 2016-04-01 17:22:13 +02:00
rlar cdf2b69a38 frontend/ftesopt.c, getFTEstat(), prepare for rewrite 2016-04-01 17:22:12 +02:00
rlar 1d15f6bfce fix struct variable initialisation 2016-04-01 17:22:07 +02:00
rlar 698cbe20dd frontend/options.c, fix `cp_enqvar(char *word)', missing `copy()' 2016-04-01 17:22:05 +02:00
rlar 81bf9fb9ba frontend/ftesopt.c, ft_getstat(), cleanup 2016-04-01 17:22:02 +02:00
rlar 371bbf487b frontend/ftesopt.c, getFTEstat(), include struct variable initialisation 2016-04-01 17:22:00 +02:00
rlar 53531da715 frontend/ftesopt.c, getFTEstat(), add `next' to the function arguments 2016-04-01 17:21:59 +02:00
rlar a98dde245c frontend/ftesopt.c, shrink scope of local variables 2016-04-01 17:21:58 +02:00
rlar 413ae5784c frontend/ftesopt.c, ft_getstat(), cleanup for loop variable consing 2016-04-01 17:21:56 +02:00
rlar 44de319c34 frontend/ftesopt.c, getFTEstat(), cleanup signature 2016-04-01 17:21:55 +02:00
rlar a8d96c0d17 frontend/ftesopt.c, getFTEstat(), cleanup signature 2016-04-01 17:21:53 +02:00
h_vogt e60f2f63e1 frontend/cpitf.c, cp_istrue(), cleanup comments 2016-03-26 22:48:49 +01:00
h_vogt f52a12a95a cktsetup.c, invoke `SetAnalyse("Device Setup",...)' only once 2016-03-26 22:24:54 +01:00
h_vogt 494a58cca9 main.c, add variable 'batchmode'
which is set when command line option `-b' is active
2016-03-26 22:14:11 +01:00
h_vogt 8b709a394f cpitf.c, cp_istrue(), avoid surplus Warning Message when an `if' condition expands to nothing
When in expression
  if $var ...
the variable `var' was undefined, then
ngspice printed a surplus warning message
>  Warning: NULL arithmetic expression
in addition to the error message
>  Error: var: no such variable.

ngspice continues to process the conditional construct
  and evaluates the condition as "FALSE"
2016-03-26 21:58:39 +01:00
rlar 059f2b6c0d fix garbage collection of vectors returned by ft_evaluate() 2016-03-26 18:48:50 +01:00
rlar 9652cc46c8 plotting/graf.c, cleanup 2016-03-23 17:04:55 +01:00
h_vogt c332b33d23 parser/lexical.c, #10/10, add some comments 2016-03-22 15:51:58 +01:00
rlar a551f87652 parser/lexical.c, #9/10, use dynamic buffer allocation 2016-03-22 15:51:48 +01:00
rlar 2d480637c9 parser/lexical.c, #8/10, use a struct to store the buffer state 2016-03-22 15:51:36 +01:00
rlar 615b8a4598 parser/lexical.c, #7/10, use `copy_substring()' 2016-03-22 15:51:13 +01:00
rlar 9a7e915a9f parser/lexical.c, #6/10, cleanup 2016-03-22 15:51:04 +01:00
rlar 8f09c35c5a parser/lexical.c, #5/10, change buf/linebuf usage
properly '\0' terminate the buffers where needed
instead of an unspecific bzero() invocation
2016-03-22 15:50:52 +01:00
rlar b7f3dbc0fe parser/lexical.c, #4/10, rename `cw' --> `wlist_tail' 2016-03-22 15:50:48 +01:00
rlar 4cabf8fa6c parser/lexical.c, #3/10, move the `wlist' and `cw' resetting
to the label `nloop'
2016-03-22 15:50:09 +01:00
rlar a0f5111436 parser/lexical.c, #2/10, move the `wlist' and `cw' resetting
nearer to the `goto nloop'
2016-03-22 15:50:03 +01:00
rlar a2af93685f parser/lexical.c, #1/10, this condition is allways true 2016-03-22 15:26:33 +01:00
rlar 521db88eff frontend/rawfile.c, use "stringskip.h" 2016-03-22 15:26:28 +01:00
rlar f3e61b838e frontend/inpcom.c, use "stringskip.h" 2016-03-22 15:26:21 +01:00
rlar 5e04924890 cleanup `skip_ws()' usage 2016-03-22 15:26:11 +01:00
rlar b1d8b99018 skip-ws, #6/6, rename to match inpcom.c 2016-03-22 15:26:10 +01:00
rlar 22875d056b skip-ws, #5/6, use functional style 2016-03-22 15:26:09 +01:00
rlar d12679fccd skip-ws, #4/6, drop `TEMPORARY_SKIP_WS_X0'
use TEMPORARY_SKIP_WS_X1 instead of TEMPORARY_SKIP_WS_X0
2016-03-22 15:26:08 +01:00
rlar a86f2068c8 skip-ws, #3/6, use TEMPORARY macros, obj-invariant 2016-03-22 15:26:06 +01:00
rlar 6d1171ad6f skip-ws, #2/6, introduce "ngspice/stringskip.h"
with some temporary macros to skip whitespace
2016-03-22 15:26:05 +01:00
rlar 1ad65120d5 skip-ws, #1/6, prepare for rewrite, obj-invariant 2016-03-22 15:26:04 +01:00
rlar deeb06b063 inpcom.c, inline and rename the `skip' family, depreciate some of them 2016-03-22 15:26:02 +01:00
rlar 88983b079b numparam/spicenum.c, prevent memory access beyond end of string 2016-03-22 15:25:47 +01:00
rlar 1578348fdf frontend/inp.c, inp_evaluate_temper(), fix memory hole 2016-03-22 15:25:43 +01:00