rlar
9390a9a9ec
rewrite com_quit()
...
emphasize user confirmation
and if we are going to remove dangling circuits,
then do so unconditionally
2012-08-15 20:15:15 +02:00
rlar
be183407cd
cleanup (checked for code invariance)
2012-08-15 19:18:15 +02:00
rlar
ae6a16e3e4
plug a memory leak when executing `shell'
2012-08-14 21:00:21 +02:00
rlar
fa81e9d007
plug a memory leak when (un)setting variables
2012-08-14 20:39:11 +02:00
rlar
64139a243c
spiceif.c, cleanup (checked for code invariance)
2012-08-14 20:38:25 +02:00
rlar
0c230b2970
spiceif.c, cleanup (checked for code invariance)
2012-08-12 20:28:42 +02:00
rlar
10a9ae32c5
options.c cleanup
2012-08-12 12:48:27 +02:00
rlar
a2f58da0d0
options.c, whitespace
2012-08-12 12:43:09 +02:00
rlar
e93960f9ed
cleanup, if_options() will copy() anyway
2012-08-12 12:25:00 +02:00
rlar
7126dd6f1d
display.c, cleanup
2012-08-08 18:54:52 +02:00
rlar
0beb95757f
cancer of the semicolon
2012-08-07 21:20:36 +02:00
rlar
d50ffdd987
swallow warnings
2012-08-06 19:50:23 +02:00
rlar
1a2477bdcc
avoid `meas' syntax error causing segfault
...
Invalid meas crashes ngspice with SIGSEV - ID: 3554330
http://sourceforge.net/tracker/?func=detail&aid=3554330&group_id=38962&atid=423915
2012-08-06 19:42:49 +02:00
rlar
46980f2cc6
plotit.c #9/9, whitespace
2012-08-05 21:41:25 +02:00
rlar
4803d8bba2
plotit.c #8/9, braces
2012-08-05 21:41:25 +02:00
rlar
6a334da2b4
plotit.c #7/9, braces
2012-08-05 21:41:25 +02:00
rlar
f587553217
plotit.c #6/9, braces
2012-08-05 21:41:25 +02:00
rlar
088e88d9b2
plotit.c #5/9, localize
2012-08-05 21:41:25 +02:00
rlar
5f1387892c
plotit.c #4/9, line wrap
2012-08-05 21:41:25 +02:00
rlar
ed4ad1c0dd
plotit.c #3/9, drop some comments
2012-08-05 21:41:25 +02:00
rlar
5c43e8f2fc
plotit.c #2/9, emphasize maximize/minimize
2012-08-05 21:41:25 +02:00
rlar
406fc29007
plotit.c #1/9, think positive
2012-08-05 21:41:25 +02:00
h_vogt
11ae043c3d
com_measure2.c: enable 'meas dc' without 'from' and 'to' given
...
measure.c: no error printout during autostop
2012-08-05 20:03:00 +02:00
rlar
d6ba5e5b3f
cleanup free_struct_variable()
2012-08-05 12:22:47 +02:00
rlar
75c59a26fa
variable.c, cleanup (mostly whitespace)
2012-08-05 12:22:47 +02:00
dwarning
99b167b272
correct alter of mos geometries for binned models
2012-08-05 12:11:16 +02:00
rlar
51271d2a0b
cp_oddcomm(), plug a memory leak
2012-08-04 22:27:04 +02:00
h_vogt
acfc7a2a27
remove memory leaks
2012-08-04 19:09:13 +02:00
dwarning
2516a118a3
indentation
2012-08-04 16:24:38 +02:00
rlar
713091ea22
wlist #3/3, whitespace
2012-08-04 11:40:35 +02:00
rlar
fe5ac28b92
wlist #2/3, cleanup
2012-08-04 11:40:35 +02:00
rlar
406dcc3519
wlist #1/3, cleanup
2012-08-04 11:40:35 +02:00
h_vogt
05437b1d48
inpcom.c: safely uncomment unused subcircuits (top level only)
...
if they contain further nested subcircuits
2012-08-03 22:42:33 +02:00
rlar
9ed7ce4e9e
wlist.c, `const' ness
2012-08-03 21:46:13 +02:00
rlar
e4c7a8df32
use wl_find()
2012-08-03 20:48:11 +02:00
rlar
cf2a0f3df3
cleanup, linewrap
2012-08-03 20:43:12 +02:00
rlar
191ae9ea90
cleanup, char 0
2012-08-03 20:43:10 +02:00
rlar
5a69b9efc4
cleanup, void return
2012-08-03 20:43:06 +02:00
rlar
ef37252155
lexical, use wl_append_word()
2012-08-03 20:24:58 +02:00
rlar
62a4ee77d5
lexical #6/6, whitespace
2012-08-03 20:20:18 +02:00
rlar
ea558fbc7f
lexical #5/6, cleanup
2012-08-03 20:18:17 +02:00
rlar
aa188c0766
lexical #4/6, parentheses and braces
2012-08-03 20:16:47 +02:00
rlar
c73c0f4318
lexical #3/6, rewrite
2012-08-03 20:12:58 +02:00
rlar
5656203a6c
lexical #2/6, linewrap
2012-08-03 20:12:19 +02:00
rlar
5d245c9dab
lexical #1/6, cleanup
2012-08-03 20:09:34 +02:00
h_vogt
96d2ff96e0
alloc.c: exlude controlled_exit if not MS Windows
...
not available in some tests in cmaths and executable like ngproc2mod
2012-08-03 08:28:50 +02:00
rlar
64d00a6b43
lexical #3/3, collapse append(NULL) into cp_ccom()
...
the sequence
orig_wlist = wlist;
append(NULL);
cp_ccom(wlist, ...);
is transformed.
expressions to care about in cp_ccom()
C1 := (wlist->wl_next != NULL)
C2 := (wlist->wl_word != NULL)
C3 := wl_length(wlist)
D1 := (orig_wlist != NULL)
D2 := (orig_wlist->wl_word != NULL)
D3 := wl_length(orig_wlist);
cases and their significance in cp_ccom():
orig_wlist = NULL;
wlist = wl_cons(NULL, NULL);
C1 == false
D1 == false
C2,C3 dont care
orig_wlist = wl_cons(E1, wl_cons(E2, ... wl_cons(En, NULL)))
wlist = wl_cons(E1, wl_cons(E2, .... wl_cons(En, wl_cons(NULL, NULL))))
C1 == true
D1 == true
C2 === D2
C3 === D3 + 1
2012-08-02 18:55:54 +02:00
rlar
fec5b00a0d
lexical #2/3, fix memory leaks
2012-08-02 18:55:54 +02:00
rlar
042311d0c3
lexical #1/3, move append(NULL) invokations into position
2012-08-02 18:55:54 +02:00
h_vogt
67e0cf0608
undo controlled_exit: not compatible with ancient tests in cmath under LINUX
2012-08-01 22:10:13 +02:00
rlar
1195498978
lexical #19/19, rewrite
2012-07-31 20:49:34 +02:00
rlar
5b67ecda79
lexical #18/19, rewrite
...
`cw' won't be looked at, thus the append + removal can be dropped
`wl_word' is already NULL
2012-07-31 20:49:34 +02:00
rlar
f990e517b5
lexical #17/19, rewrite
2012-07-31 20:49:34 +02:00
rlar
fa9be4336a
lexical #16/19, transform append --> append(word)
2012-07-31 20:49:34 +02:00
rlar
43a6d59c72
lexical #15/19, drop `delayed' which is never zero ...
2012-07-31 20:49:33 +02:00
rlar
47b5e9576d
lexical #14/19, drop `delayed = 0' wherever its effect isn't visible
...
without effect, because we return or will overwrite it anyway
2012-07-31 20:49:33 +02:00
rlar
01df4e9437
lexical #13/19, delay `append'
...
delay its execution, until
either `wlist' or `cw' will be accessed,
or
a return or goto nloop is inevitable
2012-07-31 20:49:33 +02:00
rlar
cff6188fe3
lexical #12/19, use `append'
...
some `assumption' are no longer valid
2012-07-31 20:49:32 +02:00
rlar
5ad8382cf1
lexical #11/19, aproach `append' here
2012-07-31 20:49:32 +02:00
rlar
d61f3c10a0
lexical #10/19, split off `append' from `newword'
2012-07-31 20:49:32 +02:00
rlar
af0a0c2c03
lexical #9/19, aproach the `append'
...
cw has never been NULL here,
because we used to survive an update of cw->wl_next here
wlist hasn't been NULL either,
because there is no place where wlist becomes NULL without
setting cw to NULL as well. yet cw isn't NULL (see above)
aproach the `append'
2012-07-31 20:49:31 +02:00
rlar
74cc38f67a
lexical #8/19, express where `wlist' and `cw' start being != NULL
2012-07-31 20:49:31 +02:00
rlar
3cbc4b0773
lexical #7/19, express verbosely where `wlist' and `cw' are NULL
2012-07-31 20:49:31 +02:00
rlar
ecb2eec279
lexical #6/19, express cp_ccom() property
2012-07-31 20:49:31 +02:00
rlar
3b575d5e3d
lexical #5/19, collapse into `newword'
2012-07-31 20:49:30 +02:00
rlar
348dc2d7d1
lexical #4/19, the `else' can take that job (unconditionally)
2012-07-31 20:49:30 +02:00
rlar
80191f3d44
lexical #3/19, attach and instantly remove a NULL wl_word here
...
this modification is faithful iff cw != NULL and cw->wl_next == NULL
cw != NULL because we have just survived an update of cw->wl_word
cw->wl_next == NULL is witnessed by:
1) cw either NULL or pointing to a wl_cons(,NULL)
2) cw not being modified, and no wl_next being modified
3) check of all function invocations with wlist/cw argument
not to modify any wl_next slot
which are:
1) cp_ccom(wlist, ...)
2) wl_free() always followed by goto nloop, which does a cw = wl_cons(,NULL)
and cp_ccom() doesn't modify any wl_next slot
the first part of the patch is intentionally similar to newword
`i' and `buf' can be modified here, because we will inevitably `goto done'
attach and instantly remove a NULL wl_word here
2012-07-31 20:49:30 +02:00
rlar
ddebb63425
lexical #2/19, rewrite the `else if'
2012-07-31 20:49:29 +02:00
rlar
f2f43bcce7
lexical #1/19, use wl_cons
2012-07-31 20:49:29 +02:00
rlar
f36772419a
Revert "cleanup, use wl_cons()"
...
This reverts parts of commit 7a7250cdbd .
There is a cleaner way to rewrite lexical.c
2012-07-31 20:48:01 +02:00
h_vogt
b85f6bbc7d
controlled_exit() instead of exit()
2012-07-31 17:54:51 +02:00
h_vogt
207adefcda
evtprint.c: no node data: error message instead of seg fault
2012-07-30 23:32:54 +02:00
rlar
64b8dfc570
use wl_delete_slice()
2012-07-29 13:11:43 +02:00
rlar
cdef8aa10e
implement wl_delete_slice()
2012-07-29 13:11:42 +02:00
h_vogt
d793dd6a61
variable xtrtol may override the XSPICE reduction of trtol
2012-07-29 12:53:31 +02:00
rlar
26468839d4
plotit(), cleanup wordlist processing
2012-07-28 19:55:09 +02:00
rlar
608e0473d3
copy(), allow NULL argument
2012-07-28 19:53:55 +02:00
rlar
b808fcec8a
fix typo in the commit `use wl_find()'
2012-07-28 14:52:17 +02:00
dwarning
3c3ba4c731
inpgmod.c: correct the range check to prevent overlap
2012-07-28 13:44:33 +02:00
dwarning
fd85e8fd42
indentation
2012-07-28 13:39:00 +02:00
rlar
891d99497d
use wl_find()
2012-07-28 12:29:23 +02:00
rlar
e2be942b72
implement wl_find()
2012-07-28 12:29:22 +02:00
rlar
60398d113c
plotit.c, prepare for usage of wl_find()
2012-07-28 12:29:19 +02:00
rlar
7a7250cdbd
cleanup, use wl_cons()
2012-07-27 21:50:05 +02:00
h_vogt
1754427bee
enhtrans.c: indentations
2012-07-25 23:05:28 +02:00
h_vogt
20429eec4d
message "OpenMP: %d threads are requested..." removed
2012-07-25 23:04:13 +02:00
h_vogt
9b122d30a3
enhtrans.c, improved error meassage upon non 'Exxx poly' line bug
2012-07-24 22:04:31 +02:00
h_vogt
12e60822fb
measure.c: indentations
2012-07-23 23:26:20 +02:00
h_vogt
ed5491c179
measure.c: Update on error message for .meas
2012-07-23 23:23:42 +02:00
h_vogt
d1d2ff94e4
measure, error message updated and return(NAN) in case of measure failure
...
test for failure with isnan()
2012-07-23 22:57:32 +02:00
rlar
05e5854268
plotit.c, whitespace cleanup
2012-07-23 19:17:25 +02:00
rlar
512644ca34
rewrite using wl_ functions
2012-07-22 11:58:29 +02:00
rlar
cd2cab2a94
bug fix, cp_ioreset(): fclosing an already closed stream
...
causing memory corruption when using `>&' stderr redirection
2012-07-22 11:56:25 +02:00
h_vogt
4d0d0fafb9
repair broken ternary function in B-Source
...
failed if parameters were included in function.
fixed by finding nested parens in gettok_char()
2012-07-21 22:23:49 +02:00
h_vogt
c3141d94e0
table: prevent crashes upon wrong inputs, allow time, temper, hertz as part of device or node name (e.g. Rtime), remove some memory leaks
2012-07-21 21:18:24 +02:00
rlar
1e65ea9e80
rewrite using wl_ functions
...
this fixed following bug as well:
echo "echo abra ; ; echo kadabra" | ngspice -p
building a circular list and looping forever
2012-07-21 18:22:10 +02:00
rlar
561d30e5bf
implement wl_chop()
2012-07-21 14:42:18 +02:00
h_vogt
87c80b842c
gettok_char(), return(NULL) if substring not found
2012-07-19 23:16:15 +02:00
rlar
fee664bc19
untabify
2012-07-19 20:26:13 +02:00
rlar
31ee05ceef
mw_coms.c, fix the cleanup using wl_cons()
2012-07-19 20:25:06 +02:00
rlar
8d0306c27a
cpif.c, whitespace, indentation, cleanups
2012-07-19 20:15:33 +02:00
rlar
75d6f6da5e
cpitf.c, cleanup using wl_ functions
2012-07-19 20:15:30 +02:00
rlar
3062e25184
mw_comms.c, whitespace, indentation, cleanups
2012-07-19 18:49:27 +02:00
rlar
95978d3697
mw_coms.c, cleanup using wl_cons()
2012-07-19 18:49:25 +02:00
rlar
2b859633a1
fix the fix wl_reverse() for empty lists
2012-07-15 19:42:09 +02:00
rlar
a890a55937
fix wl_reverse() for empty lists
2012-07-14 12:39:13 +02:00
rlar
5859f1a61d
comments for wl_cons(), wl_append_word() and wl_chop_rest()
2012-07-14 12:39:02 +02:00
rlar
9655b9885a
cleanup, use wl_cons(), wl_append_word() and wl_chop_rest()
2012-07-14 10:23:51 +02:00
rlar
d9ddaec784
implement wl_cons(), wl_append_word() and wl_chop_rest()
2012-07-14 09:18:39 +02:00
h_vogt
8defa56cf6
remove second call to tmpfile()
2012-07-14 00:10:21 +02:00
rlar
2a22c1b23c
bug fix, missing update of a wordlist's wl_prev pointer
2012-07-12 20:44:53 +02:00
rlar
e1f8033f1c
bug fix, incorrect update of a wordlist's wl_prev pointer
2012-07-12 18:49:01 +02:00
h_vogt
4ca6e56863
printf() ---> out_printf(): allow output redirection into file
2012-07-11 18:56:19 +02:00
rlar
9b34d99e51
emphasize the adms3 `U' device hijack
2012-07-07 20:13:05 +02:00
rlar
84b58ebd3b
don't mess with libtools --enable-static / --enable-shared
...
tie libspice to -shared
ngspice et al to -static
and use $(STATIC) elsewhere
which is governed by configure.ac
2012-07-07 14:51:43 +02:00
rlar
cb0a48801d
introduce AM_CFLAGS = $(STATIC)
2012-07-07 14:51:39 +02:00
h_vogt
a0b64a8624
spfactor.c, indentations
2012-07-07 10:04:21 +02:00
h_vogt
2bff8985e3
Adding TD to the fopen() is sufficient in MS Windows
...
to reliably unlink the temporary file
2012-07-07 09:53:35 +02:00
dwarning
c9b729032d
no double count of area for capacitances
2012-07-04 22:41:56 +02:00
dwarning
dcc22ada60
new scalable diode model including tunnel component
2012-07-04 08:14:33 +02:00
h_vogt
cc44d34f70
tmpfile() on MS Windows
...
create temporary files with Microsoft specific fopen() flags "TD"
and (propably redundant) remove them with an atexit() handler
see bug report #3535348
"sp*.tmp file created, but not deleted when Windows UAC is en"
https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3535348&group_id=38962
2012-07-03 18:38:30 +02:00
h_vogt
3a603cf17c
Visual Studio: isatty --> _isatty
2012-07-02 19:45:43 +02:00
h_vogt
14914025c0
measure_at(), allow real valued data for meas ac
2012-06-26 23:43:50 +02:00
h_vogt
0207dc7239
no exchange of ' ' by { } inside .control section
2012-06-26 23:28:31 +02:00
h_vogt
188acd0060
correct usage of `unlink()' error return value -1
2012-06-25 15:13:02 +02:00
dwarning
4a75ce744d
dioload.c, diosetup.c, correct knee current parameter defaults
2012-06-25 07:43:27 +02:00
dwarning
a7ffb7d69f
dio/dioload.c, whitespace change
2012-06-25 07:31:03 +02:00
rlar
f661a1032d
bug fix, ltra and tra, (initial conditions)
...
reported in
https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3535544&group_id=38962
bug was introduced in this commit:
Date: Wed Dec 31 17:02:46 2003 +0000
Cleaned up LTRA, TRA and URC code and updated DEVICES file.
2012-06-16 13:06:28 +02:00
dwarning
9648238ed7
call omp_set_num_threads once in central place instead in model routines
2012-06-15 23:14:08 +02:00
rlar
b398d39772
xpsice, use the CFLAGS when linking .cm code models
2012-06-13 19:15:28 +02:00
dwarning
9ea4897d06
use unified macro USE_OMP and nthreads is set in setup once - not in load as clause
2012-06-13 19:15:27 +02:00
h_vogt
fde8c46356
add ac and dc simulation to memristor model
2012-06-13 19:15:25 +02:00
h_vogt
f53eb5cf78
memristor code model in extradev
2012-06-13 19:15:24 +02:00
h_vogt
7bfd4edefc
FABS() --> fabs()
2012-06-13 19:15:23 +02:00
h_vogt
ff11ccda20
In B source the argument to 'log' may be 0 upon start of simulation, allow recovery like in function 'ln'
2012-06-13 19:15:22 +02:00
h_vogt
0a087a47c8
enable B source debugging in behavioral models, exit on error if variable strict_errorhandling is set
2012-06-13 19:15:21 +02:00
h_vogt
07727f74f0
commands.c: 'options' equivalent to 'option' and allow 'loadsnap' and 'savesnap'
...
which have been EXPERIMENTAL_CODE so far
2012-06-13 19:15:14 +02:00
dwarning
1c4f960b45
update `bsim3soi' aka `b4soi'
2012-06-13 19:15:07 +02:00
rlar
5bb4c56165
outitf.c, cleanup
2012-06-12 21:26:31 +02:00
rlar
05fd5a03d6
outitf.c, cleanup cancer of the semicolon
2012-06-12 21:26:31 +02:00
rlar
4202354704
outitf.c, cleanup comment
2012-06-12 21:26:31 +02:00
rlar
ccea57570e
outitf.c, cleanup return
2012-06-12 21:26:31 +02:00
rlar
486ffc9429
outitf.c, whitespace
2012-06-12 21:26:31 +02:00
h_vogt
c78d71c363
.nodeset all = value added to set all voltage nodes at once
2012-06-12 21:26:31 +02:00
rlar
a34cbdbeab
tiny cleanup
2012-06-12 21:26:30 +02:00
rlar
b1cbebaa99
fix tcl module compilation
...
test programs don't compile when compiling for TCL_MODULE
due to redefinition of fprintf()
2012-06-12 21:26:30 +02:00
rlar
6ae6223250
misccoms.c, com_quit(), implement exitcode
2012-06-12 21:26:30 +02:00
rlar
5436de5bab
misccoms.c, tiny rewrite
2012-06-12 21:26:30 +02:00
rlar
8dcf132199
misccoms.c, shrink scope
2012-06-12 21:26:30 +02:00
rlar
cc32eae60b
misccoms.c, collect byemessage()
2012-06-12 21:26:30 +02:00