Commit Graph

3312 Commits

Author SHA1 Message Date
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
rlar 8fe86bb1c9 inpcom.c, reorder 2014-01-02 09:32:20 +01:00
rlar 0a2f5d2e55 inpcom.c, abstraction, introduce expand_section_ref() 2014-01-02 09:32:19 +01:00
rlar 6c30ad1b1e inpcom.c, simplify `.include' file processing using inp_pathresolve_at() 2014-01-02 09:32:17 +01:00
rlar 196102ee88 inpcom.c, introduce inp_pathresolve_at() 2014-01-02 09:32:15 +01:00
h_vogt 6480fabeaf tilde.c, enable search for home dir under MS Windows 2014-01-02 09:32:13 +01:00
rlar 51bbd8c4d4 inpcom.c, introduce inp_pathresolve(), rewrite inp_pathopen() using this 2014-01-02 09:32:11 +01:00
h_vogt 9959030765 inpcom.c, for mingw absolute pathnames may begin with /d/
allow this when variable 'mingwpath' is set in .spinit
2014-01-02 09:32:08 +01:00
h_vogt 85ddc5b6db inpcom.c, remove variable "sourcefile" and references to "sourcefile"
this will no longer be required for access to input file residing
in the executable's directory
2014-01-02 09:32:06 +01:00
rlar 9b4238ed04 inpcom.c, fix inp_pathopen(), always try to fopen() relative to the current working directory first 2014-01-02 09:32:03 +01:00
rlar 0ce23e6f10 inpcom.c, fix inp_pathopen(), relative path shall be expanded regarding "sourcepath" 2014-01-02 09:31:58 +01:00
rlar 7524882f67 inpcom.c, simplify using is_plain_filename(), fix incorrect comments 2014-01-02 09:31:56 +01:00
rlar e0c398024f inpcom.c, implement is_absolute_pathname() and is_plain_filename() 2014-01-02 09:31:55 +01:00
h_vogt 0b9df46e16 remove redundant #include 2014-01-02 09:31:51 +01:00
h_vogt bb121fe903 inp.c, evtinit.c: improved error message
suggested by Calin Andrian
2014-01-02 09:31:23 +01:00
h_vogt 780ccbfb3c prevent crash, if due to input bug ckt is not created,
reported by  Andrian
2014-01-02 09:31:21 +01:00
rlar 6af85a6389 xspice, move `-lm' to the end of the linker command line 2014-01-02 09:31:18 +01:00
h_vogt 8ad6bd209d replacements for functions missing in the msvc world 2014-01-02 09:31:10 +01:00
Calin Andrian c38f7236b1 MIFget_boolean(), allow numeric values 0 and 1 too 2014-01-02 09:26:28 +01:00
Anthony J. Bentley 7a9abebfe7 remove unnecessary include of sys/timeb.h. 2014-01-02 09:26:23 +01:00
rlar 492f1f006c numparam, almost full precision for stringified double float numbers 2014-01-02 09:25:48 +01:00
rlar 6a2060e472 xpressn.c, drop initkeys() 2013-12-31 16:42:06 +01:00
rlar 7463410a5e xpressn.c, drop "AND OR NOT DIV MOD DEFINED" keywords 2013-12-31 16:42:05 +01:00
rlar 6b1363dcf7 xpressn.c, use C strings for the arguments of `keywords()' 2013-12-31 16:42:04 +01:00
rlar a855a19d2c xpressn.c, drop '&' and '|' operators, (we have '&&' and '||') 2013-12-31 16:42:04 +01:00
rlar 719b5e5c20 inpcom.c, exclude currently unused functions 2013-12-31 16:42:03 +01:00
rlar df0d1826ca inpcom.c, drop ternary_fcn code in inpcom.c, the extended "formula" shall process ternary expressions 2013-12-31 16:41:36 +01:00
rlar ef3580d590 xpressn.c, whitespace cleanup 2013-12-31 16:41:35 +01:00
rlar 1ac45bfd57 xpressn.c, implement a?b:c in the "formula" parser 2013-12-31 16:41:34 +01:00
rlar 1b959e6a50 xpressn.c, drop XFU_V
probably accidentally introduced in commit

> Author: h_vogt <h_vogt>
> Date:   Sun Feb 7 11:27:59 2010 +0000
>
>     improved numparam error message
2013-12-31 16:41:34 +01:00
rlar 9cb20e97d0 xpressn.c, use enums instead of literals 2013-12-31 16:41:33 +01:00
rlar 297778127b xpressn.c, drop "Defd" enum, to be incorporated into a bigger enum 2013-12-31 16:41:32 +01:00
rlar 76c7cd6fbd xpressn.c, fix semantics of `int(x)' and remove dangerous macros
int(x) most probably shall be trunc(x) instead of floor(x)
  note trunc(x) was #defined beeing floor(x)
  note ln(x) was #defined beeing log(x)
