Commit Graph

318 Commits

Author SHA1 Message Date
rlar 9b45dbbbba devices/**/*defs*.h, use a struct GENmodule slot 2018-01-09 19:42:53 +01:00
rlar e2175232a9 mif/mifmdelete.c, cleanup
rewrite in terms of GENmodule and GENinstance
2018-01-07 19:54:44 +01:00
rlar 703cbf8bd8 mif/mifdelete.c, introduce MIFdelete_instance()
which is responsible for the generic part of the business.
(in terms of GENmodel, GENinstance)
2018-01-07 19:39:43 +01:00
rlar 9282dbdb8c mif/mifdelete.c, fix commit: xspice, implement "CALLBACK"
MIFdelete() might be called with third arg being NULL,
  searching for the instance to be deleted by name only.
need to invoke the callback in this case too.
2018-01-07 19:38:39 +01:00
rlar a6a3d884ee fix commit "mifsetup.c, MIFunsetup(), #1/3 delete broken code"
which silently dropped the
  here->initialized = MIF_FALSE
aspect of the MIFunsetup() function

which caused segfault in testcase
  examples/memristor/memristor_x.sp
2017-06-06 16:42:32 +02:00
Tim Edwards fd79197fc0 xspice/icm/digital, introduce d_genlut
a digital n-input x m-output look-up table gate
2017-05-01 22:11:24 +02:00
Tim Edwards 8ae3b84c7c xspice/icm/digital, introduce d_lut
a digital n-input look-up table gate
2017-05-01 22:11:04 +02:00
h_vogt 37fe5308d3 xspice/icm/table, introduce table2d/table3d
which allows to model devices based upon linear interpolation
2017-04-30 17:00:15 +02:00
rlar 926ba4baaf xspice/icm/analog/file_source/cfunc.mod, use CALLBACK
to free() locally allocated memory and fclose() a local filestream
2017-04-12 20:14:47 +02:00
rlar 58874cc65e xspice, implement "CALLBACK"
Allow to register a callback function in the cfunc.mod files,
  which will be invoked in MIFdestroy.
Usefull to "free" memory which has been allocated locally in a cfunc.mod file.
2017-04-12 20:02:35 +02:00
mhx 5f0f54761a xspice, analog/file_source, bug fix
The source code did not consider the possibility
  of more than one "tran" analysis invocations.

