Commit Graph

3295 Commits

Author SHA1 Message Date
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
rlar 3e721d871a xpressn.c, cleanup `maximize' operation 2013-12-31 16:25:29 +01:00
rlar dbb8a76adb xpressn.c, cleanup char index bistromatic 2013-12-31 16:25:27 +01:00
rlar 5db94276d3 sprinkle some constness 2013-12-31 16:25:26 +01:00
rlar d3c0b7f5fa xpressn.c, use symbolic `state' constants 2013-12-31 16:25:25 +01:00
rlar b232a25fb6 xpressn.c, prepare 2013-12-31 16:25:24 +01:00
rlar 37e4ec8f05 inpcom.c, emphasize the inp_readall() tail processing 2013-12-31 16:25:22 +01:00
rlar 632add21c5 inpcom.c, delete_libs() can use line_free_x() now 2013-12-31 16:25:21 +01:00
rlar 6a466f7490 line_free_x(), prevent stack overflow due to non-trivial recursion 2013-12-31 16:25:20 +01:00
rlar b3cb5cedd5 inpcom.c, local scope for `ipc_status' 2013-12-31 16:25:18 +01:00
rlar cb932803b6 inp_fix_ternary_operator_str, pinpoint serious bugs 2013-12-31 16:25:17 +01:00
rlar dfcbc52ee6 inp_fix_ternary_operator_str, use a local variable to improve readability 2013-12-31 16:25:16 +01:00
rlar 7452971177 inp_fix_ternary_operator_str, use `copy_substring()' 2013-12-31 16:25:14 +01:00
rlar 92f9d7a309 inp_fix_ternary_operator_str, limit backward search 2013-12-31 16:25:13 +01:00
rlar b51fe0eb8b inp_fix_ternary_operator_str, cleanup 2013-12-31 16:25:12 +01:00
rlar 1883edb12b xpressn.c, tan, asin, acos, atan, asinh, acosh, atanh, pwr, tanh
add tan() asin() acos() atan() asinh() acosh() atanh()
rewrite pwr() and tanh()
2013-12-31 16:25:11 +01:00
rlar b40f748ccc inp_fix_ternary_operator_str(), rewrite 2013-12-31 16:25:09 +01:00
rlar 3e3cbab668 inp_search_opening_paren(), rewrite 2013-12-31 16:25:08 +01:00