Commit Graph

3997 Commits

Author SHA1 Message Date
h_vogt a18ac9c474 include/ngspice/cm.h, xspice, introduce NAN for visual studio 2015-12-23 14:04:23 +01:00
rlar 8e50275345 frontend/evaluate.c, apply_func(), reorder 2015-12-23 10:56:12 +01:00
rlar 6709ab900a frontend/outitf.c, plotInit(), reorder 2015-12-23 10:55:06 +01:00
rlar 08feced9b6 frontend/rawfile.c, raw_read(), reorder 2015-12-23 10:46:42 +01:00
rlar da5ebd8645 frontend/evaluate.c, doop(), emphasise `v_type' initialisation 2015-12-23 10:37:44 +01:00
rlar 9e353fbae8 frontend/rawfile.c, raw_read(), emphasise `v_type' initialisation 2015-12-23 10:37:41 +01:00
rlar 7bab434504 frontend/rawfile.c, fixdims(), turn `if' upside-down for readability 2015-12-23 10:33:53 +01:00
rlar 1b62c1f050 plotting/plotit.c, plotit(), `v_length' shall be updated (lpr device, asciiplot) 2015-12-23 10:30:47 +01:00
rlar d632e3314d frontend/parse.c, PP_mknnode(), reorder 2015-12-22 20:45:08 +01:00
rlar 30becb4509 frontend/vectors.c, vec_get(), #2/2 rewrite 2015-12-22 18:24:17 +01:00
rlar d360023e14 frontend/vectors.c, vec_get(), #1/2 drop unused allocation 2015-12-22 18:24:14 +01:00
rlar d37f18d777 misc/string.c, sprinkle some const'ness 2015-12-22 16:47:42 +01:00
rlar 9473ec575f drop some remaining `NEW*' macros, use TMALLOC instead 2015-12-19 19:39:29 +01:00
rlar 9546b178fb drop macro `NEW', use TMALLOC instead 2015-12-19 19:38:55 +01:00
rlar 9fde8e374a txl/txlsetup.c, avoid warning, drop static `GdC' and `RdL' 2015-12-17 21:59:37 +01:00
rlar cd7e77d21f src/frontend/inp.c, avoid warning, drop nested local `wl' 2015-12-17 21:45:18 +01:00
rlar d47f073550 txl/txlsetup.c, cpl/cplsetup.c, avoid warning, rename nested local `x1' 2015-12-17 20:48:59 +01:00
rlar 36aa107c0e src/spicelib/parser/inpptree.c, avoid warning, drop nested local `arg1' ... 2015-12-17 20:40:31 +01:00
rlar 0e0c2785a4 src/spicelib/analysis/dcpss.c, avoid warning, drop a nested local `i' 2015-12-17 20:35:11 +01:00
rlar 1aab57d17e src/spicelib/analysis/cktdisto.c, avoid warning, drop a nested local `size' 2015-12-17 20:31:53 +01:00
rlar 270f508b56 src/frontend/postsc.c, avoid warning, rename local variable `scale' 2015-12-17 19:50:49 +01:00
rlar 053a56e267 src/ciderlib/oned/onesetup.c, bug fix, access beyond array bounds 2015-12-17 18:51:21 +01:00
rlar c94d7153fd fix commit, "src/sharedspice.c, add vfprintf to interface for transferring ..." 2015-12-16 21:14:11 +01:00
h_vogt 1cd8bbf744 frontend/postcoms.c, add variable `width' to command "print line ..." 2015-12-16 20:12:01 +01:00
rlar 876086f768 fix commit "frontend/parse.c, bug fix, PPlex(.."dc1.@m1[vth][1]"..)"
which broke
  let something = foo[var]
notably used in
  examples/Monte_Carlo/MC_ring.sp
2015-12-16 19:17:41 +01:00
h_vogt 0b92d8cfe1 src/sharedspice.c, add vfprintf to interface for transferring messages 2015-12-15 22:16:47 +01:00
rlar 33487b7d68 src/sharedspice.c, add ATTRIBUTE_NORETURN to function `shared_exit()' declaration 2015-12-15 22:05:14 +01:00
rlar 8ec9e1a040 src/xspice/ipc/ipcstdio.c, fix ancient style function definition 2015-12-15 20:39:56 +01:00
h_vogt 23308f7fcf src/Makefile.am, libpsapi not required when linking shared ngspice,
prevents creating dll with actual libtool
2015-12-15 20:27:03 +01:00
rlar 9e237d700e txl/txlsetup.c, cpl/cplsetup.c, rename static variable `ndn' --> `ndn_btree' 2015-12-15 20:19:12 +01:00
rlar f56fae2915 frontend/com_ghelp.c, avoid unused variables 2015-12-15 20:08:31 +01:00
rlar a1439f5d4d plotting/plotit.c, rename local variable `j' --> `y_type' 2015-12-15 19:58:11 +01:00
rlar f97e4a2a35 plotting/plotit.c, cleanup search for common y_type 2015-12-15 19:57:12 +01:00
rlar 18426c755d harmonise `struct circ' variables, `ckt' --> `ci' 2015-12-15 18:36:59 +01:00
rlar f6716af635 frontend/ftesopt.c, rename local variable `ft_curckt' --> `ci'
to avoid compiler warning:
  'ft_curckt' hides global declaration
2015-12-15 18:36:45 +01:00
rlar f826ff82f8 introduce `ATTRIBUTE_NORETURN' for `controlled_exit()' and `sp_shutdown()' 2015-12-15 18:10:18 +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
h_vogt ab05d9df04 numparm/spicenum.c, rename local variable `cp_out' --> `fp'
to avoid a "hides global declaration" compiler warning
2015-12-13 12:24:38 +01:00
h_vogt f7d387005f numparam/spicenum.c, bug #300, exit gracefully upon numparam error (SHARED_MODULE)
Thanks to Sergii Baitala, who reported this in
  #300 Shared ngspice: ngspice hangs on getchar
  http://sourceforge.net/p/ngspice/bugs/300/