see "Bewildering problem with filesource block while sweeping"
https://sourceforge.net/p/ngspice/discussion/133842/thread/52949e23/
2017-04-12 20:01:14 +02:00
rlar 4872580221 mifsetup.c, MIFunsetup(), #3/3 now invoke CKTdltNNum() 2017-04-12 18:41:07 +02:00
rlar 9154f83c37 mifsetup.c, MIFunsetup(), #2/3 copy paste from MIFsetup() 2017-04-12 18:38:26 +02:00
rlar c68a0313bd mifsetup.c, MIFunsetup(), #1/3 delete broken code 2017-04-12 18:38:25 +02:00
rlar dc6e1cb064 use strchr() instead of strstr() 2017-03-19 20:24:49 +01:00
rlar 15f2c67968 use M_PI 2016-10-15 15:06:17 +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
rlar 994bec7859 declare free() / realloc() arguments `const void *'
to avoid extra casting when freeing `const' strings
2016-07-17 11:19:34 +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
rlar 1aab43dd1a xspice/cmpp/*.l, flex file cleanup and use %option noinput, nounput 2016-04-01 19:36:51 +02:00
rlar f9794431c3 xspice/icm/digital/d_osc/cfunc.mod, swallow a warning 2016-03-22 15:24:53 +01:00
rlar 297c1e90b6 xspice/icm/digital/d_state/cfunc.mod, swallow warnings
current state and next_state are denoted by integers,
  though parsed with a parser written for double values.
2016-03-22 15:24:45 +01:00
rlar 2b0c60dadf xspice/ipc/ipcsockets.c, choke some warnings
Fixme, this code is simply broken,
nobody seems to use it.
One would need to change the socket protocol (message length)
  in agreement with the users of the protocol.

For the time beeing,
  just suffocate the warnings in a way which does not change
  the broken behaviour of this code.
2016-03-22 15:24:41 +01:00
rlar 4c1c95e20f everywhere, use `TMALLOC()' instead of `alloc()' 2016-03-21 21:22:07 +01:00
rlar 0932120a7f special cases of the char variants of the <ctype.h> family 2016-03-09 20:24:36 +01:00
rlar 726d0be34c use char variants of the <ctype.h> toxxxx() family 2016-03-09 20:24:36 +01:00
rlar 71a7c3459b use char variants of the <ctype.h> isxxxx() family 2016-03-09 20:24:36 +01:00
rlar d0c5a495ca ngspice.h, cm.h, cmpp.h, introduce char variants of the <ctype.h> family 2016-03-09 20:24:36 +01:00
rlar d59b74471b xspice/icm, fix some warnings 2016-03-09 18:23:18 +01:00
h_vogt 51bc944def xspice/cmpp, compatibility with MS Visual Studio 2016-02-07 17:45:43 +01:00
h_vogt a162ecec9f src/xspice/evt/evtprint.c, bug fix, avoid segfault
print an error message if no circuit has been loaded
2016-02-07 17:33:54 +01:00
h_vogt 85bfaaabef src/xspice/examples/io_types.deck, bug fix, instance name
instance `again' occured twice
2016-02-07 17:33:25 +01:00
rlar 885e7df8a5 xspice, introduce cm_message_printf() 2016-01-07 16:55:09 +01:00
h_vogt 137f8e9641 com_option.c, mif_inp2.c: remove memory leaks 2016-01-07 16:54:59 +01:00
rlar 8243696338 dvec abstraction, #8/11, upgrade `dvec_alloc()' 2015-12-28 20:34:42 +01:00
rlar fdae9b7c06 dvec abstraction, #7/11, emphasise `v_scale = NULL' initialisation 2015-12-28 20:34:42 +01:00
rlar 908c650f72 dvec abstraction, #3/11, use `dvec_alloc()' 2015-12-28 20:34:42 +01:00
h_vogt a18ac9c474 include/ngspice/cm.h, xspice, introduce NAN for visual studio 2015-12-23 14:04:23 +01:00
rlar 8ec9e1a040 src/xspice/ipc/ipcstdio.c, fix ancient style function definition 2015-12-15 20:39:56 +01:00
h_vogt 84e31cae82 xspice/icm/digital/d_source/cfunc.mod, bug #301, increase MAX_STRING_SIZE for input file reading
Thats a workaround for a segmentation fault (buffer overrun)
  caused by too long lines in the input file for a xspice "d_source"

Thanks to Siddhant Saraf, who reported this in
  #301 d_source gives wrong error and then SIGSEGV (Address boundary error)
  http://sourceforge.net/p/ngspice/bugs/301/
2015-12-13 12:28:46 +01:00
rlar 0c0bc4079f configure.ac, allow cross-compilation, especially for MinGW-w64
notably on debian gnu/linux with package `mingw-w64'
cross-compile a mingw 32bit windows executable with this incantation:

(compile "
  ./autogen.sh
  rm -rf tmp-build tmp-output
  mkdir -p tmp-build tmp-output
  ( cd tmp-build && ../configure \
      --build=$(../config.guess) \
      --host=i686-w64-mingw32 \
      --prefix='c:/spice' \
      --exec-prefix='c:/spice'\
      --with-windows --enable-xspice --enable-cider --disable-debug )
  LC_ALL=C make -C tmp-build -k -j6
  LC_ALL=C make -C tmp-build -k -j6 DESTDIR=$(pwd)/tmp-output/ install
  (cd 'tmp-output/c:/' && zip -r - .) > tmp-output.zip
")

compilation to Win64 works the same way, with
      --host=x86_64-w64-mingw32

The tmp-output.zip directory structure resembles the
  structure of our original sourceforge ngspice-26_140112.zip windows package
ready to be unzip'ed in c:/

Though the testfiles, examples and documentation is missing.
2015-07-06 21:08:05 +02:00
rlar 1c6efd9481 polish bison/flex makefile rules 2015-07-05 20:25:23 +02:00
rlar 74aaa72c39 src/xspice/icm/GNUmakefile.in, extend `make distclean' 2015-07-05 19:15:42 +02:00
rlar 9be4f753e6 remove redundant src/xspice/cmpp/ylwrap 2015-07-04 10:48:22 +02:00
rlar 7bc6374138 cleanup, use '\0' instead of 0 in char context 2015-05-02 10:24:54 +02:00
rlar 19e427e3a5 cleanup, use NULL instead of 0 in pointer context 2015-05-02 10:24:49 +02:00
rlar c5e0bcde04 cleanup using `hypot()' 2014-12-06 20:41:11 +01: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