2013-12-31 16:41:32 +01:00
rlar 2854fa71d4 fix an endless loop waiting for y/n when the input is at EOF
reported by Calin Andrian
  Subject: [Ngspice-devel] Invaild number bug
2013-12-31 16:41:31 +01:00
rlar 467eb58244 xpressn.c, fix semantics of '&&' and '||'
these shall interpret a value as a bool according to (value != 0)
and these shall evaluate to either 1.0 or 0.0
2013-12-31 16:41:30 +01:00
rlar f6d610a1b6 xpressn.c, whitespace cleanup 2013-12-31 16:41:30 +01:00
rlar 0a42a19b02 xpressn.c, fix `truth' for ternary_fcn()
0.0 is `false', everything else is `true'
2013-12-31 16:41:29 +01:00
rlar 589ded417a update bison generated files 2013-12-31 16:41:29 +01:00
rlar b32ae9f79b .control and `B' parser, fix precedence of '-' versus '^'
-2^2 shall be -(2^2) instead of (-2)^2
2013-12-31 16:41:28 +01:00
h_vogt ad5c09a865 remove unused code 2013-12-31 16:41:27 +01:00
rlar a4ac854d50 devices/hisimhv1, devices/hisim2, avoid overlapping globals TMF1 ... TMF6
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:27 +01:00
rlar aae92bf259 avoid overlapping "Dummy" symbols
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:26 +01:00
rlar a235b46795 inpcom.c, add missing condition `!comfile' for .title and .end processing 2013-12-31 16:41:25 +01:00
dwarning 5bc8429b2f correct the step incrementing type to SENS_LINEAR 2013-12-31 16:41:25 +01:00
h_vogt 3c49c4eb8f fix criterion to start `.lib' and `.global gnd' processing 2013-12-31 16:41:24 +01:00
rlar 10f651da35 inpcom.c: MSVC compatibility 2013-12-31 16:41:23 +01:00
rlar dc2cd6fe01 inpcom.c, cleanup inp_readall() #7/7, drop misleading comment 2013-12-31 16:41:22 +01:00
rlar 11573327f4 inpcom.c, cleanup inp_readall() #6/7, tautology `call_depth == 0' 2013-12-31 16:41:22 +01:00
rlar 893e094faa inpcom.c, cleanup inp_readall() #5/7, use `rv . line_number' itself 2013-12-31 16:41:21 +01:00
rlar 4b1cbd8c8b inpcom.c, cleanup inp_readall() #4/7, move inp_read() epilog to inp_readall() 2013-12-31 16:40:38 +01:00
rlar f29ef643dc inpcom.c, cleanup inp_readall() #3/7, return `line_number' too 2013-12-31 16:26:15 +01:00
rlar ab607102e6 inpcom.c, cleanup inp_readall() #2/7, move inp_read() prolog to inp_readall() 2013-12-31 16:26:14 +01:00
rlar d598630b72 inpcom.c, cleanup inp_readall() #1/7, introduce inp_read() 2013-12-31 16:26:12 +01:00
rlar 9b7a5ab54d bug fix, .include and .lib files don't have a `title' line 2013-12-31 16:26:11 +01:00
dwarning bdf3dced00 add missing tc1 and tc2 parameter entries in ask function 2013-12-31 16:26:10 +01:00
dwarning 5d2fd1ece0 whitespaces 2013-12-31 16:26:09 +01:00
dwarning 4965d02b5f fix an overlap in parameter definitions 2013-12-31 16:26:07 +01:00
rlar 6d371c9532 cleanup getopt_long() options 2013-12-31 16:26:06 +01:00
rlar e2bc7b4d89 read_a_lib(), drop call_depth, its always zero 2013-12-31 16:26:05 +01:00
rlar b19bd3fb3f expand_section_references(), drop call_depth, its always zero 2013-12-31 16:26:03 +01:00
rlar a009dfdbbe harmonize delete_libs() 2013-12-31 16:26:02 +01:00
h_vogt 02555fbe99 bug reported by Yamamaya: revert deleting dicoS structure in inp.c and measure.c:
still to be used by 'listing param'
deletion moved to com_remcirc()
2013-12-31 16:26:01 +01:00
h_vogt a2522def52 inpcom.c: patch provided by Krzysztof Blaszkowski
Allow spaces like { token } during parameter substitution
2013-12-31 16:25:59 +01:00
rlar d5b1c4faa5 inpcom.c, rewrite, collapsing find_lib() into read_a_lib() 2013-12-31 16:25:58 +01:00
rlar cf2f74c9e0 inpcom.c: '$' as end-of-line comment delimiter outside of .control section, '$ ' inside of .control section, # untabify 2013-12-31 16:25:57 +01:00
h_vogt 90a4be3a93 inpcom.c: '$' as end-of-line comment delimiter
outside of .control section,
'$ ' inside of .control section
2013-12-31 16:25:56 +01:00
h_vogt bee18c3b25 inpcom.c: allow special characters in function names 2013-12-31 16:25:54 +01:00
rlar a921b5444e inpcom.c: patch provided by Simon Chang: correct function name substitution #2 2013-12-31 16:25:53 +01:00
h_vogt 2c38a69f92 inpcom.c: patch provided by Simon Chang: correct function name substitution 2013-12-31 16:25:52 +01:00
rlar a94170d2ab gettok_node(), use copy_substring() 2013-12-31 16:25:50 +01:00
Krzysztof Blaszkowski 493aaba468 gettok_node(), avoid segfault when *s == NULL 2013-12-31 16:25:49 +01:00
Krzysztof Blaszkowski 23cdd5e53f inpcom.c: avoid segfault when `TABLE' is used without parentheses 2013-12-31 16:25:48 +01:00
rlar bf9551287e inp_stripcomments_line(), drop support for '--' comment style
seems to be not common in the spice world,
and interferes too much with mathematical expressions like
   {3--2}
2013-12-31 16:25:46 +01:00
Krzysztof Blaszkowski 9d223d6778 execute ft_sigintr_cleanup() outside of the signal handler
to avoid execution of non-reentrant functions
2013-12-31 16:25:45 +01:00
Krzysztof Blaszkowski 1cf3dc81bb abstraction, introduce ft_sigintr_cleanup() 2013-12-31 16:25:44 +01:00
Krzysztof Blaszkowski fde7be49b9 ft_sigintr(), reorder, side effect: if `ft_setflag' then gr_clean() won't be invoked
and can't be invoked anyway
  from inside of the signal handler
