Holger Vogt
b6b66c71bd
plug a small memory leak (switch-oszillators.cir)
2018-08-25 23:12:17 +02:00
Holger Vogt
9332801382
free the original wlist, made by getcommand(),
...
not a derived wlist that is just part of the original
2018-08-25 00:38:26 +02:00
Holger Vogt
c5cea6d6c1
remove ft_curckt->ci_meas upon removing the current circuit ft_curckt
2018-08-24 22:58:02 +02:00
Holger Vogt
5f1f6ccb29
add a small comment
2018-08-24 22:41:14 +02:00
Holger Vogt
0fbe920382
plug a small memory leak in switch-oscillators.cir
2018-08-24 21:56:29 +02:00
Holger Vogt
2b50ca7271
command 'print': preserve case for filenames after redirection '>'
2018-08-24 15:41:53 +02:00
dwarning
5380c3f4da
prevent a small memory leak
2018-08-23 15:44:00 +02:00
Holger Vogt
0e0b276a3e
ISRC: update to trnoise source, same as in VSRC
2018-08-23 10:56:50 +02:00
Holger Vogt
aedd9d92ee
upon alter the trnoise or trrandom states get re-written.
...
so delete the old state first.
2018-08-23 10:13:17 +02:00
Holger Vogt
b4c6a7d324
add function trnoise_state_free and use it
...
instead of its individual components
2018-08-23 10:12:24 +02:00
Holger Vogt
c88578e2c5
noise value is 0 for time == zero.
...
Only when time changes from time == 0 to time > 0,
the 1/f noise data are generated once per voltage instance
with 1/f noise requested.
2018-08-22 22:38:34 +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
dwarning
aa95da431a
adaptive format specifier for size_t printf
2018-08-22 14:19:12 +02:00
dwarning
aed5ba01c0
prevent a small memory leak
2018-08-22 13:05:19 +02:00
dwarning
7d78cba9ef
fix some prototype declarations
2018-08-21 13:40:13 +02:00
dwarning
561fdd805c
rm unused variables
2018-08-21 13:18:24 +02:00
dwarning
598b72be37
prevent a huge memory leak by calling fftw3 in a loop
2018-08-20 16:41:43 +02:00
Holger Vogt
1f7d84b270
trivial patch to avoid memory leaks during transient noise generation.
...
This has to be replaced by a rewrite of the noise generating code.
2018-08-20 00:25:21 +02:00
Holger Vogt
34fcdda1e2
plug a potentially huge memory leak
2018-08-19 21:03:15 +02:00
Holger Vogt
dafbf72f7f
fix a small memory leak
2018-08-19 17:30:53 +02:00
Holger Vogt
8c9b18ef7e
fix a small memory leak
2018-08-19 17:24:10 +02:00
Holger Vogt
7e4b68c708
update to the rusage command:
...
print total analysis time, total elapsed time, and
memory information (OS dependant) if rusage is given
without parameters
2018-08-19 15:00:46 +02:00
Holger Vogt
f07c73b6a5
Command 'cd' now switches to the home directory also for MS Windows.
...
A new command 'getcwd' just prints the current working directory
without changing it.
2018-08-18 21:22:59 +02:00
Holger Vogt
9cc690c55c
try to reload only when mc_deck is available
...
comment modified
2018-08-18 11:29:05 +02:00
Holger Vogt
2b071fec5a
add loading from recent deck (mc_deck) if circuit
...
file has been removed by remcirc.
2018-08-18 11:28:39 +02:00
Holger Vogt
2dfdf984d6
re-number the lines during copying,
...
required by nupa_copy()
2018-08-18 11:28:07 +02:00
Holger Vogt
f9eb75f55d
skip comment lines
2018-08-18 11:28:02 +02:00
Holger Vogt
ac0a70bb84
print deck after re-loading into debug-out-mc.txt,
...
if 'set ngdebug' is set in .spiceinit
2018-08-18 11:27:51 +02:00
Holger Vogt
cebb83eec1
give preference to mc_reload when reloading the circuit
2018-08-18 11:27:44 +02:00
Holger Vogt
ad0f596570
fix a memory leak
2018-08-18 11:27:31 +02:00
Holger Vogt
795f9ed6ad
remove unused rparen
2018-08-18 11:27:20 +02:00
Holger Vogt
b1f956f81c
fix a memory leak
2018-08-18 11:27:14 +02:00
Holger Vogt
73da17e367
just keep recent_deck, when it's already equal
...
to current ft_curckt->ci_mcdeck, thus avoid
freeing ft_curckt->ci_mcdeck
2018-08-18 11:27:02 +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
dwarning
9475daf9d2
MOS level 55-57 and 68 are available and not placeholder
2018-08-15 12:47:25 +02:00
dwarning
b113041faa
if bsim6 will come it would be va code and needs adms
2018-08-15 12:01:22 +02:00
Holger Vogt
d8352342a8
free more data allocated during INIT
2018-08-11 11:37:19 +02:00
Holger Vogt
c891c2f64f
Update to callback function:
...
delete memory also in the eno structure
do not close a file twice
2018-08-11 00:43:54 +02:00
Holger Vogt
7e611e7b57
remove the circuits upon quit
2018-08-10 23:48:00 +02:00
Holger Vogt
d26d1b96ec
add callback function to delete the memory
...
allocated in the code model
2018-08-10 23:35:33 +02:00
Holger Vogt
9d36a2e326
remove unused i
2018-08-10 23:34:27 +02:00
Holger Vogt
2ce4c1592b
a tiny memory leak
2018-08-10 22:03:02 +02:00
Holger Vogt
0bc1d8147c
plug a memory leak
2018-08-10 19:56:26 +02:00
Holger Vogt
a6f525f6c1
fix a memory leak
2018-08-09 23:23:18 +02:00
Holger Vogt
9db2bf3d69
fix a memory leak
2018-08-09 20:22:33 +02:00
Holger Vogt
6ed10583f2
plug small memory leaks
2018-08-08 23:31:52 +02:00
Holger Vogt
dc34632421
fix memory leaks when evaluating a variable
...
MC example file MC_ring_ts.sp is now free of memory leaks
2018-08-07 22:46:26 +02:00
Holger Vogt
934656f6e8
fix memory leak: before killing a plot, remove its hash table entry
2018-08-07 20:42:55 +02:00
Holger Vogt
cffc7d27ff
beautify code with astyle
2018-08-07 19:58:52 +02:00
Holger Vogt
c5b5190199
command 'setplot': add predefined 'previous' and 'next' parameters
...
to switch to the previous or next plot. A warning results if this
is not possible, then the currnt plot is not changed.
2018-08-07 19:58:41 +02:00
Holger Vogt
19596f0f42
add search in current directory
...
Patch provided by Uros Platise
https://sourceforge.net/p/ngspice/ngspice/merge-requests/4/
2018-08-07 19:58:08 +02:00
Holger Vogt
7c90004921
add Inp_Path to sourcepath variable
...
Patch provided by Uros Platise
https://sourceforge.net/p/ngspice/ngspice/merge-requests/4/
2018-08-07 19:57:58 +02:00
Holger Vogt
e18b848f7d
Allow '-' and '+' being part of the instance name.
...
Has already been available for B, E, F, G, and H sources
2018-08-07 19:57:38 +02:00
Holger Vogt
f354f36121
replace 'magic numbers' by defines, thus setting several char arrays
...
safeguard these arrays against overflow
set numbers of parameters to 10000
2018-08-07 19:57:28 +02:00
dwarning
88f1fa0092
allow version model parameter in exponential format for bsim3
2018-08-07 19:57:05 +02:00
Holger Vogt
8357564fee
fix missing tokens in cp_getvar
2018-07-30 00:42:46 +02:00
Holger Vogt
ef5747905f
fix bug no. 362, reported by Bohdan Tkhir
...
replace size_of by sizeof
2018-07-30 00:35:25 +02:00
Holger Vogt
eab5615fb3
examples moved to examples/xspice/original-examples
2018-07-28 13:47:23 +02:00
Holger Vogt
e3b2b395b9
fix an ancient bug in retrieving the data with the cursor
...
from a log y graph: use y-offset instead of x-offset
2018-07-26 20:55:21 +02:00
Holger Vogt
908339359a
clarify start time generation
...
clarify time and amplitude updates
don't read comment lines
2018-07-26 20:50:36 +02:00
Holger Vogt
0c94ab948b
treat ( ) , like spaces, that is ignore them during
...
switch parameter conversion
2018-07-26 18:21:34 +02:00
Holger Vogt
d1761f8d6e
read the complete input file at once during inizialization
...
instaed of reading the file line by line,
and instaed of re-reading from the beginning in case
of time stepping back. This saves a vast amount of
simulation time if the input file is large.
2018-07-24 22:30:40 +02:00
Holger Vogt
393c924886
improve finding tokens, considering nested parens
2018-07-22 17:33:19 +02:00
Holger Vogt
f2cfb9b359
add fourth parameter to cp_getvar()
2018-07-22 15:15:10 +02:00
Holger Vogt
fac5754b79
add variabale inputdir to store the last input file directory
2018-07-22 15:12:50 +02:00
Holger Vogt
2786fcb86e
New .option seed=[val|random]
2018-07-22 15:11:44 +02:00
Holger Vogt
107a4a808e
New .option seed=[val|random]
2018-07-22 15:09:25 +02:00
Holger Vogt
10c6c5c38b
Convert .param lines containing 'agauss' and others
...
into .func (xxx1() 'agauss()', replace all xxx1 entries
by function xxx1().
After subcircuit expansion, replace agauss and others
in B-Line by their suitable values.
2018-07-22 15:08:44 +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
8fbcb16a57
add fourth parameter to cp_getvar(), in functions missing so far
2018-07-22 14:58:25 +02:00
Holger Vogt
af70c2e8f0
cp_getvar with CP_STRING: add size of string to function parameters
2018-07-22 14:58:06 +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
dwarning
60a35725f5
few optimizations for diode recombination current calculation
2018-07-22 10:18:52 +02:00
Holger Vogt
8930690cd2
plug a small memory leak
2018-07-22 09:53:14 +02:00
Holger Vogt
824ac4fbc9
make functions static or add function prototypes
2018-07-21 23:56:14 +02:00
Holger Vogt
2dd293707b
initialize pn in ft_getpnames() parse.c
...
initialize dwLen in tesCreateSystemInfo() in com_sysinfo.c
Both were reported by MSVC Code Analysis
Crash of ngspice.dll in Eeschema is thus removed
(hopefully in general)
2018-07-21 23:55:00 +02:00
Holger Vogt
b07ae3123e
use only internal memory functions,
...
replace strdup by copy
2018-07-21 23:54:51 +02:00
Holger Vogt
a98d01e5f8
Use only internal memory functions, replace
...
free->tfree, malloc->tmalloc, realloc->trealloc
2018-07-21 23:54:43 +02:00
dwarning
376a37a5d6
introduce recombination current component
2018-07-19 15:44:06 +02:00
dwarning
3bae0e371c
fix a small inconsistency in temperature dependent charge calculation
2018-07-19 14:08:35 +02:00
Holger Vogt
a2b52b588e
a space is required between tokens that have got {}
2018-07-14 21:14:54 +02:00
Holger Vogt
d9d47bd823
fix a bug: missing
...
#ifdef XSPICE
prevents compiling of ngshared
without --enable-xspice in ./configure
2018-06-30 21:19:51 +02:00
Holger Vogt
417dbfef72
undo the previous commits dealing with snprintf,
...
use the C99 compliant function also with MS Visual Studio
2018-05-31 11:37:51 +02:00
Holger Vogt
92dd6e48d0
make up description comment for pspice_compat()
2018-05-31 10:59:20 +02:00
Holger Vogt
7153891293
raise buffer size by 1 to retain previous resolution
2018-05-31 10:58:52 +02:00
Holger Vogt
3b4640dee4
_snprintf in Windows 7 does not automatically put a '\0'
...
to the end of the buffer, only if there is space available.
That will change in the future if Snprintf is used.
2018-05-31 10:24:09 +02:00
Holger Vogt
1d9ab3eb5c
PSÜICE compatibility:
...
R n1 n2 val TC=xx1,xx2 --> R n1 n2 val TC1=xx1 TC2=xx2
2018-05-29 23:55:23 +02:00
Holger Vogt
22b7fa77b5
fix a bug with switches, when no subcircuit is involved
2018-05-28 23:59:55 +02:00
Holger Vogt
e5652cd745
safeguard fclose
2018-05-27 21:37:03 +02:00
Holger Vogt
2f56feea4a
do not lower-case command 'set sourcepath = XXX'
2018-05-27 07:56:40 +02:00
Holger Vogt
42a86d0ff2
patch provided by Uros Platise: timeunit selection
...
for printing vcd file is now based on tstep instead of tstop
2018-05-26 15:00:37 +02:00
Holger Vogt
2e0b8b3e34
plug a small memory leak
2018-05-23 23:08:44 +02:00
Holger Vogt
a40ba9ec4e
add a comment
2018-05-22 21:18:53 +02:00
Holger Vogt
ae81481229
white spaces
2018-05-22 20:34:44 +02:00
Holger Vogt
7b6cd86a62
re-write vswitch transformation code:
...
first scan: check for each .model with vswitch
second scan: check for switch instances
(s lines) using the models
2018-05-22 20:19:50 +02:00
Holger Vogt
f9b11cd619
update to function pspice_compat(), concerning the VSWITCH replacement
...
only one .model replacement even for several s instances
firstly search in subcircuit at same level, then in top level
2018-05-21 23:34:36 +02:00
Holger Vogt
f4f389dabb
internal help: it is only available when --enable-oldapps is given
...
ngnutmeg is only made when --enable-oldapps is given during ./configure
2018-05-21 01:09:21 +02:00
Holger Vogt
0cb71b21bb
move ngspice_compat_mode(void) to inpcom.c and make it static
2018-05-21 01:09:13 +02:00
Holger Vogt
fa3badf2bd
correct typo
2018-05-21 01:09:06 +02:00
Holger Vogt
d991bbc470
ngconfig.sh is no more available
2018-05-20 12:48:31 +02:00
Holger Vogt
3145716163
new --enable-oldapps: ngsconvert ngproc2mod ngmultidec ngmakeidx are made only per user request
2018-05-19 23:49:17 +02:00
Holger Vogt
8324b0f646
prepare ngspice-28
2018-05-19 22:15:41 +02:00
Holger Vogt
406f812db5
distribute only adms/admst, not the whole adms
2018-05-19 20:25:42 +02:00
Holger Vogt
697b9da074
prevent endless loop if factor finally equals 1
2018-05-19 18:24:40 +02:00
h_vogt
e47ab87385
inpcom.c, multiplier 'm' in subcircuits: exclude all devices not supporting multiplier 'm'
2018-05-19 18:20:27 +02:00
h_vogt
8762f6551d
main.c free argv after its use (Win GUI only)
2018-05-19 18:15:23 +02:00
h_vogt
d89eab99d5
add dicoS->linecount to safely delete dynrefptr[i],
...
linecount may change if circuits are changed or deleted.
2018-05-19 17:49:17 +02:00
h_vogt
1066bf0a7b
Store the numparam dicoS structure for each circuit in a list.
...
Functions to add, remove, retrive dicoS from the list
and to update dicoS, if the circuit has been changed.
Keeping dicoS is necessary because it may be used by measure.
This patch prevents (huge) memory leaks by overwriting
dicoS if multiple calls to the 'source' command are executed.
2018-05-19 17:45:45 +02:00
h_vogt
4a3f02e979
runcoms.c, add variable 'sim_status' to indicate if a simulation has been aborted
2018-05-19 17:40:03 +02:00
h_vogt
2ece845f59
inpcom.c, responding to bug report 275 by Dominique Michel: commands plot, hardcopy: no lower case letters in tokens following xlabel, ylabel, title
2018-05-19 17:38:26 +02:00
h_vogt
7198056a41
patch no. 16 by Thomy add a function cm_get_circuit to allow accessing the circuit structure ckt from within an XSPICE code model. This is a change to the interface and requires recopiling all code models!
2018-05-19 17:37:42 +02:00
Holger Vogt
7ee0b14431
better zero after deaalocation
2018-05-19 16:53:50 +02:00
Holger Vogt
8f41257d87
enable 'temper' evaluation, if circuit is reloaded
2018-05-19 16:53:38 +02:00
Holger Vogt
cbe4b31d4b
do not delete symbols that have not been created here
2018-05-19 16:53:04 +02:00
Holger Vogt
710e98a22c
Fcn ngGet_Vec_Info(): copy the vector pointer into a static pointer
...
infovec only if it is derived from event data (checked by a
scale vector with name "step"). Upon next call to fcn
ngGet_Vec_Info() first free the vector pointed to by infovec.
resolve merge conflict
2018-05-19 16:52:42 +02:00
Holger Vogt
8aff70036a
Put variable wantevtdata into the right place,
...
also available for standard executable, to be
modified in sharedspice.c only.
2018-05-19 16:52:08 +02:00
h_vogt
ce9f23f7af
outitf.c, restrict vector length to 1, the minimum needed
2018-05-19 16:51:57 +02:00
h_vogt
a393c47ec8
outitf.c, add flag 'save none' for shared ngspice. Output data will not be stored, but are available via callback function ng_data.
2018-05-19 16:51:42 +02:00
h_vogt
11bafd70ea
update to callback functions SendEvtData, SendInitEvtData
2018-05-19 16:46:16 +02:00
h_vogt
5b754cbb0e
dctran.c, exclude ipc_send_data_...
2018-05-19 16:45:09 +02:00
h_vogt
c890435383
clarify pointers to data structures for event nodes
2018-05-19 16:44:57 +02:00
h_vogt
b5f31ec2b1
version conflict rersolved in sharedspice.c
2018-05-19 16:44:46 +02:00
h_vogt
25a324ba6e
add parameter mode to EVTsharedsend_line()
...
last entry for the dictionary list is NULL
2018-05-19 16:44:27 +02:00
h_vogt
2a6f0658a8
EVTshareddump() modified to just sent the relevant event data
2018-05-19 16:44:14 +02:00
h_vogt
994d190de5
shared_send_dict(char* dictline) to sent the node list
2018-05-19 16:44:02 +02:00
h_vogt
e36b028cdb
add wantevtdata if event output should be sent to caller
2018-05-19 16:43:48 +02:00
h_vogt
3e52cdd8c1
evtdump.c, prepare data gathering for callbacks similar to sending data via the ancient ipc channel
2018-05-19 16:43:31 +02:00
h_vogt
b621875abf
sharedspice.h, .c, prepare adding callback functions: new ngSpice_Init_Evt() and function pointers
2018-05-19 16:43:19 +02:00
h_vogt
df4136a93d
evtprint.c, update to edisplay command now showing node name, node type and number of events per node
2018-05-19 16:43:09 +02:00
h_vogt
72fd154571
evtshared.c, add delete function, remove bug in creating struct
2018-05-19 16:42:29 +02:00
h_vogt
fc42cef878
New functions for XSPICE event node data exported from shared ngspice: ngGet_Evt_NodeInfo(char*) and ngSpice_AllEvtNodes(void)
2018-05-19 16:42:18 +02:00
h_vogt
20f6727e29
evtshared.c, prepare node data for transfer via shared ngspice interface
2018-05-19 16:42:01 +02:00
Holger Vogt
bea6fba788
prevent false reads in multi-threaded ngshared
2018-05-19 16:39:16 +02:00
Holger Vogt
74584c94ee
prevent false reading after copying an empty file
2018-05-19 15:40:30 +02:00
rlar
1a39d3f59d
spicelib/parser, support instance parameter defaults on .model lines
2018-05-19 15:40:20 +02:00
Holger Vogt
7363532d11
search for user's initialization files has been
...
optimized away because of an empty if clause.
A simple rewrite firstly asks for .spiceinit, then for spice.rc
2018-05-19 14:41:06 +02:00
Holger Vogt
d311fb10cf
add a new vector type "temperature"
2018-05-19 14:40:55 +02:00
Holger Vogt
5b18732af2
plug some memory leaks
2018-05-19 14:40:50 +02:00
Holger Vogt
a191697bd6
safeguard opening of file for debug output:
...
may be not allowed if caller is not started
in admin mode.
2018-05-19 14:40:41 +02:00
Holger Vogt
57156e16f6
remove tiny memory leaks in inp_compat()
2018-05-19 14:40:33 +02:00
Holger Vogt
5f5eacc48e
move skipping white spaces to fcn create_circbyline() now ' .end' is acknowledged
2018-05-19 14:40:23 +02:00
rlar
55b2a0218e
noise for behavioural resistor
2018-05-19 14:40:12 +02:00
Holger Vogt
1426f66967
use global variable inp_compat_mode
2018-05-18 18:39:15 +02:00
Holger Vogt
65181ff5c3
enable token 'table' to occur at any place in e source line
2018-05-18 18:37:24 +02:00
Holger Vogt
ffb3800e34
Bug fix: B source pwl lines don't get special handling,
...
but standard numparam handling of {} tokens
2018-05-18 18:36:26 +02:00
Holger Vogt
c879294a8b
add comment
2018-05-18 18:27:49 +02:00
Holger Vogt
7188605ef2
bugfix: re-enable loading deck from circarray, if intfile
2018-05-18 18:22:41 +02:00
Holger Vogt
04059e5426
enable '-' as valid character in a subcircuit name
2018-05-18 17:35:05 +02:00
h_vogt
c8cd763314
gnuplot.c, add 'noretraceplot' to prevent retracing of the graph if plotting against a vector which is not the original scale vector ('plot vec1 vs vec2')
2018-05-18 17:25:48 +02:00
h_vogt
d4adb027d2
avoid retrace in output graph by adding label 'noretraceplot'
...
to the plot command, that creates a lin plot trying to avoid retracing
2018-05-18 17:08:27 +02:00
rlar
611596c916
PTpower
2018-05-18 17:06:14 +02:00
rlar
6ef2a5f81b
fix code to fit the derivation
2018-05-18 17:05:44 +02:00
rlar
e36ded8122
fix derivations in comments
2018-05-18 17:05:08 +02:00
Holger Vogt
af351eab5f
add a non-zero fudge factor to zero function argument
2018-05-18 16:55:31 +02:00
Holger Vogt
c1a64d9f49
make inp_compat_mode glabal
2018-05-18 16:54:52 +02:00
Holger Vogt
bb162de1d8
Parameter names in .model lines may be preceeded
...
by spaces, but also by '('
2018-05-18 16:43:12 +02:00
Holger Vogt
ff00ec3aed
allow '+' or '-' characters in device name
...
for current and voltage sources.
Maybe exrtended to all devices.
2018-05-18 16:12:55 +02:00
Holger Vogt
314ece2526
allow '-' in XSPICE model names
2018-05-18 16:01:58 +02:00
Holger Vogt
181e8746a6
allow hyphens '-' in model names
2018-05-18 16:01:35 +02:00
Holger Vogt
09590047fe
Check if model is a PSPICE resistor 'res'
2018-05-18 15:55:04 +02:00
Holger Vogt
53bac06d11
.model replacement in ako (a kind of) model descriptions
...
in first level .subckt and top level only
2018-05-18 15:37:26 +02:00
Holger Vogt
d9dbde0593
replace the E source TABLE function by a B source pwl
...
(used by ST OpAmps and comparators)
2018-05-18 15:31:47 +02:00
Holger Vogt
10c69b8d05
replace S1 D S DG GND SWN by
...
a1 %v(DG) %gd(D S) swa
2018-05-18 15:25:19 +02:00
Holger Vogt
f25a307886
get the area factor for diodes and bipolar devices
2018-05-18 15:20:06 +02:00
Holger Vogt
9d8148edae
replace T_ABS by temp and T_REL_GLOBAL by dtemp in .model cards
2018-05-18 15:17:45 +02:00
Holger Vogt
13ca544d15
replace & with && and | with || and *# with * #
2018-05-18 15:15:38 +02:00
Holger Vogt
ae9cc17aff
add predefined parameters TEMP, VT after each subckt call
2018-05-18 15:12:22 +02:00
Holger Vogt
77814b8618
add predefined params TEMP, VT, GMIN to beginning of deck
...
add funcs limit, pwr, pwrs, stp, if, int
2018-05-18 15:10:15 +02:00
Holger Vogt
5ace7ff1fd
exclude simple e and h sources from getting a series voltage source
...
by undoing the name conversion
2018-05-16 08:16:22 +02:00
Holger Vogt
cfa473ad96
don't print NULL (deallocated lines)
2018-05-16 00:19:46 +02:00
Holger Vogt
9908b39d2b
make inp_compat_mode global
2018-05-16 00:15:29 +02:00
Holger Vogt
98fe623ba4
add function prototype pspice_compat
...
to deal with compatibility issues during loading
a PSPICE library
2018-05-16 00:14:31 +02:00
Holger Vogt
4aff986ee8
fix a bug, missing ;
2018-05-15 23:36:16 +02:00
Holger Vogt
429326e139
Add current measurement for device XYZ using I(XYZ)
2018-05-15 23:16:22 +02:00
h_vogt
7dd81327ec
new command 'alterparam', to be used in conjunction with 'mc_source'
...
add command 'alterparam paramname=pvalue'
to change a global .param
add command 'alterparam subcktname pname=vpval'
to change a parameter inside of a subcircuit
2018-05-15 22:46:06 +02:00
h_vogt
5c3a6a3829
new command 'mc_source' to internally reload circuit
...
We store a copy of the whole deck in 'mc_deck'.
'mc_source' can be used to re-read this copy.
2018-05-15 22:45:29 +02:00
h_vogt
464f855d1d
subckt.c, introduce new function inp_deckcopy_oc()
...
copy a deck
without li_actual,
without comment lines
without .control section
2018-05-15 22:45:10 +02:00
rlar
dc604c75d5
inpcom.c, whitespace
2018-05-15 22:43:43 +02:00
rlar
0f1b75a95b
inpcom.c, abstraction, introduce bogus_find_subckt()
...
extracted from inp_fix_inst_calls_for_numparam().
This code is and was evil, as it does not respect scoping rules.
2018-05-15 22:43:23 +02:00
Holger Vogt
73db0477c0
vdmosdist.c, white spaces
2018-05-04 20:35:16 +02:00
Holger Vogt
68fbc49216
vdmos.c, sort parameters
2018-05-04 20:35:14 +02:00
Holger Vogt
285de59446
enable alternative weak inversion model if parameter subslope is given
2018-05-04 20:35:11 +02:00
Holger Vogt
93e34540b8
introduce parameter ksubthres, compatible to LTSPICE
2018-05-04 20:35:10 +02:00
Holger Vogt
a0867ff1a3
bugfix: collapse the correct nodes if RB is zero or not given
2018-05-04 20:35:09 +02:00
Holger Vogt
2474c28a54
Alternative simple weak inversion model
...
according to https://www.anasoft.co.uk/MOS1Model.htm .
Fits existing LTSPICE models by adapting the slope parameter.
2018-05-04 20:35:08 +02:00
Holger Vogt
0ece0d0c1c
make breakdown voltage internally always positive
2018-05-04 20:35:07 +02:00
Holger Vogt
63be243f72
Add a simple quasi saturation model according to V. d'Alessandro e.a., 2001
2018-05-04 20:35:07 +02:00
Holger Vogt
72e03e7eab
replace parameter name subthres by subslope
2018-05-04 20:35:06 +02:00
Holger Vogt
5ba25a8716
change parameter to scalef when calculating n empirical compromise between smooth curve and reduction of Id slightly above threshold
2018-05-04 20:35:05 +02:00
Holger Vogt
3ee3ab39a9
Choose better interpolation and default parameters
2018-05-04 20:35:04 +02:00
Holger Vogt
729eac4e84
cweakinv, add model parameter model->VDMOSsubshift
2018-05-04 20:35:03 +02:00
Holger Vogt
f0d131fb8a
cweakinv, introduce sine scaling fucntion scalef()
2018-05-04 20:35:02 +02:00
Holger Vogt
284f68765d
frontend/vectors.c, readability of warning message
2018-05-04 20:35:01 +02:00
Holger Vogt
68125ea3cf
allow reading LTSPICE ascii raw files with 'load' command
...
by discarding 'Offset:'
2018-05-04 20:35:00 +02:00
Holger Vogt
43a6339071
rename VDMOS_CGS, VDMOS_CGD, VDMOS_CDS to VDMOS_CAPGS, VDMOS_CAPGD, VDMOS_CAPDS C: current, CAP: capacitance, V: voltage, G: conductance, Q: charge
2018-05-04 20:34:59 +02:00
Holger Vogt
b4b6e3ebf8
Add the bulk diode to the ac calculation
2018-05-04 20:34:58 +02:00
Holger Vogt
87e8b366ad
Add gate resistor to AC calculation 2
...
Add matrix entries for gate resistor
2018-05-04 20:34:56 +02:00
Holger Vogt
5d6e3348c9
Add gate resistor to AC calculation 1
...
Replace g (gate) by gp (gate prime) in existing matrix loading
2018-05-04 20:34:54 +02:00
Holger Vogt
570aacbf02
Remove VDMOS_CBS, VDMOS_CBD, VDMOS_CB
2018-05-04 20:34:52 +02:00
Holger Vogt
2b444a3423
remove unused parameters VDMOS_VBS/VBD and VDMOS_CAPBD/BS/GS/GD/GB
2018-05-04 20:34:51 +02:00
Holger Vogt
33a68b7321
return only half of the capacitance cgs and cgd
2018-05-04 20:34:50 +02:00
Holger Vogt
62297b2450
add weak inversion current capability
...
calibration of parameter subthres with LTSPICE is still missing.
2018-05-04 20:34:47 +02:00
rlar
ce2e704f56
up, where to ? fixme, there are more ...
2018-05-04 20:34:45 +02:00
rlar
ede0fb1caa
cleanup
2018-05-04 20:34:44 +02:00
Holger Vogt
4a3c707036
add parallel resistor rds (between outer drain and source nodes, parallel to bulk diode)
2018-05-04 20:34:42 +02:00
Holger Vogt
b7c6145f5e
rename the device multiplier m to mu, not to mix it up with the Body diode grading coefficient m
2018-05-04 20:34:41 +02:00
Holger Vogt
c5f47d3c1b
Error message and exit if a vdmos device instance
...
has different source and bulk node (have to be the same).
2018-05-04 20:34:40 +02:00
Holger Vogt
b13675ea44
remove unused code to calculate bulk-source and bulk-drain capacitors has been replaced already by capacitor from parallel bulk diode
2018-05-04 20:34:39 +02:00
Holger Vogt
f9b66af074
add the mtriode parameter scale the triode region independently from saturation current
2018-05-04 20:34:36 +02:00
Holger Vogt
40fe11db07
Body diode grading coefficient is m, not mj
2018-05-04 20:34:34 +02:00
Holger Vogt
2f719f7401
function 'inp_vdmos_model' to process vdmos model lines towards ngspice compatibility
2018-05-04 20:34:32 +02:00
Holger Vogt
f3478d7f13
re-format code
2018-05-04 20:34:31 +02:00
Holger Vogt
9d00a9e28d
re-format code (whitespace only)
2018-05-04 20:34:31 +02:00
Holger Vogt
45f52c859b
enable breakdown capability of parallel bulk diode
2018-05-04 20:34:30 +02:00
Holger Vogt
2bf70fa259
add matrix entries for bulk diode
2018-05-04 20:34:29 +02:00
Holger Vogt
bfec119e5b
Use better name for some parameters, cosmetics
2018-05-04 20:34:27 +02:00
Holger Vogt
4ac7a641ec
diode model for bulk diode added code taken from dio.c etc. capacitance calculation for vdmos bulk cap removed, is now completely with the diode. An internal node added for series diode resistance RB
...
matrix entries not yet done!
2018-05-04 20:34:26 +02:00
Holger Vogt
1ce7fef519
missing model parameters added
2018-05-04 20:34:25 +02:00
Holger Vogt
a4dc84ae35
missing model parameters added
2018-05-04 20:34:24 +02:00
Holger Vogt
0dc0aa06c4
re-introdeuce parameter phi Resulting temperature dependency of vto still not available
2018-05-04 20:34:24 +02:00
Holger Vogt
5b8c8072f3
mobility and substrate related parameters and equations removed
2018-05-04 20:34:22 +02:00
Holger Vogt
9df45731e9
depl cap calculation removed
2018-05-04 20:34:21 +02:00
Holger Vogt
0a213bea1a
more on removing the sidewall capacitance
2018-05-04 20:34:20 +02:00
Holger Vogt
ef547eb8ff
sidewall capacitance calculation removed
2018-05-04 20:34:19 +02:00
Holger Vogt
7df59a750e
useful parameter declarations moved to stay
2018-05-04 20:34:18 +02:00
Holger Vogt
0ebb7348ca
remove drain and source resistance contributions
2018-05-04 20:34:18 +02:00
Holger Vogt
84005efe8b
lateral diffusion and overlap capacitance removed
2018-05-04 20:34:17 +02:00
Holger Vogt
e0ddc38519
default transconductance parameter kp set to 1
2018-05-04 20:34:16 +02:00
Holger Vogt
e9e621de07
remove effective channel length, replace by l
2018-05-04 20:34:15 +02:00
Holger Vogt
47ef2bfaff
remove unused parameters VDMOS_MOD_VTO
2018-05-04 20:34:14 +02:00
Holger Vogt
d1497d8270
rename parameter "pb" --> "vj"
2018-05-04 20:34:13 +02:00
Holger Vogt
9c1b403f79
remove Gate.*OverlapCap
2018-05-04 20:34:12 +02:00
Holger Vogt
dee9dc370f
default m, W, L = 1
2018-05-04 20:34:11 +02:00
Holger Vogt
1aa3196ed9
another re-formatting for better readability (whitespace only)
2018-05-04 20:34:10 +02:00
Holger Vogt
d63123a269
gate resistance und gate conductance added, prime gate node added, not yet o.k. when rg is set, probably wrong signedness
2018-05-04 20:34:09 +02:00
Holger Vogt
40b9b18b01
gate conductance added
2018-05-04 20:34:09 +02:00
Holger Vogt
e0734a3ade
re-format for better readability
2018-05-04 20:34:08 +02:00
Holger Vogt
5abe8a759b
re-format for better readability, (whitespace only)
2018-05-04 20:34:07 +02:00
Holger Vogt
c0c3470dff
add the simple vdmos capacitance model instead of Meyer's model
2018-05-04 20:34:06 +02:00
Holger Vogt
389c888948
capacitance parameters cgdmin, cgdmax, a, cgs completely installed
2018-05-04 20:34:05 +02:00
Holger Vogt
eb1df52743
remove unused VDMOS_CAPZEROBIASBD/BDSW/BS/BSSW aka VDMOSCbd/bdsw/bs/bssw
2018-05-04 20:34:04 +02:00
Holger Vogt
f7b66ded9d
comment
2018-05-04 20:34:03 +02:00
Holger Vogt
f4853e85ca
add vdmos to the parameter list and search
2018-05-04 20:34:02 +02:00
rlar
b07661786f
move arround
2018-05-04 20:34:01 +02:00
Holger Vogt
8473c8e03c
remove empty VMOSdelete() function
2018-05-04 20:34:00 +02:00
Holger Vogt
b87f5c0563
remove never used sensitivity analysis code
2018-05-04 20:33:59 +02:00
Holger Vogt
b6a8613427
remove unused old sensitivity functions
2018-05-04 20:33:58 +02:00
Holger Vogt
1c4cb49478
CAPBYPASS removed
2018-05-04 20:33:57 +02:00
rlar
306e46359d
whitespace
2018-05-04 20:33:56 +02:00
rlar
5008d495ce
untabify
2018-05-04 20:33:55 +02:00
Holger Vogt
3e6a46826b
add src/spicelib/devices/vdmos to ngspice
2018-05-04 20:33:54 +02:00
Holger Vogt
d9bc4a5b41
add src/spicelib/devices/vdmos to ngspice
2018-05-04 20:33:53 +02:00
rlar
572bf10ebd
execute vdmos-1.el
2018-05-04 20:33:46 +02:00
rlar
45a70b3a53
rewrite, use enum instead of #define sequences
...
see branch "rewrite-defines2enum"
2018-04-30 19:23:18 +02:00
Francesco Lannutti
3a7e9411c3
drop #ifdef MUTUAL
2018-04-22 22:10:43 +02:00
rlar
bcf00ade06
cpl/cplsetup.c, cleanup VECTOR_ALLOC and MATRIX_ALLOC
...
swap first two arguments for readability
2018-04-22 22:04:45 +02:00
rlar
04dc62ef13
devices/*, move kind of `enum' defines out of struct definition
2018-04-15 15:05:02 +02:00
rlar
3b0e8cb8f1
vsrc/isrc, use an explicit #ifdef "PULSE_FUN_TYPES" guard
...
to avoid duplicate definition
2018-04-15 15:05:02 +02:00
rlar
a729c2860c
sensitivity, drop redundant #defines SENS_LIN/OCT/DEC/DEFPERT
...
use SENS_LINEAR/OCTAVE/DECADE/DEFPERTUB instead
2018-04-15 15:05:02 +02:00
rlar
a9439dc7dd
sensitivity, use numStates and numSenStates instead of hardcoded literals
2018-04-15 15:04:57 +02:00
rlar
d3f13edd4a
devices/vbic/vbicsetup.c, bug fix, incorrect states allocation
...
VBICnumSenStates is 10 not 8
2018-04-15 08:42:02 +02:00
rlar
d981fb331b
spicelib/devices/*, drop empty destroy functions
2018-04-15 07:13:06 +02:00
rlar
e725d728fc
res/restemp.c, avoid temporary NaN value, (simplify debugging)
...
RESupdate_conduct() may be called several times before all
parameters have been set via RESparam() invocations,
or finally being set to default values in RESsetup()
Especially RESscale might still be 0.0 as well as RESm
thus temporarily creating a NaN in RESupdate_conduct.
This would unnecessarily complicate debugging with enabled
floating point exceptions.
2018-03-17 18:36:12 +01:00
rlar
ead6dc4816
spicelib/devices/{sw,csw}, unify CKTstates[] access
...
do it the same way as the other devices do
access CKTstates[][slot] via device specific descriptive macros
access CKTstates[] via CKTstate0 CKTstate1 macros
this patch has been checked for object file in-variance with gcc
2018-03-08 19:40:53 +01:00
rlar
bcecc19e8b
spicelib/devices/{sw,csw}, cleanup for readability
...
This change is functional invariant, and has been checked
with gcc for object file in-variance.
For the details see the "rewrite-sw" branch
2018-03-08 18:24:49 +01:00
h_vogt
3dd2115291
frontend/subckt.c, do not put model names into numparam hash table
...
nobody seems to make use of these entries.
see nupa_type which shrinks to four enum's
2018-03-01 18:13:01 +01:00
rlar
b803b294b4
frontend/parser/lexical.c, cp_lexer(), allow # and * comment
...
Both, whether interactive or not.
Especially for command scripts.
2018-02-26 19:41:04 +01:00
rlar
6903584e99
asrc/asrcacld.c, bug fix, reciproc tc coefficient
2018-02-25 21:59:15 +01:00
Holger Vogt
b1aa6cfc87
xspice/enh/enhtrans.c, two2three_translate(), plug a memory leak
2018-02-25 20:05:15 +01:00
rlar
878c9645c7
frontend/outitf.c, drop /* ARGSUSED */ comments
2018-02-22 21:56:05 +01:00
Holger Vogt
edc690e26f
frontend/outitf.c, plug a memory leak when `.option interp'
2018-02-22 21:55:23 +01:00
rlar
cd1bbf2003
rewrite, use designated initializer for SPICEdev initialisation
2018-02-21 20:02:00 +01:00
rlar
95ef5e79d9
numparam/*, use `pscopy()'
2018-02-20 21:34:06 +01:00
rlar
9ad63cc2c0
numparam/*, plug memory leaks
2018-02-20 21:33:55 +01:00
rlar
ea1b83698f
numparam/*, drop case conversions
...
inpcom.c is supposed to convert everything to lower case.
Thus we can work case sensitive in numparam,
which is easier compared to a whole set of local case conversions.
2018-02-20 21:33:32 +01:00
rlar
0200d5c7e9
numparam/*, drop "old style" '&' syntax
...
Probably an artefact of the external preprocessor implementation
of numparam.
This syntax seems to have been a non spice macro expansion facility.
2018-02-20 21:30:52 +01:00
rlar
8022aa09a6
spicenum.c, cleanup dicoS usage
2018-02-20 21:30:41 +01:00
rlar
aa0dbd20ad
spicenum.c, drop putlogfile()
2018-02-20 21:30:15 +01:00
rlar
15c00a9d42
spicenum.c, drop dologfileS, logfileS and nblogS
...
which are never set
2018-02-20 21:29:50 +01:00
rlar
112f35cc96
nupa_copy(), use skip_back_ws()
2018-02-20 21:29:29 +01:00
rlar
9218b76583
nupa_copy(), cleanup
2018-02-20 21:28:56 +01:00
rlar
ec24c1ded7
nupa_copy(), fix lvalue
2018-02-20 21:28:03 +01:00
rlar
06708f1ed1
nupa_copy(), ls ==> s_end - (const) s
2018-02-20 21:27:38 +01:00
rlar
751d377d3e
pscopy(), pscopy_up(), use `char *stop' argument
...
instead of `int length' argument
2018-02-20 21:13:16 +01:00
rlar
e21d48a267
pscopy(), pscopy_up(), use _spice_dstring_setlength() return value
...
instead of invoking spice_dstring_value()
2018-02-20 21:13:05 +01:00
rlar
2ce91b0821
pscopy(), pscopy_up(), expand spice_dstring_reinit() macro
...
and inline the resulting spice_dstring_setlength() invocation
2018-02-20 21:12:56 +01:00
rlar
2cb579cd9f
pscopy(), pscopy_up(), drop `start' argument
...
which is always zero
2018-02-20 21:12:44 +01:00
rlar
3bd9c1c858
scopyd(), return void
2018-02-20 20:51:30 +01:00
rlar
5164c16a1b
numparam/mystring.c, drop unused nadd(), cins(), sins() and spos_()
2018-02-17 19:15:55 +01:00
rlar
468f7580ad
nupa_subcktcall(), cleanup using skip_ws()
2018-02-17 19:15:55 +01:00
rlar
a38b19bc0e
nupa_subcktcall(), reintroduce search for last occurence of the subckt name
2018-02-17 19:15:55 +01:00
rlar
c2f519c191
nupa_subcktcall(), drop `p_subname'
2018-02-17 19:15:55 +01:00
rlar
3f5ea23c71
nupa_subcktcall(), drop `ls_ptr'
...
valid because
neither `jp' nor `gp' will ever be incremented beyond end of string
2018-02-17 19:15:55 +01:00
rlar
437f92385a
nupa_subcktcall(), avoid `jp' pointing beyond end of string
...
The skip whitespace loop in the following line shall
safely swallow the delimiting space instead
2018-02-17 19:15:55 +01:00
rlar
bb9689139b
nupa_subcktcall(), drop `parsebuf' and `buf'
2018-02-17 19:15:55 +01:00
rlar
8b1e4fc32c
nupa_subcktcall(), introduce search_isolated_identifier()
...
the functionality is a bit different though,
because the previous code searched for the *last* occurence of the identifier
yet the new code searches for the first occurence.
2018-02-17 19:15:55 +01:00
rlar
6a57023ced
nupa_subcktcall(), drop `hp'
2018-02-17 19:15:55 +01:00
rlar
b16a61fb7c
nupa_subcktcall(), use skip_non_ws()
2018-02-17 19:15:55 +01:00
rlar
71ac5bccc2
nupa_subcktcall(), swap `hp' and `kp'
...
neither `hp' nor `kp' will be used any more behind this body
2018-02-17 19:15:55 +01:00
rlar
07112d62fb
nupa_subcktcall(), simplify
2018-02-17 19:15:55 +01:00
rlar
e4a2106cfe
nupa_subcktcall(), simplify
2018-02-17 19:15:55 +01:00
rlar
1298eacdb2
nupa_subcktcall(), simplify
2018-02-17 19:15:55 +01:00
rlar
1157142dfd
nupa_subcktcall(), simplify
2018-02-17 19:15:55 +01:00
rlar
6ca336af85
nupa_subcktcall(), pscopy transform
2018-02-17 19:15:55 +01:00
rlar
7d40920bd6
nupa_subcktcall(), cleanup
2018-02-17 19:15:55 +01:00
rlar
70cec5e9e3
nupa_subcktcall(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
ec9636e078
nupa_subcktcall(), ls ==> ls_ptr - (const) t_p
2018-02-17 19:15:55 +01:00
rlar
701dcad9a4
nupa_subcktcall(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
a773601b84
nupa_subcktcall(), g ==> gp - (const) t_p
2018-02-17 19:15:55 +01:00
rlar
3267bf8d63
nupa_subcktcall(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
0a149819a5
nupa_subcktcall(), h ==> hp - (const) t_p
2018-02-17 19:15:55 +01:00
rlar
47f1e7b1fa
nupa_subcktcall(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
cc932725ac
nupa_subcktcall(), k ==> kp - (const) t_p
2018-02-17 19:15:55 +01:00
rlar
d991296b82
nupa_subcktcall(), split personality of `k'
2018-02-17 19:15:55 +01:00
rlar
b9750ee59f
nupa_subcktcall(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
84c22e656a
nupa_subcktcall(), j ==> jp - (const) t_p
2018-02-17 19:15:55 +01:00
rlar
0f53656412
nupa_subcktcall(), split personality of `j'
2018-02-17 19:15:55 +01:00
rlar
80701652fc
nupa_subcktcall(), cleanup getexpress() usage
...
# Conflicts:
# src/frontend/numparam/xpressn.c
2018-02-17 19:15:55 +01:00
rlar
742f34f596
nupa_subcktcall(), spice_dstring_value(&tstr) ==> t_p
...
t_p is const and tstr hasn't been modified either,
thus still the same value.
2018-02-17 19:15:55 +01:00
rlar
cb4dfa13d8
nupa_subcktcall(), reduce scope of some locals
2018-02-17 19:15:55 +01:00
rlar
9670af0d4e
nupa_subcktcall(), drop `i', use a pointer instead
2018-02-17 19:15:55 +01:00
rlar
6e5ef92fd2
nupa_subcktcall(), transform pscopy(,x,y,) --> pscopy(,x+y,y-y,) (requirement strlen(x) >= y to be verified later)
2018-02-17 19:15:55 +01:00
rlar
53adeee1d3
nupa_subcktcall(), drop j1 and t_p1, use a pointer instead
2018-02-17 19:15:55 +01:00
rlar
c133f21ef7
nupa_subcktcall(), split personality of `t_p'
2018-02-17 19:15:55 +01:00
rlar
f17521fa4c
nupa_subcktcall(), split personality of `ls'
2018-02-17 19:15:55 +01:00
rlar
81e02154be
nupa_subcktcall(), split personality of `j'
2018-02-17 19:15:55 +01:00
rlar
13d9ecd517
nupa_subcktcall(), some constness
2018-02-17 19:15:55 +01:00
rlar
06b71fe2d2
nupa_subcktcall(), use skip_non_ws()
2018-02-17 19:15:55 +01:00
rlar
fa1c710f68
nupa_subcktcall(), move code down to a better place
2018-02-17 19:15:55 +01:00
rlar
1987559e89
nupa_subcktcall(), drop redundant initialisation for `narg'
...
and delay its incrementation a bit
2018-02-17 19:15:55 +01:00
rlar
b8f4b3e27e
nupa_subcktcall(), fix excess length in pscopy argument
2018-02-17 19:15:55 +01:00
rlar
8190ba3fca
nupa_subcktcall(), fix, honour end of string
2018-02-17 19:15:55 +01:00
rlar
4859f7d8df
findsubname(), cleanup and use isspace_c()
2018-02-17 19:15:55 +01:00
rlar
784ad14d60
findsubname(), drop `ls_ptr'
2018-02-17 19:15:55 +01:00
rlar
d647a84e66
findsubname(), just truncate it
2018-02-17 19:15:55 +01:00
rlar
5e6fe75db6
findsubname(), collect decrement operations
2018-02-17 19:15:55 +01:00
rlar
31ad5ca970
findsubname(), decrement later
2018-02-17 19:15:55 +01:00
rlar
01eb593ca4
findsubname(), explicit break out of the loop
2018-02-17 19:15:55 +01:00
rlar
cbd38fdc9c
findsubname(), use skip_back_ws()
2018-02-17 19:15:55 +01:00
rlar
270e0b6154
findsubname(), cleanup
2018-02-17 19:15:55 +01:00
rlar
a5c743d48c
findsubname(), fix lvalues
2018-02-17 19:15:55 +01:00
rlar
21d3f04659
findsubname(), h ==> p_end - (const) s
2018-02-17 19:15:55 +01:00
rlar
8881aead44
findsubname(), cleanup
2018-02-17 19:15:55 +01:00
rlar
c8340f2b4c
findsubname(), fix lvalues
2018-02-17 19:15:55 +01:00
rlar
90bb7cc289
findsubname(), j ==> t - (const) s
2018-02-17 19:15:55 +01:00
rlar
1778b608d8
findsubname(), cleanup
2018-02-17 19:15:55 +01:00
rlar
8df5717017
findsubname(), fix lvalues
2018-02-17 19:15:55 +01:00
rlar
a7c2253c8a
findsubname(), k ==> p - (const) s - 1
2018-02-17 19:15:55 +01:00
rlar
623436c9f9
findsubname(), fix lvalues
2018-02-17 19:15:55 +01:00
rlar
521fee88a6
findsubname(), ls ==> ls_ptr - (const) s
2018-02-17 19:15:55 +01:00
rlar
4ca87d6b0b
findsubname(), reorder and add some constness
2018-02-17 19:15:55 +01:00
rlar
ab152c99fc
findsubname(), local scope for `nest' `j' and `h'
2018-02-17 19:15:55 +01:00
rlar
45f3749bb1
findsubname(), drop `found', which is constantly 0
...
because of the previous commit
2018-02-17 19:15:55 +01:00
rlar
f0cead24b8
findsubname(), duplicate function epilogue and return early
2018-02-17 19:15:55 +01:00
rlar
4986df1baf
findsubname(), signature, drop unused return value
2018-02-17 19:15:55 +01:00
rlar
af78917b98
stripbraces(), whitespace
2018-02-17 19:15:55 +01:00
rlar
11e024753a
stripbraces(), cleanup
2018-02-17 19:15:55 +01:00
rlar
13be771308
stripbraces(), s + i ==> p
2018-02-17 19:15:55 +01:00
rlar
ab15f0b7bb
stripbraces(), group `s + i'
2018-02-17 19:15:55 +01:00
rlar
0101db946b
stripbraces(), s0 ==> s
2018-02-17 19:15:55 +01:00
rlar
e4e408d656
stripbraces(), unuse local `s'
...
`s0' does not change in the area of interest and has the same value
2018-02-17 19:15:55 +01:00
rlar
cb859060e0
stripbraces(), drop `i_ptr'
2018-02-17 19:15:55 +01:00
rlar
951517250b
stripbraces(), fix lvalue and cleanup
2018-02-17 19:15:55 +01:00
rlar
d4dad0f10c
stripbraces(), i ==> i_ptr - (const) s
2018-02-17 19:15:55 +01:00
rlar
186352b7e5
stripbraces(), fix lvalue and cleanup
2018-02-17 19:15:55 +01:00
rlar
686329dcaf
stripbraces(), j ==> j_ptr - (const) s
2018-02-17 19:15:55 +01:00
rlar
fc45b3addf
stripbraces(), make `s' constant in the region of interest
2018-02-17 19:15:55 +01:00
rlar
170aa84f47
stripbraces(), drop `ls'
2018-02-17 19:15:55 +01:00
rlar
e2c2140a52
stripbraces(), drop `t_p', which points to a copy of `s'
2018-02-17 19:15:55 +01:00
rlar
8d0df0d024
stripbraces(), fix split personality of `i'
2018-02-17 19:15:55 +01:00
rlar
98ec9c2fa3
stripbraces(), use `strchr()'
2018-02-17 19:15:55 +01:00
rlar
26ff93abd9
stripbraces(), simplify
2018-02-17 19:15:55 +01:00
rlar
1721407359
transform(), use `strstr()' instead of `spos_()'
2018-02-17 19:15:55 +01:00
rlar
e28169d62c
transform(), reduce scope of `tstr'
2018-02-17 19:15:55 +01:00
rlar
f776a24ea7
transform(), ci_prefix() is case insensitive
...
thus can use `s' instead of `t'
and ci_prefix() does return a boolean
2018-02-17 19:15:55 +01:00
rlar
6500aeb132
transform(), drop local `n'
2018-02-17 19:15:55 +01:00
rlar
7cf4338981
transform(), drop unused argument `u_p'
2018-02-17 19:15:55 +01:00
rlar
ea6290f666
nupa_substitute(), cleanup and a fixme
...
the '&' sequences, which are hopefully nowhere announced and advertised,
might increment char pointers beyond the terminating '\0' causing havoc.
2018-02-17 19:15:55 +01:00
rlar
abb16c288b
nupa_substitute(), cleanup
2018-02-17 19:15:55 +01:00
rlar
0d3c0dfd78
nupa_substitute(), rename r_ --> r
2018-02-17 19:15:55 +01:00
rlar
a34703f748
nupa_substitute(), verify `r' beeing unused now
2018-02-17 19:15:55 +01:00
rlar
b0e5fc267c
nupa_substitute(), cleanup
2018-02-17 19:15:55 +01:00
rlar
cc02b9ae2d
nupa_substitute(), fix lvalue and cleanup
2018-02-17 19:15:55 +01:00
rlar
ac59410602
nupa_substitute(), ir ==> r_ - (const) r
2018-02-17 19:15:55 +01:00
rlar
0fd1e2323c
nupa_substitute(), express some constness
2018-02-17 19:15:55 +01:00
rlar
6c1d3ba34a
nupa_substitute(), whitespace
2018-02-17 19:15:55 +01:00
rlar
6b5606edc1
nupa_substitute(), cleanup return on error
2018-02-17 19:15:55 +01:00
rlar
cba740f88d
nupa_substitute(), postpone `s' incrementation
2018-02-17 19:15:55 +01:00
rlar
ad1eeeb410
nupa_substitute(), postpone `s' incrementation
2018-02-17 19:15:55 +01:00
rlar
39b544aba1
nupa_substitute(), cleanup
2018-02-17 19:15:55 +01:00
rlar
6a003e52d1
nupa_substitute(), cleanup for loops
2018-02-17 19:15:55 +01:00
rlar
ad603be96f
nupa_substitute(), cleanup for loops
2018-02-17 19:15:55 +01:00
rlar
c06dddc4db
nupa_substitute(), break sooner
2018-02-17 19:15:55 +01:00
rlar
baf76512b3
nupa_substitute(), reduce scope of d
2018-02-17 19:15:55 +01:00
rlar
55e7fa269a
nupa_substitute(), at the end of the loop d === *kptr
2018-02-17 19:15:55 +01:00
rlar
571909b8b6
nupa_substitute(), postpone kptr incrementation
2018-02-17 19:15:55 +01:00
rlar
d38804d7c0
nupa_substitute(), move final kptr incrementation out of the loop
2018-02-17 19:15:55 +01:00
rlar
f5448025a8
nupa_substitute(), postpone kptr incrementation
2018-02-17 19:15:55 +01:00
rlar
0aff4dfaa6
nupa_substitute(), transform while loop
2018-02-17 19:15:55 +01:00
rlar
ef1d896cee
nupa_substitute(), reduce scope of local variabes
2018-02-17 19:15:55 +01:00
rlar
bd335cb5be
nupa_substitute(), delay kptr assignment
2018-02-17 19:15:55 +01:00
rlar
ca84d10d0a
stripsomespace(), drop `ls'
2018-02-17 19:15:55 +01:00
rlar
cc05c0c05b
formula(), postpone kptr incrementation
2018-02-17 19:15:55 +01:00
rlar
abe572237f
formula(), postpone arg2 and arg3 incrementation
2018-02-17 19:15:55 +01:00
rlar
a35a2fd3db
formula(), cleanup for(;;) loop
2018-02-17 19:15:55 +01:00
rlar
3136f45229
formula(), move final kptr incrementation out of the loop
2018-02-17 19:15:55 +01:00
rlar
2010e6b4fb
formula(), kptr++ to the for loop epilogue
2018-02-17 19:15:55 +01:00
rlar
c761b4432a
formula(), transform while loop
2018-02-17 19:15:55 +01:00
rlar
11adf9f62c
findsubckt(), cleanup
2018-02-17 19:15:55 +01:00
rlar
6a9248f111
findsubckt(), use skip_back_ws()
2018-02-17 19:15:55 +01:00
rlar
9bccda5450
findsubckt(), cleanup
2018-02-17 19:15:55 +01:00
rlar
9e1a6b85ff
findsubckt(), swap name_b and name_e in the prolog
2018-02-17 19:15:55 +01:00
rlar
61f3ecffd6
findsubckt(), rename k_ptr --> name_b
2018-02-17 19:15:55 +01:00
rlar
23b741868b
findsubckt(), cleanup
2018-02-17 19:15:55 +01:00
rlar
51405f8ee7
findsubckt(), fix lvalue
2018-02-17 19:15:55 +01:00
rlar
b3c40a77cf
findsubckt(), j_ptr --> name_e - 1
2018-02-17 19:15:55 +01:00
rlar
3d9a76d342
findsubckt(), drop k_ptr--, use k_ptr - 1 instead
2018-02-17 19:15:55 +01:00
rlar
8cd136c6bd
findsubckt(), move k_ptr-- beyond the loop
2018-02-17 19:15:55 +01:00
rlar
b0b4551d68
findsubckt(), move k_ptr-- to the front of the next loop
2018-02-17 19:15:54 +01:00
rlar
d2dac0ea9d
findsubckt(), move k_ptr-- beyond the loop
2018-02-17 19:15:54 +01:00
rlar
e1f5609568
findsubckt(), exclude the terminating '\0' from the search
2018-02-17 19:15:54 +01:00
rlar
a0f9b2bf0f
findsubckt(), cleanup
2018-02-17 19:15:54 +01:00
rlar
f4bd03a00f
findsubckt(), transform pscopy(,x,y,) --> pscopy(,x+y,y-y,) (requirement strlen(x) >= y to be verified later)
2018-02-17 19:15:54 +01:00
rlar
c486218e33
findsubckt(), cleanup
2018-02-17 19:15:54 +01:00
rlar
a9c2f81878
findsubckt(), fix lvalue
2018-02-17 19:15:54 +01:00
rlar
940eb2a258
findsubckt(), j ==> j_ptr - (const) s
2018-02-17 19:15:54 +01:00
rlar
cd05eb1d50
findsubckt(), fix lvalue
2018-02-17 19:15:54 +01:00
rlar
78147c2bd9
findsubckt(), k ==> k_ptr - (const) s
2018-02-17 19:15:54 +01:00
rlar
81b60b7367
findsubckt(), constness
2018-02-17 19:15:54 +01:00
rlar
849d12b18a
defsubckt(), rename j_ptr ==> s_end
2018-02-17 19:15:54 +01:00
rlar
948352a2ed
defsubckt(), drop i_ptr, use s instead
2018-02-17 19:15:54 +01:00
rlar
82d4f8544c
defsubckt(), check `s' beeing nowhere used anymore
2018-02-17 19:15:54 +01:00
rlar
a46e1113d0
defsubckt(), drop `ls_ptr'
2018-02-17 19:15:54 +01:00
rlar
10e9760f13
defsubckt(), transform pscopy(,x,y,) --> pscopy(,x+y,y-y,) (requirement strlen(x) >= y to be verified later)
2018-02-17 19:15:54 +01:00
rlar
44a17a14f7
defsubckt(), cleanup
2018-02-17 19:15:54 +01:00
rlar
9a64579db6
defsubckt(), fix lvalue
2018-02-17 19:15:54 +01:00
rlar
d73a265c45
defsubckt(), j ==> j_ptr - (const) s
2018-02-17 19:15:54 +01:00
rlar
1a44e4fb42
defsubckt(), fix lvalue
2018-02-17 19:15:54 +01:00
rlar
6d285d927a
defsubckt(), i ==> i_ptr - (const) s
2018-02-17 19:15:54 +01:00
rlar
deca1a05ed
defsubckt(), fix lvalue
2018-02-17 19:15:54 +01:00
rlar
4e89b80a75
defsubckt(), ls ==> ls_ptr - (const) s
2018-02-17 19:15:54 +01:00
rlar
dbcbf62012
defsubckt(), constness
2018-02-17 19:15:54 +01:00
rlar
27884d2512
nupa_assignment(), postpone p++
2018-02-17 19:15:54 +01:00
rlar
f0fa06ea26
nupa_assignment(), whitespace
2018-02-17 19:15:54 +01:00
rlar
0624584370
nupa_assignment(), simplify error processing
2018-02-17 19:15:54 +01:00
rlar
66433eda0b
nupa_assignment(), cleanup
2018-02-17 19:15:54 +01:00
rlar
8bded8b878
nupa_assignment(), cleanup
2018-02-17 19:15:54 +01:00
rlar
8f9f03c457
nupa_assignment(), fix lvalues
2018-02-17 19:15:54 +01:00
rlar
0e6ece4370
nupa_assignment(), ls ==> s_end - (const) s
2018-02-17 19:15:54 +01:00
rlar
410e70b9b9
nupa_assignment(), express some constness
2018-02-17 19:15:54 +01:00