Jim Monte
0c741bbde2
Rework of let command. Added support for slices as described in feature #69 and fixed several crashes and issues described in bugs #443 , #444 , #446 , #447 , and #448 .
2020-03-15 08:51:01 +01:00
dwarning
7d17b8f082
vdmos have no Cgb
2020-03-15 08:50:59 +01:00
Holger Vogt
e9603dcdeb
enable inp_dodeck() to return an error state,
...
if error, inp_spsource() will return error as well
2020-03-15 08:50:57 +01:00
Holger Vogt
f9307d0beb
enable returning inp_spsource() with an error code
2020-03-15 08:50:57 +01:00
Holger Vogt
966b69090d
use only TMALLOC and TREALLOC for memory allocation
2020-03-15 08:50:56 +01:00
Jim Monte
4b145ddf5e
Added #include <stdio.h> to define FILE.
2020-03-15 08:50:55 +01:00
Jim Monte
2068c4fffb
Added -D/--define option to define a variable from the command line.
2020-03-15 08:50:55 +01:00
Jim Monte
de4788cfe5
Added conjugate function conj().
2020-03-15 08:50:55 +01:00
Jim Monte
0cf53a34b2
Fixed resolution of ~ to home directory. (Bug #405 ) Also fixed potential buffer overruns in glob expansion
2020-03-15 08:50:54 +01:00
Jim Monte
8141a634d7
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-03-15 08:50:54 +01:00
Jim Monte
57ffe1769f
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-03-15 08:50:54 +01:00
Jim Monte
2df00ad8c9
Cleaned up defintions of macro constants
2020-03-15 08:50:53 +01:00
Jim Monte
70600258bb
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-03-15 08:50:53 +01:00
Jim Monte
ad970ae4e7
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-03-15 08:50:53 +01:00
Jim Monte
72801b1ab1
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-03-15 08:50:52 +01:00
Jim Monte
81fa829b7d
Fixed potential infinite loop (until memory is exhausted) and added several utility functions for processing strings.
2020-03-15 08:50:52 +01:00
Jim Monte
068df274bf
Made ft_numparse() thread-safe (no internal static variables) and prepared to support ngspice variable type CP_NUM.
2020-03-15 08:50:52 +01:00
Jim Monte
873e4a8db0
Added no_histsubst option and related fixes
2020-03-15 08:50:52 +01:00
Jim Monte
b7d8c61cd9
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-03-15 08:50:51 +01:00
Jim Monte
89efe5aeae
Dynamic string (dstring) rework
2020-03-15 08:50:51 +01:00
Holger Vogt
7983b0d16a
macOS: Do not use deprecated finite, but isfinite
2019-11-30 11:35:44 +01:00
Holger Vogt
afdd0fe85e
comments added
...
White spaces according to clang format
2019-09-14 11:24:05 +02:00
Holger Vogt
6669cbc17c
add function inp_rem_unused_models().
...
checking for unused models now also removes models
that are out of scope.
2019-09-14 11:23:24 +02:00
rlar
96bb0dd941
inpcom.c, introduce inp_add_levels(), add scope to decks
2019-09-14 11:22:24 +02:00
Jim Monte
8ed7080227
[PATCH #70 ] Made parameter const and reduced excess allocation.
2019-08-13 23:32:01 +02:00
Jim Monte
e208aab4cd
[PATCH #69 ] Changed vector type from to the enum assigned to it.
2019-08-13 23:31:37 +02:00
Jim Monte
73379f4146
[PATCH #66 ] Removed definition of macro MAXWORDS since it is unused.
2019-08-13 23:31:28 +02:00
Jim Monte
e92e2c7362
[PATCH #62 ] Fixed buffer overrun. Reworked to not use dstring for more
...
efficient parsing.
2019-08-13 23:30:31 +02:00
Jim Monte
1665b53b84
[PATCH #59 ] Made INP*Cat() functions more modular and efficient. Also
...
eliminated the possibility of a buffer overrun in INPstrCat() due to an error
in the calling funciton.
2019-08-13 23:29:41 +02:00
Jim Monte
1c5176282b
[PATCH #52 ] General cleanup of word list processing, such as adding
...
comments and const. Also added a new function wl_from_string() to convert a
single word into a word list. This function can be useful when calling a
function taking a single-word word list.
2019-08-13 23:28:49 +02:00
Jim Monte
10474a06a8
[PATCH #50 ] Ensured no buffer overrun for long namess and improved
...
efficiency of compare. Also made more modular.
2019-08-13 23:28:41 +02:00
Holger Vogt
9a9b7c68d0
unify the numerical constants
2019-08-13 23:28:05 +02:00
Holger Vogt
b9901a2569
[PATCH 47] Refactored ft_getnames() and used the new function in
...
com_let().
2019-08-13 23:27:49 +02:00
Jim Monte
b66412f517
[PATCH] Changed prototypes of some functions having parameters that
...
should not be changed to const and added assorted comments. Also two very
minor efficiency improvements.
2019-08-13 23:20:21 +02:00
Jim Monte
0183964d6f
[PATCH #41 ] Made constants agree across ngspice simulator. File const.h
...
is the source of the values with all other files referencing it.
2019-08-13 23:20:00 +02:00
Holger Vogt
61039c2736
add a new function gettok_model to consider {...} expressions
...
in VDMOS .model statements
2019-08-13 23:17:14 +02:00
Jim Monte
0ddd4a8456
Fixed excess buffer allocation and converted wordlist to string more efficiently
...
Signed-off-by: Holger Vogt <[email protected] >
2019-08-13 23:14:27 +02:00
Holger Vogt
40411197e0
add function get_plot(name) to return address of named plot
2019-03-21 20:17:21 +01:00
Holger Vogt
be6eca1dbb
add 'option norefvalue' to suppress printing the reference value.
2019-03-21 16:07:12 +01:00
Holger Vogt
56701e3d10
add rotation angle to text output, currently used only by postscript,
...
ignored by all others
2018-11-18 15:50:56 +01:00
h_vogt
87be5b9a41
Do not set Bit 8 in an ANSI char, when \ or ^ occured in a string. Thus the full ANSI set is now available in ngspice strings. The setting of Bit 8 was not exploitet anywhere, but did not allow using the characters from extended ANSI.
2018-11-18 15:49:31 +01:00
Holger Vogt
19380903cc
add missing evtshared.h to the distribution
2018-10-27 16:37:33 +02:00
Holger Vogt
25cdf95262
replace deprecated sys_errlist[errno] by call to strerror(errno)
2018-10-14 12:21:02 +02:00
Holger Vogt
3930e27501
New compatibility modes (set ngbehavior=??): PS LT LTPS PSA LTA LTPSA
...
PS: PSPICE comp. in .include files., LT: LTSPICE comp. in .include files.
LTPS: both, PSA: PSPICE comp. in complete input deck,
LTA and LTPSA: comp. in complete input deck for LT or both.
Add functions uplim, dnlim, uplim_tanh, dnlim_tanh.
Replace
D1 A K SDMOD
.MODEL SDMOD D (Roff=1000 Ron=0.7 Rrev=0.2 Vfwd=1 Vrev=10 Revepsilon=0.2 Epsilon=0.2 Ilimit=7 Revilimit=7)
by
ad1 a k asmod
.model asmod sidiode(Roff=1000 Ron=0.7 Rrev=0.2 Vfwd=1 Vrev=10 Revepsilon=0.2 Epsilon=0.2 Ilimit=7 Revilimit=7)
2018-10-13 18:19:58 +02:00
Holger Vogt
d636f7899b
cp_enqvar() returns freshly malloced variables as well
...
as variables owned by somebody else, e.g. from ft_curckt->ci_vars.
The new function parameter tbfreed notifies the caller if the
variable is malloced here and may be freed safely.
2018-10-13 18:19:31 +02:00
Holger Vogt
800c9711f2
add a flag 'type of the union' to safely free model->param[i]->element,
...
if it contain a malloced string
2018-08-28 21:29:05 +02:00
Holger Vogt
d3b7619754
add a flag timezero to trnoise_state
...
falg is true as long as time = 0. Allows
to detect the change from time == 0 to time > 0
only then the 1/f data may be created anew (e.g.
due to multiple 'run' commands
2018-08-22 22:36:35 +02:00
Holger Vogt
d1a8637a29
store deck for command mc_source for each circuit in ft_curckt->ci_mcdeck
...
remove this storage during remcirc
keep most recent deck in recent_deck
2018-08-18 11:26:42 +02:00
Holger Vogt
7ca61b3c98
New command 'setseed' with function com_sseed
...
to set the random number generator
2018-07-22 15:06:19 +02:00
Holger Vogt
09c876550f
prevent string overflow by adding the string length
...
to the cp_getvar parameters. Used only with CP_STRING
2018-07-22 14:57:49 +02:00