2015-12-13 11:46:11 +01:00
h_vogt 806fdfb029 vsrc/vsrcask.c, bug #299, add "nop" handler for VSRC_EXTERNAL in SHARED_MODULE
Avoid NAN error when executing "show all"

Thanks to Sergii Baitala, who reported this in
  #299 Shared ngspice: missed VSRC_EXTERNAL handler in VSRCask
  http://sourceforge.net/p/ngspice/bugs/299/
2015-12-13 11:46:09 +01:00
dwarning 7fb8368133 favor exponential temperatur equation if all parameters tc1, tc2 and tce are given 2015-11-22 10:43:42 +01:00
h_vogt df846346a1 visualc, cope with `bool' and `isnan()' in visual studio 2015
now they have isnan(),
  (presumably in math.h)

now they have a C99 `bool',
  (maybe even though not asked for with <stdbool.h>)
2015-11-15 15:09:27 +01:00
rlar 917ae030c9 src/sharedspice.c, fix #include style 2015-11-15 15:09:26 +01:00
rlar f33d9953b3 frontend/define.c, cleanup `ft_substdef()' 2015-11-13 20:17:18 +01:00
rlar 8f69a04833 frontend/define.c, cleanup `numargs()' 2015-11-13 20:17:17 +01:00
rlar 22d5a7124a frontend/define.c, abstraction, introduce `numargs()' 2015-11-13 20:17:16 +01:00
rlar 37979de65a frontend/define.c, trcopy(), rename `nn' --> `args' 2015-11-13 20:17:16 +01:00
rlar e99ba7478b frontend/define.c, trcopy(), rename `args' --> `arg_names' 2015-11-13 20:17:15 +01:00
rlar bc44be41ad frontend/define.c, ft_substdef(), rename `s' --> `arg_names' 2015-11-13 20:17:14 +01:00
rlar 045de93d3b frontend/define.c, cleanup `prtree1()' 2015-11-13 20:17:13 +01:00
rlar 83938330eb frontend/define.c, cleanup `prdefs()' 2015-11-13 20:17:13 +01:00
rlar e7c7e7052b frontend/define.c, cleanup `prtree()' 2015-11-13 20:17:12 +01:00
rlar 15f0f5f22f frontend/define.c, com_undefine(), rename `ludf' --> `prev_udf' 2015-11-13 20:17:11 +01:00
rlar 3be8335224 frontend/define.c, abstraction, use `strchr()' 2015-11-13 19:51:50 +01:00
rlar 501c0238d7 frontend/define.c, cleanup 2015-11-13 19:50:56 +01:00
rlar 29dde7206a frontend/parse.c, introduce `alloc_pnode()' 2015-11-12 18:32:39 +01:00
rlar 381a690cd8 frontend/define.c, ntharg(), bug fix, fix check for end of PT_OP_COMMA args list
ancient bug, yet not much of a consequence because there was already
  another check for correct arity of a function application.
