Commit Graph

3997 Commits

Author SHA1 Message Date
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
rlar ada71a6ec7 inpcom.c, `inp_fix_subckt()', bogus and useless invocation of `inp_quote_params()' 2014-12-14 22:03:13 +01:00
rlar 0595602c40 inpcom.c, cleanup `inp_sort_params()', drop unused `end_card' 2014-12-14 22:02:58 +01:00
rlar 0d610d4c7a fix `quote' spelling 2014-12-14 22:02:32 +01:00
rlar 1ab1213771 inpcom.c, cleanup `inp_reorder_params_subckt()', swallow `deck' 2014-12-14 19:41:29 +01:00
rlar 63c9bdf1ca inpcom.c, cleanup `inp_reorder_params()', swallow `deck' 2014-12-14 19:40:25 +01:00
rlar a842144e02 inpcom.c, cleanup `inp_reorder_params()', swallow `end' 2014-12-14 19:38:54 +01:00
rlar e09c962f1b inpcom.c, abstraction, introduce `inp_qoute_params()' 2014-12-14 19:20:52 +01:00
rlar 3819912e34 inpcom.c, cleanup `inp_sort_params()', local scope for some variables 2014-12-14 19:20:51 +01:00
rlar 956831f922 swallow warning in commit "inpcom.c, teemper bug fix, ..." 2014-12-14 19:20:48 +01:00
rlar 8bf9a67fc8 inpcom.c, cleanup `inp_sort_params()' 2014-12-14 16:20:53 +01:00
rlar aeec110c64 inpcom.c, cleanup `inp_sort_params()' 2014-12-14 16:03:59 +01:00
rlar 726f1d3fb8 inpcom.c, teemper bug fix, rewrite `inp_functionalise_identifier()'
do not compare against `VALIDCHARS'
  which is much to broad with respect to our operators
2014-12-13 22:36:18 +01:00
rlar 9579b78091 inpcom.c, inp_fix_temper_in_param(), abstraction, introduce `inp_functionalise_identifier()' 2014-12-13 18:23:30 +01:00
rlar ff613c3c41 inpcom.c, abstraction, yet another `ya_search_identifier()' 2014-12-06 20:48:26 +01:00
rlar c5e0bcde04 cleanup using `hypot()' 2014-12-06 20:41:11 +01:00
rlar eafa0a9bed inpcom.c, use backwards protected `skip_back_ws_()' 2014-12-05 19:39:51 +01:00
rlar e0859d78c0 inpcom.c, rewrite `inp_fix_temper_in_param()' 2014-12-02 20:04:23 +01:00
rlar 7524ad2ee6 src/misc/string.c, rewrite using `copy_substring()' 2014-12-01 20:18:59 +01:00
rlar 45cfdde701 src/frontend/plotting/plotit.c, plotit(), fix command line buffer overflow 2014-11-30 22:15:37 +01:00
rlar d18d2a935c src/frontend/variable.c, rewrite `cp_variablesubst()' 2014-11-30 20:58:29 +01:00
rlar 33d33e9d50 src/frontend/variable.c, fix expansion of '$var' when $var is an empty list
test case:
 set foo = ( )
 set foo = ( $foo baz bar )
 echo $foo
2014-11-30 11:20:05 +01:00
rlar bd441171a7 inpcom.c, inp_fix_param_values(), bug fix, #295 .model fails when a literal numerical parameter value starts with a '+' 2014-11-10 21:18:18 +01:00
rlar 5e76305ffa inpcom.c, inp_modify_exp(), bug fix, enforce precedence when numparm substitutions come into play 2014-11-06 21:16:24 +01:00
rlar 30742f30a4 inpcom.c, inp_modify_exp(), bug fix, #294 B source failure when using an unary minus 2014-11-06 18:29:54 +01:00
rlar c79d2482ae inp_modify_exp(), remove operator rewrite `**' --> `^'
Thats implemented in the lexer for B expressions,
( `PTlex()' in src/spicelib/parser/inpptree.c )
2014-11-04 19:59:40 +01:00
rlar 70ad8cce5f inp_modify_exp(), cleanup #17/17, polish while loop 2014-11-04 18:56:34 +01:00
rlar aa05b6f095 inp_modify_exp(), cleanup #16/17, whitespace 2014-11-04 18:56:34 +01:00
rlar b37db50aed inp_modify_exp(), cleanup #15/17, use postincrement 2014-11-04 18:56:34 +01:00
rlar b58c8252cc inp_modify_exp(), cleanup #14/17, reduce scope of `buf' 2014-11-04 18:56:34 +01:00
rlar e1f8344bae inp_modify_exp(), cleanup #13/17, rename `ustate' --> `state' 2014-11-04 18:56:34 +01:00
rlar 970b5ed772 inp_modify_exp(), cleanup #12/17, rename `actchar' --> `c' 2014-11-04 18:56:32 +01:00
rlar 88a01bfd68 inp_modify_exp(), cleanup #11/17, rename `str_ptr' --> `s' 2014-11-04 18:56:24 +01:00
rlar b023f36dbb inp_modify_exp(), cleanup #10/17, use tprintf() 2014-11-04 18:55:37 +01:00
rlar 2992d6b416 inp_modify_exp(), cleanup #9/17, use `int' for `i' 2014-11-04 18:55:36 +01:00
rlar ca767ef08f inp_modify_exp(), cleanup #8/17, use an enum for `ustate' 2014-11-04 18:55:34 +01:00
rlar c792f344bb inp_modify_exp(), cleanup #7/17, use postincrement 2014-11-04 18:53:29 +01:00
rlar 381b5d9ec1 inp_modify_exp(), cleanup #6/17, rewrite 2014-11-04 18:53:28 +01:00
rlar 49c233029a inp_modify_exp(), cleanup #5/17, local scope for variables 2014-11-04 18:53:28 +01:00
rlar 6bc63f798d inp_modify_exp(), cleanup #4/17, cleanup for loop 2014-11-04 18:53:28 +01:00
rlar 74954fbcfe inp_modify_exp(), cleanup #3/17, drop `new_str' 2014-11-04 18:53:28 +01:00
rlar 3d842352aa inp_modify_exp(), cleanup #2/17, remove redundant assignments 2014-11-04 18:53:26 +01:00
rlar 3fc7b99292 inp_modify_exp(), cleanup #1/17, use tprintf() 2014-11-04 18:50:53 +01:00
rlar 87960d52b4 inpcom.c, use tprintf() to simplify code in inp_bsource_compat() 2014-11-02 19:46:16 +01:00
rlar 8b04ff6b7c inpcom.c, use inp_modify_exp() to remove duplicated code in inp_bsource_compat() 2014-11-02 19:45:42 +01:00
rlar 5464859ebb inpcom.c, inp_bsource_compat(), shrink brace removal to the actual b-expression 2014-11-02 18:45:41 +01:00
rlar 5550d53512 inpcom.c, inp_bsource_compat(), fix an assertion 2014-11-02 18:45:28 +01:00
rlar 71a1b27a23 inpcom.c, inp_modify_exp(expr), offload tfree(expr) to the invoker 2014-11-02 18:45:14 +01:00
rlar 1f9cf0b6b5 inpcom.c, bug fix, #293 Bug in .option rseries = <value> with parallel inductors
reported by João Alberto and Andy Fierman in
   http://sourceforge.net/p/ngspice/bugs/293/
2014-10-30 20:18:11 +01:00
rlar 254be00842 src/frontend/postcoms.c, cleanup, unused variable `appendwrite' 2014-10-12 22:08:19 +02:00
rlar e08dcafbe9 cleanup, signature of CKTacDump() and CKTdump(), void* --> runDesc* 2014-10-12 22:07:28 +02:00
Jim Holmes 85ae073471 src/frontend/postcoms.c, bugfix, write/save an xspice `event' node
In function EVTfindvec() XSPICE can create
  a `dvec' with a non NULL `v_scale' slot.
This special scale with name "step"
  differs from the current plot `pl_scale' slot
  and triggered ancient buggy code here.
2014-10-12 19:32:17 +02:00
rlar 5c97e31049 cleanup, use '\0' and NULL 2014-09-20 19:20:20 +02:00
rlar 0865747d88 numparam/mystring.c, cleanup functions which return `void' 2014-09-20 18:55:32 +02:00
rlar c6a8429258 src/maths/cmaths, implement `nint()' (.control language) 2014-09-20 17:15:10 +02:00
rlar 9e72296e40 src/spicelib/parse, implement `nint()' (`B' language) 2014-09-20 17:15:09 +02:00
rlar 2602a492b2 fix `log' in `B' and in `.control', to base e instead of 10
In the B language this can be considered a bug fix.

