rlar
b92b25950e
devices/asrc, rewrite asrc_vals, asrc_derivs allocation
2016-07-30 21:10:36 +02:00
rlar
4d79617cf1
spicelib/devcies/*dest.c, rewrite DEVdestroy() functions
2016-07-30 21:10:32 +02:00
rlar
3715947529
dctrcurv.c, #7/7, cleanup
2016-07-30 21:02:35 +02:00
rlar
1cdd68f787
dctrcurv.c, #6/7, use the fact 'i' being 0
2016-07-30 21:02:31 +02:00
rlar
9b75fcb9ce
dctrcurv.c, #5/7, cleanup while loop
2016-07-30 21:02:26 +02:00
rlar
437bc36a8f
dctrcurv.c, #4/7, polish comments
2016-07-30 21:02:21 +02:00
rlar
f77485b081
dctrcurv.c, #3/7, express the value of 'i' more verbosely
2016-07-30 21:02:17 +02:00
rlar
b43a98e0c9
dctrcurv.c, #2/7, use 'j' here for simplicity
2016-07-30 21:02:12 +02:00
rlar
8baf4f435f
dctrcurv.c, #1/7, whitespace cleanup
2016-07-30 21:02:07 +02:00
rlar
5b42d09618
unify, use memcpy for CKTstate copy operations
2016-07-30 21:00:29 +02:00
rlar
d298d5cc2f
use memset() instead of deprecated bzero()
2016-07-30 20:58:33 +02:00
rlar
141ed61ec8
use memcpy() instead of deprecated bcopy()
2016-07-30 20:58:19 +02:00
h_vogt
4047a794e7
bsim3v3.24: add OMP support
...
model is still used by commercial (e.g. X-fab) libraries
2016-07-30 20:18:07 +02:00
h_vogt
151fed6084
bsim3v3.24: add model parameter lmlt (Channel length scaling)
2016-07-30 20:18:01 +02:00
h_vogt
af53cbb415
bsim4, bug fix (when USE_OMP), uninitialised variable `here->BSIM4_27'
2016-07-30 20:00:11 +02:00
h_vogt
f22e8dd970
b4v5dest.c, b4v6dest.c, remove memory leak
2016-07-30 12:19:15 +02:00
h_vogt
f997203c6d
add OMP support to BSIM4.5 model
2016-07-30 12:19:05 +02:00
rlar
51fa006c63
INPparseNumMod(), #14/14, whitespace cleanup
2016-07-17 18:28:23 +02:00
rlar
0b1c79172c
INPparseNumMod(), #13/14, invert 'if' statement
2016-07-17 18:26:48 +02:00
rlar
aa5afccf15
INPparseNumMod(), #12/14, use 'info' instead of 'lastType'
...
to signify having read a cardName
2016-07-17 18:26:41 +02:00
rlar
c4d39d66de
INPparseNumMod(), #11/14, remove unused 'cardType'
2016-07-17 18:26:27 +02:00
rlar
521fd16c11
INPparseNumMod(), #10/14, don't fall through into the 'default:'
...
instead, duplicate the code of the 'default:' and break
2016-07-17 18:26:21 +02:00
rlar
6b305744d9
INPparseNumMod(), #9/14, invert the 'if' statement
2016-07-17 18:26:16 +02:00
rlar
1483e2df9a
INPparseNumMod(), #8/14, move the 'default:' body out of the 'switch'
...
this body is inevitable, as there is no other break out of the 'switch'
2016-07-17 18:25:44 +02:00
rlar
1a9bcf6b33
INPparseNumMod(), #7/14, use 'lastType' instead of the identical 'cardType'
...
there is no further access to cardType
thus can drop the reduntandant assignments to cardType
2016-07-17 18:25:41 +02:00
rlar
110f16b361
INPparseNumMod(), #6/14, again, assign 'lastType' sooner
...
in the block in-between those two positions
there is no access to lastType
there is no 'continue'
there is no 'break' out of the enclosing switch
thus the assignment is inevitable
there is one position where cardType is modified,
need to assign to lastType there too to keep it in sync
2016-07-17 18:25:29 +02:00
rlar
18d6679c02
INPparseNumMod(), #5/14, use 'lastType' instead of the identical 'cardType'
2016-07-17 18:25:26 +02:00
rlar
11f3907139
INPparseNumMod(), #4/14, assign 'lastType' sooner
...
in the block in-between those two positions
there is no access to lastType or cardType
there is no 'continue'
there is no 'break' out of the enclosing 'switch'
thus the assignment is inevitable
2016-07-17 18:25:20 +02:00
rlar
7862a4f59f
INPparseNumMod(), #3/14, `continue' the loop instead of
...
'break'ing out of the `switch'
this is equivalent because the 'switch' is the last statement in the loop body
2016-07-17 18:24:35 +02:00
rlar
c1c7b5305e
INPparseNumMod(), #2/14, transform the `while' loop into a `for' loop
...
there was no 'continue' for this loop
there was no 'break' out of this loop
there was no assignment to txtCard, thus txtCard can't be NULL
2016-07-17 18:24:30 +02:00
rlar
e824cbd193
INPparseNumMod(), #1/14, return sooner
...
setting txtCard to 0 and cardType to E_MISSING (which is < 0)
caused the following `if (cardType >= 0)' to be skipped
and then broke out of the enclosing 'while' loop
in this case, there where no other statements executed
2016-07-17 18:24:20 +02:00
rlar
34f8841805
cpl/cplsetup.c, cleanup
2016-07-17 11:49:42 +02:00
rlar
a6f530b95c
USE_OMP, cleanup initialisation of local variable `model'
2016-07-17 11:36:47 +02:00
rlar
5b2fa579f1
USE_OMP, rename variables, `good' --> `error'
...
to express the actual meaning of these variables
2016-07-17 11:35:58 +02:00
rlar
fddbb7d9eb
USE_OMP, fix type of local variables `idx' and `InstCount'
2016-07-17 11:32:56 +02:00
rlar
994bec7859
declare free() / realloc() arguments `const void *'
...
to avoid extra casting when freeing `const' strings
2016-07-17 11:19:34 +02:00
h_vogt
236b99f2b1
cktdest.c, xspice, set g_mif_info.ckt = NULL
...
when destroying/remcirc'ing a circuit
to avoid a crash in EVTfindvec()
which might try to access fields in the destroyed CKTcircuit
( excercise: tran, remcirc, load rawfile, plot something_nonexistant )
2016-07-17 10:57:49 +02:00
h_vogt
f66e76fb5f
implement option 'xmu' to control trapezoidal integration method
...
default is 0.5
option xmu=0.49
can be used to add some damping to reduce trap ringing
set xmu=0.49
or
.option xmu=0.49
works as well
2016-07-16 15:21:27 +02:00
Francesco Lannutti
ef0dcfe5f2
avoid bison dependency `version >= 2.7'
2016-07-09 20:58:17 +02:00
Francesco Lannutti
99a20162d5
bsimsoi/b4soiset.c, bug fix, don't allocate `B4SOIEbPtr' twice
2016-06-14 19:38:43 +02:00
rlar
4c60783e4d
xspice, implement EVTdest() to fix xspice memory leaks
2016-05-07 15:50:34 +02:00
rlar
97cc400efb
ngspice/evt.h, ngspice/enh.t, reduce scope of these include files
2016-05-07 15:36:43 +02:00
h_vogt
50bd157349
parser/inppas3.c, fix memory leak
2016-04-03 11:26:41 +02:00
h_vogt
ffee2a6b5f
parser/inppas3.c, fix memory ownership
...
`INPgetTok()' creates `nodename' which is then committed to `INPtermInsert()'
2016-04-03 11:26:40 +02:00
rlar
ddf01dbe3f
parser/inppas3.c, shrink scope of local variable `name'
2016-04-03 11:26:38 +02:00
h_vogt
9154ab103a
inp2dot.c, dot_tran(), fix a memory leak
2016-04-01 19:36:36 +02:00
h_vogt
f52a12a95a
cktsetup.c, invoke `SetAnalyse("Device Setup",...)' only once
2016-03-26 22:24:54 +01:00
rlar
5e04924890
cleanup `skip_ws()' usage
2016-03-22 15:26:11 +01:00
rlar
b1d8b99018
skip-ws, #6/6, rename to match inpcom.c
2016-03-22 15:26:10 +01:00
rlar
22875d056b
skip-ws, #5/6, use functional style
2016-03-22 15:26:09 +01:00
rlar
a86f2068c8
skip-ws, #3/6, use TEMPORARY macros, obj-invariant
2016-03-22 15:26:06 +01:00
rlar
6d1171ad6f
skip-ws, #2/6, introduce "ngspice/stringskip.h"
...
with some temporary macros to skip whitespace
2016-03-22 15:26:05 +01:00
rlar
bd0bc3038b
use `SWAP' macro
2016-03-22 13:04:13 +01:00
rlar
d0897fd0c4
src/spicelib/parser/inpptree.c, bug fix, B expression of kind `max(0,expr)'
...
identified and reported by Marcel Hendrix,
expressions of this kind could trigger a segmentation violation.
PTdifferentiate() roughly evaluates to
ternary_fcn(ge0(0-expr), 0, PTdifferentate(expr))
and mkb() optimizes
0 - expr --> unary_minus(expr)
IFeval() invokes PTeval() for the derivative too,
PTeval() looks at the incorrect tree->funcnum
and tries to PTeval for a second argument which is not there,
(unary_minus does not have a second argument)
causing a segmentation fault.
2016-03-09 20:24:37 +01:00
rlar
726d0be34c
use char variants of the <ctype.h> toxxxx() family
2016-03-09 20:24:36 +01:00
rlar
71a7c3459b
use char variants of the <ctype.h> isxxxx() family
2016-03-09 20:24:36 +01:00
rlar
da5f86c50b
spicelib/analysis/transetp.c, fix typo, `TST0P' -> `TSTOP'
2016-01-22 22:41:32 +01:00
rlar
9546b178fb
drop macro `NEW', use TMALLOC instead
2015-12-19 19:38:55 +01:00
rlar
9fde8e374a
txl/txlsetup.c, avoid warning, drop static `GdC' and `RdL'
2015-12-17 21:59:37 +01:00
rlar
d47f073550
txl/txlsetup.c, cpl/cplsetup.c, avoid warning, rename nested local `x1'
2015-12-17 20:48:59 +01:00
rlar
36aa107c0e
src/spicelib/parser/inpptree.c, avoid warning, drop nested local `arg1' ...
2015-12-17 20:40:31 +01:00
rlar
0e0c2785a4
src/spicelib/analysis/dcpss.c, avoid warning, drop a nested local `i'
2015-12-17 20:35:11 +01:00
rlar
1aab57d17e
src/spicelib/analysis/cktdisto.c, avoid warning, drop a nested local `size'
2015-12-17 20:31:53 +01:00
rlar
9e237d700e
txl/txlsetup.c, cpl/cplsetup.c, rename static variable `ndn' --> `ndn_btree'
2015-12-15 20:19:12 +01:00
rlar
f826ff82f8
introduce `ATTRIBUTE_NORETURN' for `controlled_exit()' and `sp_shutdown()'
2015-12-15 18:10:18 +01:00
h_vogt
806fdfb029
vsrc/vsrcask.c, bug #299 , add "nop" handler for VSRC_EXTERNAL in SHARED_MODULE
...
Avoid NAN error when executing "show all"
Thanks to Sergii Baitala, who reported this in
#299 Shared ngspice: missed VSRC_EXTERNAL handler in VSRCask
http://sourceforge.net/p/ngspice/bugs/299/
2015-12-13 11:46:09 +01:00
dwarning
7fb8368133
favor exponential temperatur equation if all parameters tc1, tc2 and tce are given
2015-11-22 10:43:42 +01:00
rlar
5706fbd890
parser/inpptree-parser.y, bug fix, allow unary `+'
...
reported by Andy Fierman on the ngspice-users mailing list in message
"Help to identify 'parameter value out of range or the wrong type' error please?"
2015-11-07 21:02:21 +01:00
rlar
28c0c96bbc
devices/res, introduce TCE, exponential temperature coefficient
2015-11-02 19:25:43 +01:00
rlar
45117c94fd
drop yyparse() prototypes, require bison >= 2.7 which emits them
2015-10-18 00:46:13 +02:00
rlar
0178dcd5f3
remove bison generated files from the repository
...
Their presence breaks automake rules when running
in a separate build directory.
And when regenerated cause unwanted "changed files"
in the repository.
As a consequence visual C compilation will fail.
It will still work with a "make dist" generated tar ball.
We need to upgrade the visual C project files
to invoke bison and flex on windows,
or we have to provide these generated files
in a visual C specific directory. (very annoying of course)
2015-10-10 20:14:50 +02:00
rlar
2f061b441e
Makefile.am, fix dependency rules for bison generated files
...
which have been lost in commit
> Date: Sun Jul 5 19:34:25 2015 +0200
>
> polish bison/flex makefile rules
2015-10-10 20:04:27 +02:00
rlar
a0a5e0f9c2
inpptree-parser.y, fix type of function `PTparse()'
2015-10-10 10:40:42 +02:00
dwarning
1b4aa22d0d
Update some level and version entries for MOS models
2015-10-08 18:20:16 +02:00
rlar
192eeadb0b
remove crufty comments which where used to support broken text editors
2015-09-24 18:23:54 +02:00
rlar
dffcbddbba
swallow `deprecated directive' warning emitted by newer bisons
2015-08-16 19:54:35 +02:00
rlar
61724121aa
res/restemp.c, bug fix, need to update `RESresist' in `REStemp()'
...
instead of `RESsetup()'
to be effective when altering a resistor model parameter or when
sweeping a resistor model parameter in a dc analysis.
see tests/regression/temper/temper-3.cir
2015-08-10 17:52:57 +02:00
rlar
5940bf9294
analysis/dctrcurv.c, bug fix, sweeping `temper' in a dc analysis
...
incorrect update of model parameters,
need to `invoke CKTtemp()' *after* `inp_evaluate_temper()'
see tests/regression/temper/temper-2.cir
2015-08-10 17:52:54 +02:00
rlar
794df1066a
update bison generated files
2015-07-05 20:26:59 +02:00
rlar
1c6efd9481
polish bison/flex makefile rules
2015-07-05 20:25:23 +02:00
rlar
f4472f788e
spicelib/parser/inpptree.c, bug fix, "#287 Shared library crashes on using non existing functions "
...
"remcirc" has the potential to invoke INPfreeTree() with a NULL IFparseTree
Thanks to Craggan, who reported this in:
http://sourceforge.net/p/ngspice/bugs/287/
2015-05-04 20:17:28 +02:00
rlar
7bc6374138
cleanup, use '\0' instead of 0 in char context
2015-05-02 10:24:54 +02:00
rlar
19e427e3a5
cleanup, use NULL instead of 0 in pointer context
2015-05-02 10:24:49 +02:00
rlar
6513aa5173
spicelib/devices, cleanup, 0 versus NULL in SPICEdev initialization
2015-05-02 10:24:45 +02:00
rlar
c3f851750c
fix commit "devices/asrc, introduce `ASRCvars' with the indices of the controlling nodes/branches"
2015-04-24 21:45:54 +02:00
rlar
83a5c31e6f
fix commit "devices/asrc, allocate `ASRCacValues' in ASRCsetup()"
2015-04-24 21:45:29 +02:00
rlar
0b4bcf31f4
devices/res, bug fix, extend ac-resistance to the pz analysis
2015-04-15 19:52:36 +02:00
rlar
b6b76ad035
devices/asrc, introduce `ASRCvars' with the indices of the controlling nodes/branches
2015-04-12 21:36:22 +02:00
rlar
b4f1c1dda3
devices/asrc, allocate `ASRCacValues' in ASRCsetup()
2015-04-12 21:34:16 +02:00
rlar
232debc6ec
drop `NEWN', use `TMALLOC'
2015-04-12 20:10:07 +02:00
rlar
ad869c6d2d
devices/asrc, rewrite #10/10, emphasise matrix for the two cases VSRC vs ISRC
2015-04-12 18:23:22 +02:00
rlar
66a0da8ab9
devices/asrc, rewrite #9/10, combine common code
2015-04-12 18:22:06 +02:00
rlar
704e50b62a
devices/asrc, rewrite #8/10, cleanup and reorder
2015-04-12 18:18:20 +02:00
rlar
3a1c094682
devices/asrc, rewrite #7/10, allocate in one go
2015-04-12 18:18:14 +02:00
rlar
b3860ac599
devices/asrc, rewrite #6/10, check for errors right at the beginning
2015-04-12 18:17:52 +02:00
rlar
1c53a425f0
devices/asrc, rewrite #5/10, combine common code
2015-04-12 18:17:46 +02:00
rlar
6ea1e1932d
devices/asrc, rewrite #4/10, drop `ASRCcont_br'
2015-04-12 18:11:41 +02:00
rlar
ce49a4977d
devices/asrc, rewrite #3/10, combine TSTALLOC and MY_TSTALLOC
2015-04-12 18:11:38 +02:00
rlar
e902ebd34d
devices/asrc, rewrite #2/10, simplify incremental memory allocation
2015-04-12 18:11:33 +02:00
rlar
e13e1690d2
devices/asrc, rewrite #1/10, add a return (E_BADPARM)
2015-04-12 18:11:29 +02:00