("define"'ed function in the .control section)
2015-11-10 19:44:54 +01:00
rlar 5706fbd890 parser/inpptree-parser.y, bug fix, allow unary `+'
reported by Andy Fierman on the ngspice-users mailing list in message
  "Help to identify 'parameter value out of range or the wrong type' error please?"
2015-11-07 21:02:21 +01:00
rlar 97c1ec733a frontend/define.c, ntharg(), #15/15 whitespace and indentation 2015-11-07 20:26:54 +01:00
rlar a7f776872b frontend/define.c, ntharg(), #14/15 rewrite for(;;) loop 2015-11-07 20:26:45 +01:00
rlar 101b5ada81 frontend/define.c, ntharg(), #13/15 delay `num--' a bit 2015-11-07 20:26:36 +01:00
rlar 06b6237199 frontend/define.c, ntharg(), #12/15 delay `num--' a bit 2015-11-07 20:26:28 +01:00
rlar bd40bbd437 frontend/define.c, ntharg(), #11/15 `args' can't be NULL here 2015-11-07 20:26:18 +01:00
rlar cd0941367a frontend/define.c, ntharg(), #10/15 can move this up 2015-11-07 20:26:09 +01:00
rlar 3b6b71f680 frontend/define.c, ntharg(), #9/15 can move this up 2015-11-07 20:25:47 +01:00
rlar bc793fbf27 frontend/define.c, ntharg(), #8/15 this `if' condition can't be true 2015-11-07 20:25:27 +01:00
rlar e93327fdb7 frontend/define.c, ntharg(), #7/15 substitute tail of ntharg() for `break' 2015-11-07 20:25:20 +01:00
rlar e98bfc720f frontend/define.c, ntharg(), #6/15 rewrite while() --> for(;;) 2015-11-07 20:25:12 +01:00
rlar 67301b25fe frontend/define.c, ntharg(), #5/15 make use of `fact: num >= 1' 2015-11-07 20:25:04 +01:00
rlar f538b4dba3 frontend/define.c, ntharg(), #4/15 express some facts 2015-11-07 20:24:56 +01:00
rlar 71908ef194 frontend/define.c, ntharg(), #3/15 drop redundant `if', already guarded by `while' 2015-11-07 20:24:48 +01:00
rlar 8ac0329bd9 frontend/define.c, ntharg(), #2/15 minor cleanup 2015-11-07 20:24:39 +01:00
rlar f91f8c2a09 frontend/define.c, ntharg(), #1/15 drop `struct pnode *ptry', use `args' instead 2015-11-07 20:24:26 +01:00
rlar 600d289000 frontend/define.c, ntharg(), avoid segfault when out of `args'
return NULL instead
2015-11-07 20:15:53 +01:00
rlar b137930330 xpressn.c, formula(), #6/6 simplify 2015-11-07 19:11:54 +01:00
rlar a805fe6b56 xpressn.c, formula(), #5/6 whitespace and indentation 2015-11-07 19:10:25 +01:00
rlar 577352e6bb xpressn.c, formula(), #4/6 move around 2015-11-07 19:09:44 +01:00
rlar b156921ea0 xpressn.c, formula(), #3/6 refactor fetchid(), pass substring, include `upcase()' 2015-11-07 19:08:40 +01:00
rlar 1d9592c591 xpressn.c, formula(), #2/6 move dstring buildup out of `fetchid()' 2015-11-07 19:08:23 +01:00
rlar d6ce788539 xpressn.c, formula(), #1/6 upside-down an `if..else..' 2015-11-07 18:59:07 +01:00
rlar b447f26703 `E..table {expr} {pairs}', `G..', allow an optional `=' after `table' 2015-11-07 17:52:19 +01:00
rlar 7479e48f7a `E..value=', `G..value=', allow `=' being optional 2015-11-07 17:49:06 +01:00
rlar 28c0c96bbc devices/res, introduce TCE, exponential temperature coefficient 2015-11-02 19:25:43 +01:00
rlar 45117c94fd drop yyparse() prototypes, require bison >= 2.7 which emits them 2015-10-18 00:46:13 +02:00
rlar 76aedfae40 numparam/xpressn.c, cleanup `getidtype()' 2015-10-11 14:21:04 +02:00
rlar 813024678d numparam/xpressn.c, cleanup `fetchnumentry()' 2015-10-11 14:02:45 +02:00
rlar c9e8c7651f numparam/xpressn.c, cleanup `keyword()' 2015-10-11 11:56:35 +02:00
rlar 0390736faa xpressn.c, fetchid(), #15/15 cleanup 2015-10-10 20:20:45 +02:00
rlar ba9c7f060b xpressn.c, fetchid(), #14/15 rewrite 2015-10-10 20:20:45 +02:00
rlar ff74222538 xpressn.c, fetchid(), #13/15 local scope 2015-10-10 20:20:45 +02:00
rlar 9041bf93ca xpressn.c, fetchid(), #12/15 use fact 2015-10-10 20:20:45 +02:00
rlar c8020f4811 xpressn.c, fetchid(), #11/15 reorder 2015-10-10 20:20:44 +02:00
rlar 880b41bb7f xpressn.c, fetchid(), #10/15 rewrite 2015-10-10 20:20:44 +02:00
rlar 16b53e3784 xpressn.c, fetchid(), #9/15 reorder 2015-10-10 20:20:44 +02:00
rlar 3fea077ebe xpressn.c, fetchid(), #8/15 rewrite 2015-10-10 20:20:44 +02:00
rlar aa87d90ba9 xpressn.c, fetchid(), #7/15 use fact 2015-10-10 20:20:44 +02:00
rlar 9a69f79feb xpressn.c, fetchid(), #6/15 use fact 2015-10-10 20:20:44 +02:00
rlar 16496f8ff7 xpressn.c, fetchid(), #5/15 express some facts 2015-10-10 20:20:44 +02:00
rlar cc68d8fadb xpressn.c, fetchid(), #4/15 use fact 2015-10-10 20:20:44 +02:00
rlar e8fa81e382 xpressn.c, fetchid(), #3/15 express some facts 2015-10-10 20:20:44 +02:00
rlar 7142e0e1fc xpressn.c, fetchid(), #2/15 rename `iptr' --> `s' 2015-10-10 20:20:44 +02:00
rlar af0ba9bed5 xpressn.c, fetchid(), #1/15 swap arguments 2015-10-10 20:20:44 +02:00
rlar 0178dcd5f3 remove bison generated files from the repository
Their presence breaks automake rules when running
  in a separate build directory.
And when regenerated cause unwanted "changed files"
  in the repository.

As a consequence visual C compilation will fail.
It will still work with a "make dist" generated tar ball.
We need to upgrade the visual C project files
  to invoke bison and flex on windows,
or we have to provide these generated files
  in a visual C specific directory. (very annoying of course)
2015-10-10 20:14:50 +02:00
rlar 2f061b441e Makefile.am, fix dependency rules for bison generated files
which have been lost in commit
> Date:   Sun Jul 5 19:34:25 2015 +0200
>
>     polish bison/flex makefile rules
2015-10-10 20:04:27 +02:00
rlar a0a5e0f9c2 inpptree-parser.y, fix type of function `PTparse()' 2015-10-10 10:40:42 +02:00
dwarning 1b4aa22d0d Update some level and version entries for MOS models 2015-10-08 18:20:16 +02:00
rlar 73731bdf77 frontend/plotting/plotit.c, cleanup, reduce scope of `struct dvec *dv' 2015-10-04 15:38:27 +02:00
rlar a4c7dff570 frontend/define.c, rewrite `struct udfunc' insertion 2015-10-04 15:34:14 +02:00
rlar a5f933b3ec frontend/parse.c, bug fix, PPlex(.."dc1.@m1[vth][1]"..)
The whole string was lexed into only one TOK_STR
  instead of the actual (quasi) identifier "dc1.@m1[vth]"
2015-09-24 18:25:25 +02:00
rlar 192eeadb0b remove crufty comments which where used to support broken text editors 2015-09-24 18:23:54 +02:00
mhx a324d86878 inpcom.c, allow `temper' to be recognised when preceded by '=' 2015-08-16 20:20:50 +02:00
rlar 45bec4b8eb inpcom.c, strip braces in `inp_get_func_from_line()' 2015-08-16 19:56:12 +02:00
rlar 2ac726b265 inpcom.c, rename `struct function' member `macro' --> `body' 2015-08-16 19:56:10 +02:00
rlar dffcbddbba swallow `deprecated directive' warning emitted by newer bisons 2015-08-16 19:54:35 +02:00
rlar 2e023a6be7 inpcom.c, cleanup `inp_new_func()'
especially avoid local state in a function local static variable
2015-08-16 14:54:37 +02:00
rlar 56312b7872 inpcom.c, cleanup `inp_rem_func()' 2015-08-16 14:27:18 +02:00
rlar db9eb23b7d inpcom.c, bug fix, avoid segfault when `.ends' is missing 2015-08-15 17:05:00 +02:00
rlar 61724121aa res/restemp.c, bug fix, need to update `RESresist' in `REStemp()'
instead of `RESsetup()'
  to be effective when altering a resistor model parameter or when
  sweeping a resistor model parameter in a dc analysis.

see tests/regression/temper/temper-3.cir
2015-08-10 17:52:57 +02:00
rlar 5940bf9294 analysis/dctrcurv.c, bug fix, sweeping `temper' in a dc analysis
incorrect update of model parameters,
  need to `invoke CKTtemp()' *after* `inp_evaluate_temper()'

see tests/regression/temper/temper-2.cir
2015-08-10 17:52:54 +02:00
rlar fc6455ca99 inp.c, bug fix, `temper' in a model parameter, missing INPretrieve() invocation
The model name needs to be transformed into a `IFuid'
  before it can be searched for with `findModel()'

see tests/regression/temper/temper-1.cir
2015-08-10 17:52:21 +02: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 794df1066a update bison generated files 2015-07-05 20:26:59 +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 39fdeb0c9a src/frontend/plotting/gnuplot.c, enforce "noenhanced text" mode
Contrary to older versions gnuplot 5 uses "enhanced text mode" per default.
The strings which we pass to gnuplot don't have "latex" semantics,
  thus consistently enforce "noenhanced text mode".

Add a function quote_gnuplot_string() to escape and quote strings
  in such a way that they will arrive in gnuplot unmodified.
2015-05-17 17:34:29 +02:00
Marcel Hendrix 02fe549be7 src/frontend/plotting/plotit.c, allow "plot xlog ylog" (equiv to "plot loglog") 2015-05-14 15:56:45 +02:00
rlar 5d19c99e94 src/frontend/outitf.c, bug fix, "resume" causing segment violation
introduced in commit
  "noisean, deliver results in V/sqrt(Hz) and A/sqrt(Hz)"

analysisPtr is NULL when beginPlot() is invoked to "resume"
2015-05-09 18:56:01 +02:00
rlar f4472f788e spicelib/parser/inpptree.c, bug fix, "#287 Shared library crashes on using non existing functions "
"remcirc" has the potential to invoke INPfreeTree() with a NULL IFparseTree

Thanks to Craggan, who reported this in:
  http://sourceforge.net/p/ngspice/bugs/287/
2015-05-04 20:17:28 +02:00
rlar 6ff1560487 frontend/cpitf.c, free a temporary vector which was left in `cp_istrue()'
reported by Marcel Hendrix.

Using conditional expressions within a .control sequence
  left some garbage vectors in the current plot.

For example

> let ix = 0
>
> while ix < 2
>   let ix = ix + 1
> end
>
> display

"display" reported a variable named "ix < 2"
which was an internal temporary value in said function `cp_istrue()'
2015-05-02 12:33:45 +02:00
rlar e609c7411d src/frontend/vectors.c, abstraction, introduce `vec_iszero()' 2015-05-02 12:27:35 +02:00
rlar 44425b1d0a fix commit "inpcom.c, comment_out_unused_subckt_models() #4/8, introduce `nlist_find()'"
which broke the search for binned models
2015-05-02 12:20:58 +02:00
rlar cab63eedd4 frontend/com_let.c, bug fix, "#302 Integer in Let Statement"
let 2foo = someexpression

was silently accepted, even though 2foo is an illegal identifier.
  (first letter is a digit)

This was especially irritating, since
  print 2foo
has a legal meaning, 2 femto oO, which is 2e-15
  (whatever Unit an oO might be)

Reported by Justin Fisher in
  http://sourceforge.net/p/ngspice/bugs/302/
2015-05-02 11:18:30 +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 6513aa5173 spicelib/devices, cleanup, 0 versus NULL in SPICEdev initialization 2015-05-02 10:24:45 +02:00
rlar 6bea757457 frontend/numparam, drop `sfix()' 2015-05-02 10:24:40 +02:00
rlar c3f851750c fix commit "devices/asrc, introduce `ASRCvars' with the indices of the controlling nodes/branches" 2015-04-24 21:45:54 +02:00
rlar 83a5c31e6f fix commit "devices/asrc, allocate `ASRCacValues' in ASRCsetup()" 2015-04-24 21:45:29 +02:00
rlar ab5cd17044 inpcom.c, workaround for "#307 define problems with the Modelname "mname" with Subcircuits"
a diode model named "1smb4148" could not be found
  because it was dropped in `comment_out_unused_subckt_models()'

as a work around the function
  is_a_modelname()
is extended to accept an additional pattern which does match "1smb4148"

Thanks to Martin who submitted the bug report here:
  http://sourceforge.net/p/ngspice/bugs/307/
2015-04-19 17:36:05 +02:00
rlar e4ba6eb602 inpcom.c, comment_out_unused_subckt_models() #8/8, drop `no_of_lines' 2015-04-19 17:07:42 +02:00
rlar 8379de8ddb inpcom.c, comment_out_unused_subckt_models() #7/8, allocation 2015-04-19 17:07:40 +02:00
rlar 341ee45314 inpcom.c, comment_out_unused_subckt_models() #6/8, cleanup 2015-04-19 17:07:10 +02:00
rlar e598da4706 inpcom.c, comment_out_unused_subckt_models() #5/8, introduce `nlist_adjoin()' 2015-04-19 16:58:30 +02:00
rlar 2e7b469cfe inpcom.c, comment_out_unused_subckt_models() #4/8, introduce `nlist_find()' 2015-04-19 16:58:11 +02:00
rlar d8807c00c4 inpcom.c, comment_out_unused_subckt_models() #3/8, drop ´tmp_cnt', `new_names[]' 2015-04-19 16:57:30 +02:00
rlar 5ec24f4ed0 inpcom.c, comment_out_unused_subckt_models() #2/8, cleanup 2015-04-19 16:56:18 +02:00
rlar d2e138c592 inpcom.c, comment_out_unused_subckt_models() #1/8, use a struct to collect data 2015-04-19 16:54:51 +02:00
rlar 84a945ca45 inpcom.c, comment_out_unused_subckt_models(), reduce scope of local variables 2015-04-18 22:03:19 +02:00
rlar a8d90775ca inpcom.c, get_subckts_for_subckt(), reduce scope of local variables 2015-04-18 21:56:07 +02:00
rlar e2dabb2e75 inpcom.c, introduce `is_a_modelname()' to encapsulate highly dubious code 2015-04-18 12:50:19 +02:00
Marcel Hendrix f9432cb3da frontend/com_measure2.c, bug fix for "meas AVG"
meas "AVG" did merely the average of the given values,
  without consideration of their spacing on the "scale" axis.

now use trapezoidal summing to calculate the AVG

note, there is "meas INTEG"
  which goes beyond trapezoidal summing
2015-04-16 21:20:20 +02:00
rlar 8be0829b9b frontend/breakp.c, bug fix, "#306 Deleting breakpoint causes Internal Error in status"
The "delete" command destroyed the whole list of stored breakpoints
  instead of just the specified one.

Thanks to "jpcgt", who reported this in
  "#306 Deleting breakpoint causes Internal Error in status"
  http://sourceforge.net/p/ngspice/bugs/306/
2015-04-16 19:58:58 +02:00
rlar 0b4bcf31f4 devices/res, bug fix, extend ac-resistance to the pz analysis 2015-04-15 19:52:36 +02:00
rlar b6b76ad035 devices/asrc, introduce `ASRCvars' with the indices of the controlling nodes/branches 2015-04-12 21:36:22 +02:00
rlar b4f1c1dda3 devices/asrc, allocate `ASRCacValues' in ASRCsetup() 2015-04-12 21:34:16 +02:00
rlar 232debc6ec drop `NEWN', use `TMALLOC' 2015-04-12 20:10:07 +02:00
rlar ad869c6d2d devices/asrc, rewrite #10/10, emphasise matrix for the two cases VSRC vs ISRC 2015-04-12 18:23:22 +02:00
rlar 66a0da8ab9 devices/asrc, rewrite #9/10, combine common code 2015-04-12 18:22:06 +02:00
rlar 704e50b62a devices/asrc, rewrite #8/10, cleanup and reorder 2015-04-12 18:18:20 +02:00
rlar 3a1c094682 devices/asrc, rewrite #7/10, allocate in one go 2015-04-12 18:18:14 +02:00
rlar b3860ac599 devices/asrc, rewrite #6/10, check for errors right at the beginning 2015-04-12 18:17:52 +02:00
rlar 1c53a425f0 devices/asrc, rewrite #5/10, combine common code 2015-04-12 18:17:46 +02:00
rlar 6ea1e1932d devices/asrc, rewrite #4/10, drop `ASRCcont_br' 2015-04-12 18:11:41 +02:00
rlar ce49a4977d devices/asrc, rewrite #3/10, combine TSTALLOC and MY_TSTALLOC 2015-04-12 18:11:38 +02:00
rlar e902ebd34d devices/asrc, rewrite #2/10, simplify incremental memory allocation 2015-04-12 18:11:33 +02:00
rlar e13e1690d2 devices/asrc, rewrite #1/10, add a return (E_BADPARM) 2015-04-12 18:11:29 +02:00
rlar 7afb450e66 devices/asrc, cleanup #9/9, polish local variables 2015-04-11 21:31:02 +02:00
rlar 21ff522441 devices/asrc, cleanup #8/9, cleanup parentheses and braces 2015-04-11 21:31:02 +02:00
rlar 39a25ba114 devices/asrc, cleanup #7/9, use '[]' to access array elements 2015-04-11 21:31:02 +02:00
rlar 036a45f348 devices/asrc, cleanup #6/9, cleanup 2015-04-11 21:31:02 +02:00
rlar bd5ac3e4fc devices/asrc, cleanup #5/9, drop explicit NULL comparsion 2015-04-11 21:31:02 +02:00
rlar b91386222e devices/asrc, cleanup #4/9, unify model cast 2015-04-11 21:31:01 +02:00
rlar 03ef81785a devices/asrc, cleanup #3/9, polish comments 2015-04-11 21:31:01 +02:00
rlar 2cb727476f devices/asrc, cleanup #2/9, whitespace 2015-04-11 21:31:01 +02:00
rlar df147cd8b8 devices/asrc, cleanup #1/9, invert `if' 2015-04-11 21:31:01 +02:00
rlar bfe9df8511 devices/ind.c, bug fix, use 'm' in pz analysis 2015-04-07 20:43:43 +02:00
rlar 685d684c88 devices/ind: bug fix, multiplier `m'
multiplier `m' was applied twice,
  because it was already implemented in indtemp.c before this commit :

> Date:   Thu May 9 10:28:38 2013 +0200
>
>     devices/ind: implement multiplier `m'
2015-04-06 21:19:44 +02:00
dwarning 7c5f3173e2 hisimhv2: fix naming problems by MS linker 2015-03-29 11:43:30 +02:00
rlar 5ac7858a79 rewrite, use tprintf 2015-03-28 20:10:29 +01:00
rlar 6b5bbb71d0 rawfile.c, bug fix, missing memory allocation and a memory leak 2015-03-28 19:51:50 +01:00
rlar be283109dc numconst.h, fix pi 2015-03-28 12:57:03 +01:00
rlar 4b7092633c hisimhv1, remove unused variables 2015-03-28 12:15:18 +01:00
rlar 5042ffc5cc hisimhv1, remove excess casts 2015-03-28 12:15:17 +01:00
rlar 7464d4423a hisimhv1, drop of non __STDC__ code 2015-03-28 12:15:16 +01:00
rlar 90d0bb3d2d hisimhv1, append `;' when using `BINNING' to be auto indentation friendly 2015-03-28 12:15:15 +01:00
rlar c5a3788f6b hisimhv2, TMFx, globals need to be static or need an own namespace
Fixme, actually these should have block local scope.
  (local in the blocks of the macros where these variables are actually used)
Thats safer, much easier to understand, at least as fast,
  and won't defeat parallelisation.
2015-03-28 12:15:11 +01:00
rlar 6ac641e906 hisimhv2, remove excess casts 2015-03-28 11:26:12 +01:00
rlar 970299bdc2 hisimhv2, drop of non __STDC__ code 2015-03-28 11:26:11 +01:00
rlar 0ef07aad20 hisimhv2, append `;' when using `BINNING' and `TSTALLOC' to be auto indentation friendly 2015-03-28 11:26:11 +01:00
rlar 6ad8b96dbb hisimhv2, apply "mark end of struct GENmodel overlay" 2015-03-28 11:26:11 +01:00
rlar 1f5b0f852b hisimhv2, apply commit "use TMALLOC, funcall, and NULL casts" 2015-03-28 11:26:11 +01:00
rlar 53555ac8c6 hisimhv2, extend rename from hisimhv --> hsimhv2 2015-03-28 11:26:11 +01:00
rlar 87a9c67a8f hisim2, remove excess casts 2015-03-27 17:53:36 +01:00
rlar efd8a0dce8 hisim2, append `;' when using `BINNING' to be auto indentation friendly 2015-03-27 17:52:05 +01:00
rlar 495988608a hisim2, apply commit "use TMALLOC, funcall, and NULL casts" 2015-03-27 16:45:48 +01:00
dwarning 26937f8dfb hisimhv1: less verbosity, remove useless printout 2015-03-26 10:30:57 +01:00
dwarning eb99465713 hisimhv1: prevent a nonsens range check for model parameter qme2 2015-03-26 10:21:37 +01:00
dwarning 6dbe8e618d correct node assignment for hisimhv 2015-03-26 10:08:09 +01:00
rlar 00ed1122b7 hisim2, reintroduce "rewrite, useing IFerrorf()" 2015-03-25 18:49:44 +01:00
rlar a87bf334b8 hisim2, reintroduce "rewrite `TSTALLOC()' macro for auto indentation" 2015-03-25 18:49:43 +01:00
rlar 9141e86926 hisim2, reintroduce "mark end of struct GENmodel overlay" 2015-03-25 18:49:43 +01:00
rlar 48ff3df6eb hisim2, reintroduce "hsm2eval.c, avoid static variables to allow multithreading" 2015-03-25 18:49:43 +01:00
dwarning 2b71713498 get the hisimhv v2 device info 2015-03-25 15:34:34 +01:00
dwarning 9ed2da9ad9 new hisimhv model version 2.2.0 in a separate directory 2015-03-25 15:17:16 +01:00
dwarning adcec9fa5f Revert "update hisimhv model to version 2.2.0"
This reverts commit c2ef7aeff3.
2015-03-25 14:13:07 +01:00
dwarning db52073f5d cpitf.c: bugfix #304 reported by Dave Clarc, correct base of natural logarithm 2015-03-25 07:01:26 +01:00
dwarning c2ef7aeff3 update hisimhv model to version 2.2.0 2015-03-25 06:47:32 +01:00
dwarning 339e7fe819 update hisim model to version 2.8.0 2015-03-23 21:47:00 +01:00
rlar 7d92eae124 noisean, introduce a .control variable "sqrnoise" to deliver noise data in squared representation
use "set srqrnoise" (and "unset sqrnoise") to control this.
2015-03-23 19:32:33 +01:00
rlar 8d6726f0f4 noisean, deliver results in V/sqrt(Hz) and A/sqrt(Hz) 2015-03-22 21:44:50 +01:00
rlar e755b45281 fix commit "noise analysis, bug fix, override ac magnitude of all vsrc/isrc devices" 2015-03-22 20:22:01 +01:00
rlar 64da5a99bf src/frontend/com_measure2.c, cleanup, rewrite `correct_vec()' 2015-03-22 19:16:36 +01:00
rlar 27aae75ade src/frontend/com_measure2.c, bug fix, typo when setting `m_vectype2'
this doesn't change anything, because m_vectype2 is nowhere used.
2015-03-22 19:15:44 +01:00
rlar c16701b66c swallow compiler warning caused by "noise analysis, bug fix, override ac magnitude of all vsrc/isrc devices" 2015-03-22 18:25:17 +01:00
rlar 76a48c161d src/frontend/outif.c, introduce guess_type() for common code in plotInit() and fileInit_pass2() 2015-03-22 12:30:45 +01:00
rlar 54c0f47dde src/frontend/outif.c, fileInit_pass2(), add inoise/onoise types
which were missing in commit:
> Date:   Fri Mar 18 20:15:10 2011 +0000
>     bug no. 3214252 fixed
2015-03-22 11:12:59 +01:00
rlar bcda90e258 src/frontend, cleanup, drop `GENcircuit' 2015-03-21 13:56:57 +01:00
rlar b69e61d010 src/frontend/device.c, cleanup usage of `IFparm.dataType' 2015-03-21 13:52:55 +01:00
rlar 426f567287 spiceif.c, parmlookup(), allow more than one `IF_REDUNDANT' parameter alias 2015-03-18 17:52:52 +01:00
dwarning dd24406234 allow alternativ model parameter tref for vbic models 2015-03-16 17:21:42 +01:00
dwarning c44f101c49 extend bsim4 instance parameter with mulu0 for local mobility multiplier 2015-03-16 16:08:59 +01:00
dwarning 4402897a07 allow alternate instance parameter name delvt0 for bsim4 models 2015-03-16 15:27:42 +01:00
dwarning 759ec4a3d0 allow r=value as an alternative instance parameter 2015-03-15 10:38:06 +01:00
dwarning 88ef78e53b introduce geometry and frequency dependency for the flicker noise model 2015-03-15 10:16:16 +01:00
dwarning 82b0bc070f sorting parameter for resistor setup and temperature update routines 2015-03-14 00:29:55 +01:00
dwarning 95f45e2ee6 allow redundant instance parameter noise for compatibility reasons 2015-03-13 22:04:01 +01:00
rlar 62d2f5d5f4 use `enum simulation_types' 2015-03-10 21:34:24 +01:00
rlar d98c5c90f3 src/maths/cmaths/cmath4.c, bug fix, cx_fft, cx_ifft, cx_derive
incorrect check for VF_COMPLEX in field v_type instead of v_flags
2015-03-10 20:09:20 +01:00
rlar 6f21c3b9db use `enum simulation_types' 2015-03-10 18:27:39 +01:00
rlar 07ee771a96 noise analysis, bug fix, override ac magnitude of all vsrc/isrc devices
Bug report due to Hartmut Henkel in
>> [Ngspice-users] Noise analysis depends on ac parameter

The noise analysis internally depends on an ac analysis
  to derive "inoise" from "onoise"
("onoise" is multiplied with the inverse ac gain from input to output)

This AC analysis used all the given ac magnitudes for all vsrc/isrc
  devices in the deck.

This fix overrides all ac magnitudes with zero,
  except for the given input device,
  whose magnitude is set to one.
2015-03-09 20:02:36 +01:00
rlar b3b543c1c7 typesdef.c, rewrite 2015-03-08 21:04:59 +01:00
rlar 95d2166946 typesdef.c, bug fix, incorrect `notypes', `capacitance' and `charge' doomed
introduced in
Date:   Wed Oct 3 15:01:36 2012 +0200
    outif.c, typesdef.c, sim.h: correct labeling of cap, cur, and charge data
2015-03-08 20:39:02 +01:00
rlar 73d581f9a6 graph.h, struct graph, remove unused elements 2015-03-08 19:38:33 +01:00
rlar 2b3220086d graph.h, grid.c, enforce consistent string buffer size (plot "units", LABEL_CHARS) 2015-03-08 19:36:46 +01:00
dwarning 032b1c32c4 separate diode bottom and sidewall contributions for depletion capacitance 2015-03-08 17:54:49 +01:00
dwarning ea4c438311 Limiting the junction potential to a usual values for silicon diodes 2015-03-08 17:54:30 +01:00
dwarning c30373e37e correct formula for temperature dependent depletion capacitance (tlevc=1) 2015-03-04 06:54:34 +01:00
rlar a21770aab9 parser/inpgtok.c, remove unused function `INPgetU2Tok()'
INPgetU2Tok() was introduced in commit
Date:   Fri Sep 3 12:51:42 2010 +0000
    bug in B source parsing removed

and later unused in commit
Date:   Thu Apr 28 19:27:45 2011 +0000
    bug fix, (#329233)
2015-02-28 20:43:25 +01:00
rlar 1b7f3a9f2c parser/inpeval.c, this cannot happen here 2015-02-28 19:41:31 +01:00
rlar 548a1045a4 parser/inpeval.c, simplify mil/meg/milli processing 2015-02-28 19:22:01 +01:00
rlar c018b328b9 parser/inpeval.c, whitespace cleanup 2015-02-28 19:03:41 +01:00
rlar 4555107013 parser/inpeval.c, use '\0' 2015-02-28 19:03:39 +01:00
rlar a2b5288a3d parser/inpeval.c, bug fix, allow at most one sign char when parsing a number 2015-02-28 19:03:37 +01:00
rlar 12e8ee750b parser/inpeval.c, bug fix, incorrect restore of `*line' 2015-02-28 19:03:32 +01:00
rlar 2cbc84ccd1 parser/inpgtok.c, use copy_substring() 2015-02-28 11:05:46 +01:00
rlar 39d391fe33 parser/inpgtok.c, whitespace cleanup 2015-02-28 11:05:43 +01:00
rlar 4ae35e8974 parser/inpgtok.c, bug fix, introduced in "memory leaks: code improved"
commit "memory leaks: code improved"
Date:   Sun Apr 5 08:57:55 2009 +0000

'point' has not been incremented for so called
   "Weird items" with string length == 1
2015-02-28 11:05:23 +01:00
rlar 3c133c95b3 update bison generated files 2015-02-21 15:08:06 +01:00
rlar 788a5e5fa0 inpptree parser, bug fix, segfault due to usage of an unknown function
for example:
B1  1 0  V = {log(2.0, 1.3) + nosuchthing(2.0, 1.3)}
2015-02-21 15:08:04 +01:00
rlar 8e65614d31 spfactor.c, cktnames.c, don't crash when simulating "nothing"
reported by Siddhant Saraf in
> [ngspice:discussion] "out of memory" error : simulating a 2bit AND gate"

This comes in two flavours,
   1) an empty circuit
   2) a xspice circuit with exclusively xspice event nodes
2015-02-08 22:07:14 +01:00
rlar 8d44da4741 sharedspice.c, disable unused code 2015-01-22 17:50:16 +01:00
rlar ae62187d06 sharedspice.c, bug fix, #298 Wrong define in sharedspice.c
thanks to "Sergii" who reported this here:
http://sourceforge.net/p/ngspice/bugs/298

This bug did not have any effect
2015-01-22 17:49:47 +01:00
rlar ccc4c60d81 src/frontend/variable.c, swallow "warning: conversion to 'int' from 'size_t' may change the sign of the result" 2015-01-04 20:37:16 +01:00
rlar 7b0275ebf7 string.c, swallow "warning: value computed is not used" 2015-01-04 20:31:45 +01:00
rlar e57b8b5426 main.c, volatile, make shure they are up to date in memory when LONGJMP is executed 2015-01-04 16:06:15 +01:00
rlar f8df1a7b2f src/main.c, whitespace cleanup 2015-01-03 21:50:19 +01:00
rlar 8369732e7b src/main.c, cleanup 2015-01-03 21:50:18 +01:00
rlar 42d0e42e0d src/main.c, prompt(), rewrite 2015-01-03 21:17:18 +01:00
rlar 15a04192da src/main.c, prompt(), fix incorrect backslash expansion in promptstrings 2015-01-03 20:56:47 +01:00
rlar a65a028067 src/main.c, prompt(), drop ancient workaround for editline v2.9
thats dead now for some years.
2015-01-03 20:56:45 +01:00
rlar 6aff8d5418 src/main.c, rewrite to be autoindent friendly 2015-01-03 20:56:42 +01:00
rlar 86c61c1909 src/main.c, nutmeg, cleanup `ft_loadfile()' invocation
drop non functional code which might originally have been meant
  to read a default `ft_rawfile' when no other file
  was given on the command line.

this would be disturbing behaviour anyway,
  since it would be impossible to start
  nutmeg interactively without any file.
2015-01-03 16:37:43 +01:00
rlar a820d11451 inpcom.c, inp_remove_ws(), allow netsted braces `{}' 2014-12-31 16:58:25 +01:00
rlar 9ee7888033 inpcom.c, inp_remove_ws(), copy() only when necessary 2014-12-31 16:58:24 +01:00
rlar 3fd1f56a10 inpcom.c, inp_remove_ws(), fix processing after skipped whitespace 2014-12-31 16:58:20 +01:00
rlar d623763e58 inpcom.c, cleanup inp_remove_ws(), reorder loop, reveal obscure behaviour 2014-12-31 16:52:41 +01:00
rlar bd055c1a98 inpcom.c, cleanup inp_remove_ws(), #4/4, minor 2014-12-31 16:33:45 +01:00
rlar e25620f117 inpcom.c, cleanup inp_remove_ws(), #3/4, common code in if-then-else 2014-12-31 16:33:21 +01:00
rlar d1260f4e4d inpcom.c, cleanup inp_remove_ws(), #2/4, dup some code down into if-then-else 2014-12-31 15:59:51 +01:00
rlar 91658bc856 inpcom.c, cleanup inp_remove_ws(), #1/4, thats inevitably true 2014-12-31 15:59:28 +01:00
rlar 82a5c1c48a inpcom.c, inp_remove_ws(), avoid appending a surplus '\0' 2014-12-31 15:49:57 +01:00
rlar 07ba16192e inpcom.c, cleanup inp_remove_ws(), #5/5, introduce `d' instead of `big_buffer_index' 2014-12-31 15:12:40 +01:00
rlar f1fcc943f9 inpcom.c, cleanup inp_remove_ws(), #4/5, minor 2014-12-31 15:12:22 +01:00
rlar e290e55f31 inpcom.c, cleanup inp_remove_ws(), #3/5, drop `curr', use `s' instead 2014-12-31 15:12:06 +01:00
rlar 0081ec9b51 inpcom.c, cleanup inp_remove_ws(), #2/5, highlight `s' beeing almost unused 2014-12-31 15:11:46 +01:00
rlar 179d55547c inpcom.c, cleanup inp_remove_ws(), #1/5, highlight `s' beeing const 2014-12-31 15:11:05 +01:00
rlar 9b1f248c52 inpcom.c, inp_remove_ws(), #7/7, invert 'if' expression 2014-12-28 20:07:20 +01:00
rlar d2371be535 inpcom.c, inp_remove_ws(), #6/7, reorder condition, highlight similiarity 2014-12-28 20:06:12 +01:00
rlar cf6582ea8c inpcom.c, inp_remove_ws(), #5/7, simplify condition 2014-12-28 20:05:41 +01:00
rlar 2c200ae453 inpcom.c, inp_remove_ws(), #4/7, simplify condition 2014-12-28 20:04:59 +01:00
rlar 0e74b5be15 inpcom.c, inp_remove_ws(), #3/7, combine `if' expressions 2014-12-28 20:04:19 +01:00
rlar 70c9350359 inpcom.c, inp_remove_ws(), #2/7, combine `if' expressions 2014-12-28 20:03:27 +01:00
rlar 51914a4088 inpcom.c, inp_remove_ws(), #1/7, split if-then-else 2014-12-28 20:02:27 +01:00
rlar 718c85a545 inpcom.c, inp_remove_ws(), don't insert whitespace at end of line 2014-12-28 20:01:44 +01:00
Thomas Uhle 2851e650d3 sharedspice.c, use GetCurrentThreadId() instead of GetTreadID()
Thanks to Thomas Uhle for this patch, see
  http://sourceforge.net/p/ngspice/patches/26/
  #26 GetThreadId() missing in older Win32 API, proposing to use GetCurrentThreadId() instead
2014-12-20 20:17:29 +01:00
rlar ed73bf393e inpcom.c, `inp_quote_params()', fixme, express doubts 2014-12-20 19:02:56 +01:00
rlar 8adb888300 inpcom.c, cleanup `inp_quote_params()', local scope for some variables 2014-12-20 18:51:39 +01:00
rlar 47d6b50f2e inpcom.c, cleanup `inp_quote_params()', drop `beg' 2014-12-20 18:50:48 +01:00
rlar 075b96bb05 inpcom.c, cleanup `inp_quote_params()', drop `new_str' 2014-12-20 18:50:27 +01:00
rlar 1b49bb6ea4 inpcom.c, cleanup `inp_quote_params()', don't poke string 2014-12-20 18:49:34 +01:00
rlar 6a6c9a9409 inpcom.c, cleanup `inp_quote_params()', use `skip_ws()' 2014-12-20 18:49:25 +01:00
rlar 7a2dfd46eb inpcom.c, `inp_quote_params()', bug fix, starting point for search of next identifier 2014-12-20 18:49:06 +01:00
rlar d6c280c9b1 inpcom.c, `inp_sort_params()', move `inp_quote_params()' invocation to the epilogue 2014-12-15 20:30:50 +01:00
rlar 9294b42327 inpcom.c, `inp_reorder_params_subckt()', don't process the .subckt card itself by `inp_quote_params()'
actually, any .dot card is ignored by `inp_quote_params()' anyway
2014-12-15 20:04:34 +01:00
rlar 2e2f4fc69c inpcom.c, cleanup `inp_reorder_params()', use NULL instead of `end' 2014-12-15 19:52:31 +01:00
rlar aee2561f5a inpcom.c, `inp_sort_params()', do not unnecessarily swap params 2014-12-14 22:41:46 +01:00
rlar 84252fee5e inpcom.c, cleanup `inp_fix_subckt()', use `line_free_x()' 2014-12-14 22:30:58 +01:00
rlar e9d37d0637 inpcom.c, cleanup `inp_fix_subckt()', simplify list concatenation 2014-12-14 22:30:53 +01:00
rlar c09fd54a54 inpcom.c, bug fix, `inp_sort_params()' will do the concatenation 2014-12-14 22:28:04 +01:00