2013-12-31 16:25:43 +01:00
dwarning 06dd6abcf2 fix an overlap in parameter definitions 2013-12-31 16:25:41 +01:00
Krzysztof Blaszkowski 6a00876731 nipred.c, cleanup 2013-12-31 16:25:40 +01:00
Krzysztof Blaszkowski 30f1607a0a nipred.c, bug fix NIpred() when running 'TRAPEZOIDAL'
a long standing serious bug, allready in the very first commit from
  Date:   Thu Apr 27 20:03:57 2000 +0000

Nipred() after evaluating TRAPEZOIDAL case fell through into GEAR case.

see:
  http://sourceforge.net/p/ngspice/support-requests/18/
2013-12-31 16:25:39 +01:00
rlar bbdf2a2da0 revert, msvc doesn't support `#warning' 2013-12-31 16:25:37 +01:00
h_vogt 8015442a22 inpcom.c: improved character check around 'temper' 2013-12-31 16:25:36 +01:00
rlar feb43795b2 numparm, fix pow() implementation 2013-12-31 16:25:35 +01:00
rlar 1dda94fb7a numparm, cleanup formula() 2013-12-31 16:25:34 +01:00
h_vogt 3fae8e0ba9 xpressn.c: add domain check for acosh, atanh replacement functions 2013-12-31 16:25:32 +01:00
rlar 2f508696a6 numparm, cleanup rewrite formula() 2013-12-31 16:25:31 +01:00
h_vogt e5e08b6f93 xpressn.c: asinh, acosh, atanh replacement functions added 2013-12-31 16:25:30 +01:00