Jim Monte
6385c7a900
Removed unnecessary comparisons when lowercasing a string.
2020-02-12 22:09:39 +01:00
Jim Monte
faf01c0376
Modified calculation to determine when memory is nearly exhausted. Also changed prototypes of memory reporting functions to match their definitions.
2020-02-12 22:07:07 +01:00
dwarning
8a6f431f4b
simplify beta derivation
2020-02-11 10:48:38 +01:00
dwarning
9889f0f277
alternative temperature model for extrinsic resistances and subthreshold range
2020-02-03 20:40:36 +01:00
Holger Vogt
a46bb7b108
In VDMOS device, if instance parameter tnodeout is set,
...
check for exactly five nodes
2020-02-02 17:50:06 +01:00
Holger Vogt
51be270f06
enable local or global statistical values for B source
...
pre_set statlocal
(or set statlocal in spinit or .spiceinit) will be setting a
different random number for evaluating the value of fcn agauss
etc. in each B line, e.g. if this line appears in a subcircuit,
all expanded B lines will have different values. If not set,
each B line will use the same random number for agauss evaluation.
2020-01-26 12:11:31 +01:00
Holger Vogt
2cbf2e3ac1
allow again single letter vector names
2020-01-26 09:04:53 +01:00
dwarning
24b70c8682
prevent program crash by misusing thermal model
2020-01-26 08:35:30 +01:00
dwarning
379cafde45
vdmos have no Cgb
2020-01-25 16:36:13 +01:00
dwarning
f53462dfd8
update vdmos with self-heating network and tj and tcase terminal
2020-01-25 16:12:05 +01:00
Holger Vogt
35dbc7a725
re-enable V source with parameter EXTERNAL
...
Fix bug #463
2020-01-24 22:00:56 +01:00
Holger Vogt
d134375cb1
add the PSPICE vswitch S_ST variant,
...
which resolves to the classical ngspice sw switch
2020-01-22 22:31:16 +01:00
Holger Vogt
524733f9de
allow vec_get to verify vectors if their names are quoted by ""
2020-01-22 22:30:07 +01:00
Holger Vogt
134759bfee
another preliminary patch for macOS
2020-01-19 15:42:27 +01:00
Holger Vogt
25de1beb4f
stub to enable compilation on macOS,
...
memory info for macOS is currently not available.
2020-01-19 15:33:54 +01:00
dwarning
8841f30671
format line with LF
2020-01-19 10:18:37 +01:00
Holger Vogt
6e910fed3d
remove compiler warning by setting variables to 0
2020-01-18 23:08:31 +01:00
Holger Vogt
52ace95957
remove two small memory leaks
2020-01-18 17:31:08 +01:00
Holger Vogt
b06cf20df8
remove spurious error message
2020-01-18 17:29:37 +01:00
Holger Vogt
6b476e99af
update to the .measure and meas error messages:
...
remove crash uipon buggy inputs
add buggy example input file
unify fcn returns: 0 is OK, 1 is bad
Improve on error message for bad syntax
2020-01-18 16:49:04 +01:00
Holger Vogt
17bc7f7560
enable inp_dodeck() to return an error state,
...
if error, inp_spsource() will return error as well
2020-01-18 00:26:31 +01:00
Holger Vogt
5f05d217ac
return immediately if ckt is NULL
2020-01-18 00:24:10 +01:00
Holger Vogt
8b8f7ab5b9
if inp_spsource() returns with an error code, emit a message
2020-01-17 23:38:40 +01:00
Holger Vogt
5c7cf493a3
enable returning inp_spsource() with an error code
2020-01-17 23:36:47 +01:00
Holger Vogt
4345388969
enable PSPICE compatible ~(~v(9)&v(8))
2020-01-11 13:07:53 +01:00
Holger Vogt
b343bc8803
plug memory leaks for the 'plot' command
2020-01-11 11:25:14 +01:00
Holger Vogt
42a6226fdf
Give a better, modern name for this type of display
2020-01-05 15:28:58 +01:00
Holger Vogt
4fcf5364d7
User expects an empty input line, not a text that has to be deleted befopre writing
2020-01-05 15:28:25 +01:00
Holger Vogt
047dbc4765
use only TMALLOC and TREALLOC for memory allocation
2020-01-05 14:50:43 +01:00
Holger Vogt
00606fecc2
deprecated gets() -> fgets()
2020-01-05 14:34:35 +01:00
Holger Vogt
e1be1ace77
error message even if pNAME is not defined
2020-01-05 14:32:34 +01:00
Holger Vogt
bb26062b14
patch provided by Vito (see
...
https://sourceforge.net/p/ngspice/discussion/133842/thread/31aa24261e/ )
2020-01-05 10:50:56 +01:00
Holger Vogt
3f5f3afabf
Further improvement of error message im 'meas'
2020-01-05 09:56:00 +01:00
Holger Vogt
13c5fd15b9
Improve error messages for the 'meas' command.
2020-01-05 00:05:20 +01:00
Jim Monte
24cc13feaf
Restored command arguments accidentally deleted.
2020-01-04 15:49:12 +01:00
Jim Monte
36057d080e
Added #include <stdio.h> to define FILE.
2020-01-04 15:30:38 +01:00
Jim Monte
2276431016
Modified search for init file so that it searches both <HOME> and <USERPROFILE> if both are defined.
2020-01-04 15:30:30 +01:00
Jim Monte
c6319dd19e
Added -D/--define option to define a variable from the command line.
2020-01-04 15:30:20 +01:00
Jim Monte
d4b71500e2
Opened binary files for writing using "wb" in all cases
2020-01-04 15:30:11 +01:00
Jim Monte
de7d292501
Added basic help messages in addtion to reference to web pages
2020-01-04 15:29:41 +01:00
Jim Monte
76cf00853c
Added conjugate function conj().
2020-01-04 15:29:13 +01:00
Jim Monte
7681f34664
Additional freeing of device-dependent information for bug #419 and related bugs.
2020-01-04 15:28:56 +01:00
Jim Monte
c24b1e5f8c
Removed redundant macro
2020-01-04 15:28:25 +01:00
Jim Monte
f9e6664929
Fixed resolution of ~ to home directory. (Bug #405 ) Also fixed potential buffer overruns in glob expansion
2020-01-04 15:27:58 +01:00
Jim Monte
0bff1592c7
Fixed checking for redirection tokens
2020-01-04 15:26:59 +01:00
Jim Monte
1b43d16594
Fixed access of freed memory when reporting an error.
2020-01-04 15:26:29 +01:00
Jim Monte
503af6ac00
Fixed several issues related to plotting and vector lifetimes and made ownership of vectors clearer. The issues in bugs 419, 423, 425, and 426 were related and were addressed here.
2020-01-04 15:25:31 +01:00
Jim Monte
10415875f4
Fixed "phantom vector" issue with plots and crash when plots are resized. See bugs #419 and #423 for details. Also several parameters were changed from char * to const char * in the plotting functions.
2020-01-04 15:25:15 +01:00
Jim Monte
8021566265
Fixed bug with 255 card deck entered using circbyline
2020-01-04 15:24:41 +01:00
Jim Monte
9f89ab705a
Added error recovery when invalid foreach statement found
2020-01-04 15:24:05 +01:00
Jim Monte
6f8635550a
Fixed memory leak when empty word found.
2020-01-04 15:23:52 +01:00
Jim Monte
3982458005
Fixed reporting of system information in Windows.
2020-01-04 15:11:38 +01:00
Jim Monte
a968c5c2fd
Made UI more consistent when comments are entered.
2020-01-04 15:09:16 +01:00
Jim Monte
4f79916a3e
Cleaned up defintions of macro constants
2020-01-04 15:05:06 +01:00
Jim Monte
be8bd7b40e
Used Win32 function PathIsRelativeA() to identify an absolute path instead of checking the string since the system function may handle more cases (network shares, etc.). Also reviewed formatting that was done on inpcom.c by a code beautifier in an earlier commit. Nearly all of it was an improvement, but a few cases were reverted back to closer to the original form. One particular instance was comments where a list of steps was given one per line.
2020-01-04 15:04:49 +01:00
Jim Monte
eddd2827ec
Made checking for single-character words faster. The testing now also uses less memory and works for 8-bit characters, which would have previously caused buffer overruns. It is also more modular and has additional documentation.
2020-01-04 15:03:20 +01:00
Jim Monte
550d26b57a
Used the new capabilities of ft_numparse() to allow the creation of variables and list items of type CP_NUM
2020-01-04 11:19:27 +01:00
Jim Monte
5a7257520d
Made cp_enqvar() mode modular by adding a separate function to handle the case of a vector. Lists are more efficiently handled by moving common comparisons out of the loop over elements. The first argument of cp_enqvar() is changed from char * to const char * since the name of the variable being found is not altered by the function.
2020-01-04 11:19:21 +01:00
Jim Monte
bb10b84045
Fixed buffer resizing, made string utilities more modular, and added several new utilities, some which do not require a null termination, potentially avoiding the need to copy a string. Also some substring utilities using the Rabin-Karp algorithm were added.
2020-01-04 11:19:16 +01:00
Jim Monte
814d1f07d6
Fixed locating vectors like V(node)
2020-01-04 11:19:08 +01:00
Jim Monte
713fad1664
Fixed potential infinite loop (until memory is exhausted) and added several utility functions for processing strings.
2020-01-04 11:18:37 +01:00
Jim Monte
b4bbcb1497
Made ft_numparse() thread-safe (no internal static variables) and prepared to support ngspice variable type CP_NUM.
2020-01-04 11:17:54 +01:00
Holger Vogt
9bbde919e3
Fixed merge conflict. Also made readifile() static and removed an unnecessary string duplication there.
2020-01-04 11:17:45 +01:00
Jim Monte
4081013b13
Added no_histsubst option and related fixes
2020-01-04 11:09:14 +01:00
Jim Monte
3b5773fb84
Fixed usage of new dstring functions. Also added const to some parameters that did not change.
2020-01-04 11:03:45 +01:00
Jim Monte
70e6318915
If the prompt variable was set to a value that is not a string, memory that has been freed would be used when displaying the command prompt. This could lead to strange prompts and possible access violations, although it may appear to work OK if the freed memory has not been modified. This issue is fixed. Some useless duplications of strings when defining variables are also removed.
2020-01-04 10:24:44 +01:00
Jim Monte
ada262488b
The check for the scale vector was not comparing the name in a case-insensitive manner, so unlet Yes would delete the default yes scale vector, for example. That issue was corrected. The code was also made more modular and descriptive regarding the check for the scale vector. Also, the warning now prints the scale vector as it is stored to make clear that vector names are not case sensitive.
2020-01-04 10:23:54 +01:00
Jim Monte
ba29c514f9
Cleaned up code to locate a vector in a plot by name. The code was made more modular, and special names like allv are handled more efficiently
2020-01-04 10:23:39 +01:00
Jim Monte
8285bd107a
Fixed compiler warnings regarding type of argument passed
2020-01-04 10:23:06 +01:00
Jim Monte
e969a05411
Added a macro R_MIN to define the minimum resistance value aS 0.01 and replaced the numeric value with the macro in the sourc code.
2020-01-04 10:22:50 +01:00
Jim Monte
9644f2ae4c
Dynamic string (dstring) rework
2020-01-04 10:22:35 +01:00
Holger Vogt
146f94392d
Remove memory leaks in cmpp.
...
Two small ones (a few bytes) are still there, difficult to assess.
2020-01-04 10:21:45 +01:00
Holger Vogt
d864bd750c
plug a memory leak by CALLBACK,
...
deleting locally malloced memory
2019-12-07 14:53:08 +01:00
Holger Vogt
dd05e24677
prevent referencing a NULL pointer
...
free the loc pointer and NULL its origin STATIC_VAR (locdata)
(that translates to mif_private->inst_var[0]->element[0].pvalue)
2019-12-02 21:33:31 +01:00
Holger Vogt
4a8e669562
enable setting a variable from an input file
...
using the existing i/o redirection
2019-11-29 23:55:13 +01:00
Holger Vogt
9a77d22444
prevent crash if 0 length vector is assessed
2019-11-27 23:31:22 +01:00
Holger Vogt
78c4a51d2a
allow 'dc TEMP 10 20 1' as well as 'dc temp 10 20 1'
2019-11-27 00:31:24 +01:00
Holger Vogt
b7bd59c22c
On Linux: allow calling gnuplot without invoking a terminal.
...
Reported by Terry Pilling
2019-11-24 12:40:28 +01:00
Holger Vogt
ae460934fa
Replace B source pwl by XSPICE PWL Controlled Source
...
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2019-11-09 23:10:28 +01:00
Holger Vogt
1afb290536
Revert "Replace B source pwl by XSPICE PWL Controlled Source"
...
This reverts commit cf653ef33a .
2019-11-09 23:08:50 +01:00
Holger Vogt
cf653ef33a
Replace B source pwl by XSPICE PWL Controlled Source
...
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2019-11-09 22:39:22 +01:00
Holger Vogt
5b2a9474fa
Replace B source pwl by XSPICE PWL Controlled Source
...
that has smooth rounded and differentiable corners.
Microchip or On-Semi OpAmps that needed gmin and source
stepping for operating point calculation now converge
without, others like MCP6001 that generally refused
to converge are o.k. now. Reason is the heavily used
Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
from the OpAmp models.
2019-11-09 16:26:36 +01:00
Holger Vogt
87ebe9540b
enable system info for Windows 10,
...
exclude function not existing in older SDKs
2019-11-06 22:18:12 +01:00
Holger Vogt
dcb9aa26fe
Replace deprecated GetVersionExA by version helper functions
...
Add new macro _MSC_PLATFORM_TOOLSET to check for toolset
2019-11-03 14:39:52 +01:00
Holger Vogt
2ec1214fac
remove VS 'assignment within conditional expression' warning
2019-11-03 11:50:28 +01:00
Holger Vogt
b43f629d5e
remove 'unreachable code' warning
2019-11-03 11:14:20 +01:00
Holger Vogt
c2eb86f44f
remove 'potentially uninitialized' warning
2019-11-03 11:10:44 +01:00
Holger Vogt
530f414469
Revert "enable compiling with readline for macOS"
...
This reverts commit 11df2b7719 .
2019-10-26 16:18:29 +02:00
Holger Vogt
aa49874dc2
remove superfluous double parentheses
2019-10-26 16:17:21 +02:00
Holger Vogt
6074d2528f
macOS: Do not use deprecated finite, but isfinite
2019-10-26 16:02:01 +02:00
Holger Vogt
e9d6228c44
update for Linux
2019-10-19 20:23:32 +02:00
Holger Vogt
1de5cae0d2
fix for macOS
2019-10-19 19:36:13 +02:00
Holger Vogt
4fa37979ae
Complete redesign of memory monitoring in resource.c.
...
Acquiring memory size is done by four functions
getMemorySize, getAvailableMemorySize, getPeakRSS,
and getCurrentRSS.
Time data are still obtained without code modifications.
2019-10-19 18:45:52 +02:00
Holger Vogt
32b265c92a
tabs to spaces
2019-10-19 11:17:42 +02:00
Holger Vogt
555cf2a8f4
Add resource info on memory used and available for macOS
2019-10-18 23:52:55 +02:00
Holger Vogt
b7b4e3badb
safeguard against crash if instance lines are incomplete
2019-10-18 23:29:51 +02:00
Holger Vogt
60a3298c2e
Make DEVNUM robust against double initialization.
2019-10-05 11:28:17 +02:00
Holger Vogt
e0448b4f37
Better indentation of message
2019-10-04 15:25:00 +02:00
Holger Vogt
2776d935ee
Better info in case of error
...
Initited by a patch from Bohdan Tkhir
2019-10-04 15:21:47 +02:00
Holger Vogt
67ffc810a8
If there are no controls, just skip creating the controls thread.
2019-10-02 22:02:57 +02:00