In the .control language this is a severe change
  and breaks backwards compatibility.

In all three languages 'numparam' 'B' and '.control' we now have
  ln    to the base e
  log   to the base e
  log10 to the base 10

Thus log and log10 is now consistent
  with the vast majority of programming languages.

ln is merely for convenience.
  very few other languages have it.
  I'd like to discourage its usage.
2014-09-12 19:18:11 +02:00
rlar abfd38b535 B language, introduce `log10' 2014-09-12 19:10:07 +02:00
rlar 88bc7874f0 numparm, introduce `log10' 2014-09-12 19:09:56 +02:00
rlar 99eade8ec9 cleanup, rename cx_ln --> cx_log (.control language) 2014-09-12 19:09:52 +02:00
rlar c926f46986 cleanup, rename rename cx_log --> cx_log10 (.control language) 2014-09-12 19:09:42 +02:00
rlar bdf70bd2b0 cleanup, rename PTln --> PTlog, PTF_LN --> PTF_LOG (`B' language) 2014-09-12 19:09:30 +02:00
rlar 93a212ca3c cleanup, rename PTlog --> PTlog10, PTF_LOG --> PTF_LOG10 (`B' language) 2014-09-12 19:05:56 +02:00
rlar 5e8856d944 inpcom.c, inp_get_func_from_line(), allow an optional '=' in ".func foo() = {expr}" 2014-08-12 18:10:14 +02:00
rlar e1f0dc5893 numparam, nupa_define(), drop unused argument `pval' 2014-08-10 20:21:48 +02:00
rlar c2028203a8 numparam, unify `entry' variable 2014-08-10 20:21:43 +02:00
rlar a67b74ab9f numparam, unify `dico' variable 2014-08-10 20:21:39 +02:00
rlar e952500be3 numparam, rename `tdico' --> `dico_t' 2014-08-10 20:21:34 +02:00
rlar f3ce5bde2c numparam, rename `entry' --> `entry_t' 2014-08-10 20:21:29 +02:00
rlar 1910f50179 numparam, cleanup typedefs 2014-08-10 20:21:25 +02:00
rlar 612777d79d numparam, drop unused code 2014-08-10 20:21:19 +02:00
rlar cbe9aca764 inpcom.c, inp_split_multi_param_lines(), drop `keep' business 2014-08-10 16:59:28 +02:00
rlar 8a8a4f2fdb inpcom.c, inp_split_multi_param_lines(), bug fix, skip ',' when splitting .param lines 2014-08-10 16:58:05 +02:00
rlar e0a74261ae numparam, cleanup `symbols' reallocation 2014-08-09 20:51:02 +02:00
rlar 699ea93d1e numparam, combine `symbols[0]' with `symbols[>0]' processing 2014-08-09 20:49:46 +02:00
rlar 8ee943e0c8 numparam, rename `local_symbols' --> `symbols' 2014-08-09 20:49:25 +02:00
rlar 30fc375e2c numparam, use `local_symbols[0]' instead of `global_symbols' 2014-08-09 20:48:56 +02:00
rlar cdf4623b6f xpressn.c, whitespace 2014-08-09 19:38:29 +02:00
rlar 4592c1af97 xpressn.c, reorder `dicostack_pop()' 2014-08-09 19:38:25 +02:00
rlar f4480c1cb9 xpressn.c, split `dicostack()' into `dicostack_push()' and `dicostack_pop()' 2014-08-09 19:38:18 +02:00
rlar 9973b3d1f8 xpressn.c, rename `define()' --> `nupa_define()' 2014-08-09 19:38:14 +02:00
rlar 583492ab41 spicenum.c, shrink scope of some hash pointers 2014-08-09 19:38:09 +02:00
rlar f5d05af51d inpgmod.c, INPgetModBin(), use model_name_match() 2014-08-09 18:17:51 +02:00
rlar b663731379 rewrite model_bin_match(), rename --> model_name_match() 2014-08-09 18:17:34 +02:00
rlar 0e4b3f3b5b inpcom.c, inp_get_func_from_line(), consider whitespace and syntax errors 2014-08-08 19:13:16 +02:00
rlar 999967ae05 inpcom.c, inp_sort_params(), simplify card insertion 2014-08-06 19:31:25 +02:00
rlar 70d420692a inpcom.c, inp_get_func_from_line(), add some minimalistic syntax error check 2014-08-06 19:08:02 +02:00
rlar 26fd874060 inpcom.c, inp_sort_params(), whitespace 2014-08-03 19:09:53 +02:00
rlar d49bf31819 inpcom.c, inp_sort_params(), cleanup usage of `max_level' 2014-08-03 19:09:53 +02:00
rlar 4594e54d50 inpcom.c, inp_sort_params(), cleanup usage of `skipped' 2014-08-03 19:09:53 +02:00
rlar e6e03ead75 inpcom.c, inp_sort_params(), local scope for `param_name' 2014-08-03 19:09:52 +02:00
rlar 17670eeaa9 inpcom.c, inp_sort_params(), transform a for loop 2014-08-03 19:09:52 +02:00
rlar 8209a02e70 inpcom.c, inp_sort_params(), drop `param_str' 2014-08-03 19:09:52 +02:00
rlar ff4293af18 inpcom.c, inp_sort_params(), drop `found_in_list' 2014-08-03 19:09:52 +02:00
rlar 3899cc5585 inpcom.c, inp_sort_params(), cleanup using for loop 2014-08-03 19:09:52 +02:00
rlar 70b74028d1 inpcom.c, inp_sort_params(), rename `param_skip', `ptr_array', `ptr_array_ordered' 2014-08-03 19:09:52 +02:00
rlar b9ea286da7 inpcom.c, inp_sort_params(), cleanup usage of `num_params' 2014-08-03 19:09:52 +02:00
rlar 0927932b94 inpcom.c, inp_sort_params(), cleanup usage of `arr_size' 2014-08-03 19:09:52 +02:00
rlar 8d0f205969 inpcom.c, inp_sort_params(), rename `ptr' --> `c' 2014-08-03 19:09:47 +02:00
rlar be170de6e2 inpcom.c, inp_get_param_level(), rename variables 2014-08-03 19:02:27 +02:00
rlar 505a4112a7 inpcom.c, inp_get_param_level(), rewrite for readability 2014-08-03 19:02:14 +02:00
rlar fefa690714 inpcom.c, inp_get_param_level(), bug fix, access out of bounds 2014-08-03 19:02:04 +02:00
rlar a002a5f6ba inpcom.c, inp_sort_params(), cleanup using new `struct depedency' 2014-08-03 12:50:37 +02:00
rlar 268de0a341 inpcom.c, inp_sort_params(), introduce `search_plain_identifier()' 2014-08-02 19:30:03 +02:00
rlar cea13aef16 partial revert previous commit 2014-08-02 19:26:25 +02:00
rlar 72779956b5 inpcom.c, inp_fix_subckt(), don't modify the processed string 2014-08-02 13:16:06 +02:00
rlar a84e181581 inpcom.c, inp_fix_subckt(), drop unused code 2014-08-02 13:02:09 +02:00
rlar b50af8e8df inpcom.c, inp_fix_subckt(), cleanup 2014-08-02 12:59:19 +02:00
rlar 668b7e23c5 inpcom.c, abstraction, introduce `inp_spawn_brace()' 2014-08-02 12:08:23 +02:00
rlar 26a036ed54 inpcom.c, inp_chk_for_multi_in_vcvs(), comment 2014-08-02 11:45:11 +02:00
rlar d522c7cd18 inpcom.c, inp_chk_for_multi_in_vcvs(), extend the last but one commit 2014-07-30 19:00:48 +02:00
rlar b2e8bec2a9 inpcom.c, inp_chk_for_multi_in_vcvs(), whitespace 2014-07-30 18:48:35 +02:00
rlar c7c9f38523 inpcom.c, inp_chk_for_multi_in_vcvs(), rewrite for readability 2014-07-30 18:44:28 +02:00
rlar 6208c96036 inpcom.c, inp_chk_for_multi_in_vcvs(), emphasise error processing 2014-07-29 20:42:17 +02:00
rlar f5202201c3 inpcom.c, inp_chk_for_multi_in_vcvs(), reorder 2014-07-29 20:26:00 +02:00
rlar 29a4959f5d inpcom.c, inp_chk_for_multi_in_vcvs(), cleanup using more and better named variables 2014-07-29 20:10:46 +02:00
rlar e4e2abdf09 inpcom.c, inp_chk_for_multi_in_vcvs(), use `strchr()' 2014-07-29 18:40:00 +02:00
rlar 4436a42dbc inpcom.c, inp_chk_for_multi_in_vcvs(), bug fix 2014-07-27 18:55:50 +02:00
rlar 75ab9ec5e5 inpcom.c, inp_read(), swallow a warning 2014-07-26 20:37:15 +02:00
rlar 24a22f1398 subckt.c, treat "0" and "null" like any other global node 2014-07-26 20:23:26 +02:00
rlar b9ecd4d28e subckt.c, rewrite `collect_global_nodes()' 2014-07-25 21:19:52 +02:00
rlar d82b836136 subckt.c, inp_subcktexpand(), abstraction, new function `collect_global_nodes()' 2014-07-25 21:09:29 +02:00
rlar 833c8b972e subckt.c, rename global variables 2014-07-25 21:09:25 +02:00
rlar 6d18a1b40d subckt.c, inp_subcktexpand(), cleanup local variables 2014-07-25 21:09:21 +02:00
rlar 0568974b85 subckt.c, inp_subcktexpand(), cleanup `.meas' specific processing 2014-07-25 21:09:14 +02:00
rlar 5aa4bd4a1c subckt.c, bug fix, multiple .global decks shall behave "accumulative" 2014-07-23 20:34:40 +02:00
rlar ed53864a9e subckt.c, doit(), whitespace 2014-07-18 18:52:21 +02:00
rlar 3393d68818 subckt.c, doit(), cleanup, local variables 2014-07-18 18:52:20 +02:00
rlar 7d44aa9564 subckt.c, doit(), fix an ancient memory leak when use_numparams == FALSE 2014-07-18 18:52:19 +02:00
rlar f2abbf1528 subckt.c, doit(), cleanup 2014-07-18 18:52:18 +02:00
rlar 6b959952a3 subckt.c, doit(), rename `savenext' --> `rest_of_c' 2014-07-18 18:52:17 +02:00
rlar 05d239b748 subckt.c, doit(), rename `lcc' --> `su_deck' 2014-07-18 18:52:17 +02:00
rlar 822c5150d5 subckt.c, doit(), cleanup, use `c' instead of `lcc' 2014-07-18 18:52:16 +02:00
rlar 45648d4caa subckt.c, doit(), reorder 2014-07-18 18:52:15 +02:00
rlar 5944a2505a subckt.c, doit(), rename `lc' --> `prev_of_c' 2014-07-18 18:52:14 +02:00
rlar 73935377ff subckt.c, doit(), drop redundant assignment 2014-07-18 18:52:12 +02:00
rlar d6106cfbfc subckt.c, cleanup `doit()' 2014-07-16 20:42:57 +02:00
rlar 650352e3e8 subckt.c, cleanup `doit()' 2014-07-16 20:39:41 +02:00
rlar 8381877eee subckt.c, doit(), fix an ancient memory leak when use_numparams == FALSE 2014-07-16 20:35:39 +02:00
rlar 82039a1166 subckt.c, cleanup `doit()', polish 2014-07-16 20:27:52 +02:00
rlar 87c88f02c2 subckt.c, cleanup `doit()', rename some variables 2014-07-16 18:05:24 +02:00
rlar c9725d70eb subckt.c, cleanup `doit()', rename some variables 2014-07-16 17:59:11 +02:00
rlar 8ccaa5bdca subckt.c, cleanup `doit()', drop redundant test 2014-07-16 17:53:47 +02:00
rlar 86b6fb8c03 subckt.c, cleanup `doit()' 2014-07-15 21:44:57 +02:00
rlar 1e83c0772b subckt.c, cleanup `doit()' 2014-07-15 20:44:33 +02:00
rlar c105c320f8 subckt.c, cleanup `doit()' `modtranslate()' `devmodtranslate()' 2014-07-15 19:46:01 +02:00
rlar 1ae1909641 inp_sort_params(), simplify, "%s" does work for the empty string 2014-07-13 18:52:42 +02:00
rlar 63db630a0a inp_fix_temper_in_param(), cleanup using 'skip_back_ws()' 2014-07-13 18:34:14 +02:00
rlar 6325a4b7ab inp_fix_temper_in_param(), bug fix, failure to skip whitespace 2014-07-13 18:32:02 +02:00
rlar 5c50ec501d inpcom.c, cleanup using new function 'search_identifier()' 2014-07-13 18:03:27 +02:00
rlar a9a43e4b76 inpcom.c, cleanup inp_add_series_resistor() 2014-07-12 14:55:19 +02:00
rlar 7476dec093 inpcom.c, use '\0' 2014-07-12 14:54:03 +02:00
rlar 7f7453a227 inp_do_macro_param_replace(), fix several bugs concerning .func processing 2014-07-08 18:19:26 +02:00
rlar fd47aafc4e fix commit, "bug fix, `#279 Problem when using a function to set initial value" 2014-07-06 11:00:05 +02:00
Giorgio Vazzana 0348dcd251 bug fix, #286 buffer overflow in src/frontend/plotting/grid.c 2014-06-26 19:50:18 +02:00
rlar 22b2349893 fix #285 .spiceinit cannot be read in from home directory
reported by Craggan in bug report #285
http://sourceforge.net/p/ngspice/bugs/285/
2014-06-26 19:50:13 +02:00
rlar 6dc5f12914 USE_OMP, dont miss error return codes when a DEVLoadOMP() invocation fails 2014-06-26 19:50:12 +02:00
dwarning e562243558 hsm2ld.c, when multithreading, always print the debuging header lines 2014-06-26 19:50:10 +02:00
dwarning a94bcaeb0e multicore simulation with hisim2 2014-06-26 19:50:09 +02:00
rlar 25a093c557 hsm2eval.c, avoid static variables to allow multithreading 2014-06-26 19:50:08 +02:00
rlar 4eeb1361d6 spicenum.c, rewrite nupa_done() 2014-06-26 19:50:07 +02:00
rlar d2d606a79a spicenum.c, rewrite putlogfile() 2014-06-26 19:50:06 +02:00
rlar da6790e68d numparam, change np_trunc() and np_round() return type to double 2014-06-26 19:50:05 +02:00
rlar c1bd74f982 mystring.c, drop auxiliary implementations of np_round() and np_trunc() 2014-06-26 19:50:04 +02:00
rlar 4abb068405 xpressn.c, use fabs() 2014-06-26 19:50:03 +02:00
rlar d17c0d7813 mystring.c, rewrite spos_() 2014-06-26 19:50:02 +02:00
dwarning 27cb51afca hisim2, remove register class 2014-06-26 19:50:01 +02:00
dwarning a646a5f78f devices/bsim4, update to version 4.8 2014-06-26 19:49:34 +02:00
dwarning 010174ec2a devices/bsim4v7, add to build infrastructure 2014-06-26 19:48:15 +02:00
dwarning 58122ce47b devices/bsim4v7, string substitution, bsim4 -> bsim4v7 2014-06-26 19:46:01 +02:00
dwarning 7e4128c60a devices/bsim4v7, new directory, plain copy from devices/bsim4 2014-06-26 19:44:57 +02:00
dwarning cba69c4850 devices/bsim4v4, remove ancient bsim4 model version 4.4 2014-06-26 19:43:54 +02:00
rlar 9736b0fe2b dev.c, get rid of hardwired device enumeration 2014-06-26 19:04:55 +02:00
rlar bf3888c490 numparam, drop "//" comment processing (already done in inpcom.c) 2014-06-24 18:20:18 +02:00
rlar 80b0ac22a4 xpressn.c, rewrite message() usage 2014-06-24 18:20:12 +02:00
dwarning 5bb69f77d1 hisimhv1, hisim2, clean up unused variables 2014-06-24 18:19:51 +02:00
rlar 20d651f00c subckt.c, #5/5 local scope for orig_modnames 2014-06-24 18:18:15 +02:00
rlar c01fa9153f subckt.c, #4/5 rename modnames --> new_modnames 2014-06-24 18:18:13 +02:00
rlar d7882badfd subckt.c, #3/5 rename translated_model_name --> new_model_name 2014-06-24 18:18:07 +02:00
rlar 39abfee774 subckt.c, #2/5 rename submod --> orig_modnames 2014-06-24 18:17:51 +02:00
rlar cb25ce757e subckt.c, #1/5 cleanup modtranslate() signature 2014-06-24 18:17:42 +02:00
rlar 609c246b95 cktpzstr.c, cleanup minimising / maximising operations 2014-05-15 18:50:35 +02:00
rlar aa7a7606c7 avoid multiple declarations of controlled_exit(), add 'noreturn' attribute 2014-05-14 21:36:18 +02:00
rlar 9a9e1c5413 ifeval.c, IFeval(), pronounce definite end of instructions flow 2014-05-14 20:55:32 +02:00
rlar fbdea9be3d inpcom.c, inp_fix_inst_calls_for_numparam() rewrite for cleanup 2014-05-14 20:23:21 +02:00
rlar 6d30585a5e inpcom.c, inp_fix_inst_calls_for_numparam(), local scope for some vars 2014-05-14 19:42:48 +02:00
rlar 5862d1b297 inpcom.c, inp_fix_inst_calls_for_numparam(), avoid excess tfree() invocations 2014-05-14 19:16:13 +02:00
rlar e652dc40be inpcom.c, drop unused artifacts 2014-05-14 18:18:22 +02:00
rlar 7a6b569b3b inpcom.c, rewrite bizarre code in inp_get_params() 2014-05-14 18:15:00 +02: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
rlar 90baa6a251 xspice, fix -I path order
make sure $(top_builddir)/src/include comes first
  to fetch the correct ngspice/config.h file
2014-05-10 22:37:05 +02:00
rlar eedb80a2ba rewrite, using IFerrorf() 2014-05-09 16:36:57 +02:00
dwarning 157aedd72d update hisimhv to version 1.2.4 2014-05-09 16:36:57 +02:00
rlar 6f89395d8a fix commit: introduce OUTerrorf() and IFerrorf() 2014-05-07 20:06:00 +02:00
dwarning 452544b30e apply few patches according the model developers web site 2014-05-07 18:45:00 +02:00
dwarning d671e70b6c clarify level parameter for hisim and hisimhv 2014-05-05 20:35:03 +02:00
dwarning de6293de18 apply few patches according the model developers web site 2014-05-05 20:18:16 +02:00
dwarning 1e1c4fe168 apply few patches according the model developers web site 2014-04-20 19:04:29 +02:00
rlar cc235294ec lexical.c, change semantics of an ESCAPE in a given input `string'
now simply skip it.

presumably and in accordance to what the comments seems to suggest
  ESCAPE never was really meant to be read as '['
  but was replaced just to get it out of way deeper in the for loop
  where an ESCAPE starts an ancient mechanism to reenter
    interactive input via a terminals TIOCSTI capability
2014-04-15 21:16:50 +02:00
rlar cb75a749b8 lexical.c, avoid to read beyond end of `string' 2014-04-15 21:16:49 +02:00
rlar f42b5b16c7 lexical.c, simplify 2014-04-15 21:16:48 +02:00
rlar 8c7ae0d61c lexical.c, simplify using cp_readchar() 2014-04-15 21:16:46 +02:00
rlar 448099ef94 lexical.c, new function cp_readchar() for abstraction 2014-04-15 21:12:46 +02:00
rlar 9bd2cdfc7b modtranslate(), cleanup using tprintf() 2014-04-13 19:58:47 +02:00
rlar 7813f6cf6a cleanup, use tprintf() 2014-04-12 21:34:16 +02:00
rlar cc56c90b9d drop asprintf() 2014-04-12 21:02:31 +02:00
rlar 80dd41451f introduce tvprintf() 2014-04-12 21:01:36 +02:00
rlar 03f0ef778f bug fix, need va_copy() when reusing a va_list 2014-04-12 20:37:36 +02:00
rlar a9bdfe3b00 cleanup spice_format_length() 2014-04-12 20:31:04 +02:00
rlar 0750749962 mktemp.c, use tprintf() 2014-04-05 19:44:13 +02:00
rlar 7aa454e5b4 rewrite, using tprintf() 2014-04-05 19:10:12 +02:00
rlar a4780f8e34 string.c, introduce tprintf() 2014-04-05 18:44:27 +02:00
rlar 2881eef750 ngmultidec.c, drop superfluous TMALLOC string allocation 2014-04-05 18:44:16 +02:00
rlar 1a0a00c9c2 inp.c, nicer printout of multi line error messages 2014-04-05 18:44:04 +02:00
rlar 575d42b0a5 mifgetmod.c, rewrite error report for 'unrecognized parameter' 2014-04-05 18:39:13 +02:00
rlar 4049e8ec1f rewrite, using IFerrorf() 2014-04-04 21:58:08 +02:00
rlar ea7372efe7 rewrite, useing IFerrorf()
OUTerror() and IFerror() are no more used,
  but kept for compatibility
2014-04-04 21:22:48 +02:00
rlar f26c1b71f9 introduce OUTerrorf() and IFerrorf()
a varargs variant of the older variants OUTerror() and IFerror()
2014-04-04 21:22:47 +02:00
rlar 0182f2f7ca swallow an unused format argument warning 2014-04-04 21:22:45 +02:00
Y.Niitsu 4de727f4a9 update bison generated files 2014-04-02 21:15:04 +02:00
Y.Niitsu 6e3f60c6bd frontend/parse.c, allow nested `indexing', for example foo[bar[n]]
.control
compose ex1 values 111 222 333
compose ex2 values 1 2 3
print ex1 ex2 ex1[ex2[1]]
.endc
2014-04-02 21:14:10 +02:00
rlar 08ca40fe73 sharedspice.c, bug fix, don't write beyond size of array `p' 2014-04-01 21:30:02 +02:00
rlar b6ed9a3620 bug fix, `#279 Problem when using a function to set initial value"
reported by Marcel Hendrix in
  http://sourceforge.net/p/ngspice/bugs/279/

"SPF_time" erroneously did match "time"

introduce a saver matcher for
  `v(' `i(' `temper' `time' and `hertz'
when checking for behavioural R,L,C devices
2014-04-01 21:17:00 +02:00
rlar 060257a468 inpcom.c, sharedlib, strip leading whitepace from circuit deck
this was traditionally done in inp_read() by readline(),
  and was missing for circuit decks passed by 'circarray'
2014-03-09 17:10:55 +01:00
h_vogt 8499ef0428 .option 'savecurrents' for storing all current of relevant devices 2014-02-07 22:47:09 +01:00
h_vogt 17185a601c asrcask.c: allow current readout like @bcur[i], if in current mode 2014-02-07 22:40:26 +01:00
dwarning 461026f2b9 fix to use garbage collector with --enable-gc 2014-02-07 13:19:35 +01:00
h_vogt bdb54257c7 outitf.c: new option interp to plot interpolated raw file data
during transient analysis
2014-02-01 14:24:04 +01:00
h_vogt 0609d231c0 runcoms2.c: prevent crash after 'remcirc' if no circuit is loaded 2014-01-29 21:21:16 +01:00
Henrik Forsten 3794c1eb20 mark end of struct GENmodel overlay 2014-01-19 17:38:32 +01:00
rlar 66281cad4e inpcom.c: exclude command 'shell' from lower case letter transformation
reported by Dominique Michel
[Ngspice-users] gs is confused with the shell command

shell gs -dBATCH -dNOPAUSE -sDEVICE=png256 -sOutputFile="plot.png"
2014-01-19 17:14:13 +01:00
h_vogt e58de3187c make use of Infile_Path in function open_with_path.
We may now use the following sequence for a file
search from a code model:
Infile_Path/<infile>
NGSPICE_INPUT_DIR/<infile>, where the path is given by the environmental variable
<infile>, where the path is the current directory
2014-01-18 19:17:38 +01:00
h_vogt 0a17d46509 new callback function cm_get_path, which makes the global
ngspice variable Infile_Path available to XSPICE code models
2014-01-18 19:14:42 +01:00
h_vogt 1f5de32512 global variable Infile_Path, which contains the
input netlist file path
2014-01-18 19:10:29 +01:00
h_vogt 57091b15f2 d_state: improved error messages 2014-01-18 18:54:01 +01:00
h_vogt 2877cfba22 file source: use open_with_path() 2014-01-18 18:50:50 +01:00
h_vogt bf1fb3f105 inp.c: prevent crash upon if_inpdeck() returning NULL 2014-01-17 20:24:44 +01:00
rlar ed23c7e315 set X11 window title from `graph->plotname'
in response to a bug report by Dominique Michel
  "#272 no title in plots"
  http://sourceforge.net/p/ngspice/bugs/272/
2014-01-11 16:24:25 +01:00
h_vogt 74b32f392c inpcom.c: E, G source, improved search for 'vol' and 'cur'
in response to a bug report by Marlize Schoeman
  "#274 VCVS Exxxx name and node names do not allow VOL as text"
  http://sourceforge.net/p/ngspice/bugs/274/
2014-01-11 16:24:23 +01:00
rlar f2093b17e8 parseunit(), support 'T' for "Tera"
in response to a bug report by Andy Fierman
  "#273 T = Tera = 1e12 suffix is ignored when used in a parameter in a subcircuit."
  http://sourceforge.net/p/ngspice/bugs/273/
2014-01-11 16:24:21 +01:00
h_vogt d5b2460123 inp.c, inp2q.c improve error message
when we exit() in batch mode due to a missing model definition
2014-01-11 16:24:19 +01:00
rlar bb28578956 workaround, avoid batch termination when there are .model issues
these were introduced by commit
  "inp.c, evtinit.c: improved error message suggested by Calin Andrian"
and caused ngspice checks to fail unexpectedly
2014-01-11 16:24:17 +01:00
h_vogt bd1b4a2162 gnuplot.c: enable correct terminal for non MINGW/MSVC 2014-01-11 16:24:14 +01:00
rlar 8803edc16b tfanal.c noisean.c, bug fix which was introduced in "CKTfndDev(), rewrite"
the original CKTfndDev() was able to limit its search
  for an instance with given name
  to instances of a certain "type"
(this was a speed optimisation which is of no use anymore,
  because we use a hashtable now)

the new CKTfndDev() does not consider "type"

thus, here in tfanal.c and noisean.c we have to check the "type"
  after CKTfndDev() since we no longer can limit its search
  to the given "type"
2014-01-11 16:24:12 +01:00
h_vogt 23ffcbf7d1 variable.c: prevent buffer overflow by limiting variable output to BSIZE_SP characters 2014-01-11 16:24:11 +01:00
h_vogt 52d8c7ec6e cm.h: add config.h to access #defines 2014-01-11 16:24:09 +01:00
h_vogt dfbaeaea29 com_ghelp.c: add info on non-availability of help to console versions w/o X display. 2014-01-11 16:24:08 +01:00
rlar a7a48ac8d3 analog/{square,triangle}, store boolean tran_init in STATIC_VAR itself 2014-01-02 09:57:17 +01:00
rlar 70f12fb1fd analog/{sine,square,triangle}, xtradev/core, change array access
avoid copy of parameter array,
which would need to be freed to avoid a memory leak

this is a modified and partial version of a patch provided by
Krzysztof Blaszkowski <kb@sysmikro.com.pl>
2014-01-02 09:57:14 +01:00
rlar 91449d438c analog/{sine,square,triangle}, xtradev/core, drop .h files 2014-01-02 09:57:03 +01:00
rlar 2bbfdd55cb analog/{sine,square,triangle}, xtradev/core, whitespace cleanup 2014-01-02 09:56:27 +01:00
dwarning 1e448f497d 1-f-code.c, correct the printout for noise generation 2014-01-02 09:54:01 +01:00
dwarning b535b43980 1-f-code.c, use fftw3 2014-01-02 09:54:00 +01:00
dwarning 9e01e1c384 com_fft.c, set hanning as default window 2014-01-02 09:53:58 +01:00
dwarning 38ad8f7602 com_fft.c, rename variable `tlen' --> `length' 2014-01-02 09:53:57 +01:00
dwarning dd290c1886 com_fft.c, correct array size and relay to specific array order for r2c transformation 2014-01-02 09:53:56 +01:00
dwarning 8ed75d166d com_fft.c, use FFTW3 for com_fft() and com_psd() 2014-01-02 09:53:54 +01:00
dwarning a90f916883 fftext.c, move the Bourke FFT code to fftext.c (rename macro) 2014-01-02 09:53:53 +01:00
dwarning c61e1bc8c6 fftext.c, move the Bourke FFT code to fftext.c (as a backup) 2014-01-02 09:53:52 +01:00
dwarning 2e79c16f55 cmath4.c, drop unused doubledouble() 2014-01-02 09:53:51 +01:00
dwarning 2671aef5cd cmath4.c, correct array size and relay to specific array order for r2c transformation 2014-01-02 09:53:49 +01:00
dwarning dc398f1387 cmath4.c, correct scale for ifft 2014-01-02 09:53:48 +01:00
dwarning 51c7f17186 cmath4.c, use FFTW3 for cx_fft() and cx_ifft() 2014-01-02 09:53:47 +01:00
dwarning cd8aa1ee04 cmath4.c, com_fft.c, cleanup 2014-01-02 09:51:41 +01:00
dwarning f989219f6f cmath4.c, com_fft.c, rename `size' --> `N' and `mm' --> `M' 2014-01-02 09:51:39 +01:00
h_vogt 75b144e17a polyfit.c, speed up fitting process when degree == 1
this patch war provided by Henrik Forstén in
  "#14 Special case for polyfit, move initw()"
  http://sourceforge.net/p/ngspice/patches/14/
2014-01-02 09:33:34 +01:00
h_vogt 0e2fc3ceef inpcom.c: allow node names and .func parameters having
equal string representation
2014-01-02 09:33:33 +01:00
h_vogt e2f3ea24c0 main.c, suppress progress report when '-o' is used to redirect output 2014-01-02 09:33:31 +01:00
h_vogt 2355bfc0ff main.c, fix stdout and stderr redirection and buffering with regard to '-o' and '-p'
in response to a bug report from  Johann Glaser
  "#259 Pipe mode: buffering"
  http://sourceforge.net/p/ngspice/bugs/259/
2014-01-02 09:33:30 +01:00
h_vogt a717fd01ab inpcom.c: enable .include with $end-of-line in .control section 2014-01-02 09:33:28 +01:00
h_vogt e97de24041 C99 functions are only available in MSVC 2013 and newer. Still needs testing! 2014-01-02 09:33:25 +01:00
rlar d146502fc9 ptfuncs.c, drop inaccurate replacements for ashinh() acosh() and atanh() 2014-01-02 09:33:23 +01:00
rlar d225c4f958 xpressn.c, introduce fortran style nint() rounding function 2014-01-02 09:33:21 +01:00
rlar a088a6e0e6 subckt.c, fix .model processing (scope) 2014-01-02 09:33:18 +01:00
h_vogt 59de942bdf enable parameter replacement in R, L, C lines, if equation is
without {} and not in a subcircuit
2014-01-02 09:33:16 +01:00
h_vogt 8dbefe2153 inpcom.c: allow proper 'temper' substitution
if device name and parameter name are the same,
or if parameter name is the last token in the line.
2014-01-02 09:33:09 +01:00
h_vogt bdcd7dc1a7 inp.c: evaluate for 'temper' only the models which have
been entered into the hash table ckt->MODnameHash
2014-01-02 09:33:07 +01:00
h_vogt 4e1c23780c dctran.c bug fix, reported by Berk Özer 2014-01-02 09:33:05 +01:00
h_vogt 75eee691c4 inpcom.c remove bug: parens around equation h, f
add equation + temper capability to gain of F-Source
2014-01-02 09:33:03 +01:00
h_vogt 606c98904d inpcom.c: H Source with equation and temper in transresistance 2014-01-02 09:33:01 +01:00
dwarning 2838eeb1ac devices/vbic, implement VBICsoaCheck() 2014-01-02 09:32:55 +01:00
dwarning 2875ac632f devices/hisim2, implement HSM2soaCheck() 2014-01-02 09:32:54 +01:00
dwarning f6c6fa85a0 devices/hisimhv1, implement HSMHVsoaCheck() 2014-01-02 09:32:52 +01:00
dwarning 7bafe7c238 devices/bsimsoi, implement B4SOIsoaCheck() 2014-01-02 09:32:51 +01:00
dwarning 8a005d8e4c devices/bsim4v6, implement BSIM4v6soaCheck() 2014-01-02 09:32:49 +01:00
dwarning 4b643d6b3f devices/bsim4v5, implement BSIM4v5soaCheck() 2014-01-02 09:32:48 +01:00
dwarning 5a64b7849c devices/bsim4, implement BSIM4soaCheck() 2014-01-02 09:32:46 +01:00
dwarning f9c05885fa devices/bsim3v32, implement BSIM3v32soaCheck() 2014-01-02 09:32:45 +01:00
dwarning 4e4ea00ba7 devices/bsim3, implement BSIM3soaCheck() 2014-01-02 09:32:43 +01:00
dwarning d44eeb05a4 devices/bjt, implement BJTsoaCheck() 2014-01-02 09:32:42 +01:00
dwarning b71a83f100 devices/dio, implement DIOsoaCheck() 2014-01-02 09:32:40 +01:00
dwarning 542bb9cd26 devices/cap, implement CAPsoaCheck() 2014-01-02 09:32:39 +01:00
dwarning 51f660d5f2 devices/res, implement RESsoaCheck() 2014-01-02 09:32:37 +01:00
rlar 5d3f4e7f55 introduce CKTsoaInit() 2014-01-02 09:32:36 +01:00
dwarning c8f5d49ddd implement CKTsoaCheck() 2014-01-02 09:32:34 +01:00
dwarning bf9ad0bdfd introduce new SPICEdev operation `DEVsoaCheck()' 2014-01-02 09:32:32 +01:00
rlar e2292cc5c4 inpcom.c, drop cp_tildexpand() in expand_this(), inp_pathresolve_at() shall do this 2014-01-02 09:32:29 +01:00
rlar 71fc51871e inpcom.c, rewrite .lib reading
use canonical file names to remember known .lib files
remember their directories in `habitat'
use inp_pathresolve_at() to find .lib files with regard to `searchpath' and current directory
2014-01-02 09:32:27 +01:00
rlar f2d3c9f122 inpcom.c, recurse expand_section_ref() 2014-01-02 09:32:25 +01:00
rlar 366d79b9b9 inpcom.c, cleanup 2014-01-02 09:32:24 +01:00
rlar 0420c0604b inpcom.c, whitespace cleanup 2014-01-02 09:32:22 +01:00