Commit Graph

5104 Commits

Author SHA1 Message Date
dwarning f0f19f87a3 In case the file open failed we have no need to set the IO buffer size.
And this should also not be done with a NULL pointer into setvbuf.
2018-11-18 15:44:40 +01:00
dwarning 5590406acf The 'j' variable is assigned values twice successively.
Obviously the first assigment is waste because 'j' has the meaning of row count.
2018-11-18 15:44:32 +01:00
dwarning a36366be1a A call of the 'memset' function will lead to underflow of the buffer 'table'.
Table structure multiplied by N_GLOBAL_NODES will initialize the entire table with 0.
2018-11-18 15:44:25 +01:00
dwarning a2c5cb4301 It is odd that pointer to 'char' type is compared with the '\0' value.
Correct compare with *eqword follows in a correct error message.
2018-11-18 15:44:15 +01:00
Holger Vogt d504991177 new definition of cp_enqvar also in seldom used ngsconvert.c 2018-10-27 18:07:44 +02:00
Holger Vogt 19380903cc add missing evtshared.h to the distribution 2018-10-27 16:37:33 +02:00
Holger Vogt 94fa272c9d A hack to repair bug reported by Clyde R. Shappee 2018-10-27 12:28:01 +02:00
dwarning 6b99bc8f7a prevent pass null pointer into setvbuf 2018-10-27 11:33:48 +02:00
dwarning 93f35afe69 s variable was assigned values twice successively 2018-10-27 11:33:00 +02:00
dwarning 360efabf36 no null pointer to fprintf 2018-10-27 11:24:22 +02:00
dwarning ae698c208a variable was assigned to itself 2018-10-27 11:21:06 +02:00
dwarning 5459404c47 prevent fallthrough by missing return 2018-10-27 11:20:29 +02:00
dwarning 740987382b The 'then' statement was equivalent to the 'else' statement. 2018-10-27 11:19:57 +02:00
dwarning cf24081507 prevent unused warning 2018-10-27 11:12:56 +02:00
dwarning be79efbf7a Remove recurring check 2018-10-27 11:09:49 +02:00
dwarning ef61972910 Add missing break 2018-10-27 11:09:20 +02:00
dwarning 06430b7f14 rm extra text after end of preprocessing directive 2018-10-27 11:09:07 +02:00
dwarning 079b3bb7fd add some missing prototypes 2018-10-27 11:08:17 +02:00
Holger Vogt 4738edeab5 symbol visibility=hidden only in release mode
for shared library and codemodels
2018-10-27 11:06:16 +02:00
Holger Vogt 75d1e45737 consider all PSPICE containing compatibility settings
for the evaluation of the pwr function
or allowing '-' in a subcircuit name
2018-10-20 23:54:02 +02:00
Holger Vogt f31f044e30 set the search path for the code models relative to ngspice.exe
(for Windows GUI and console)
2018-10-18 21:39:33 +02:00
Holger Vogt ff2304625f allows to start ngspice WinGUI by double click on an input file, if
the file extension has been associated with ngspice.exe
2018-10-18 21:37:50 +02:00
Holger Vogt 45e269819e fix a bug 2018-10-17 19:01:59 +02:00
dwarning 5c31aec164 prevent core dump to get the baseaddress 2018-10-16 14:13:17 +02:00
dwarning 56bc8af358 calloc needs stdlib.h 2018-10-15 22:36:01 +02:00
dwarning 67b38d7885 remove empty statement 2018-10-15 16:06:57 +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 7787268118 Enable psa, ltpsa compatibility mode 2018-10-13 22:41:55 +02:00
Holger Vogt b0d79630a4 New variable no_auto_gnd
'set no_auto_gnd' in spinit or .spiceinit will preclude
ngspice to automatically replace 'gnd' by global '0'
2018-10-13 18:20:18 +02:00
Holger Vogt b3db3c7fd9 Don't modify 'working' address, insert new item (functions etc)
only after ther first line.
2018-10-13 18:20:13 +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 0b7c291f37 replace Id by Idd.
Use Revilimit instead of Ilimit.
Correct for current limits.
2018-10-13 18:19:53 +02:00
Holger Vogt 0675da008b make the paramter param in @dev[param] lower case for
commands alter, altermod
2018-10-13 18:19:49 +02:00
dwarning 7bb9b866f6 fix junction capacitance calculation for bsim3 versions lower than 3.2.3 2018-10-13 18:19:43 +02:00
dwarning 2b3cfd7727 white spaces 2018-10-13 18:19:38 +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 6df684e22a Evaluate .if ... .elsif ... .else ... .endif recursivly 2018-10-13 18:19:21 +02:00
Holger Vogt a22017024b add some info to file header 2018-10-13 18:19:09 +02:00
Holger Vogt faa7ce003c Add a new code model 'sidiode' with a simple diode:
Linear reverse, off, and on regions
Smooth parabolic transition between the regions
Maximum current settings possible with tanh transistion
Current versus voltage continuously differentiable
No diode capacitance
2018-10-13 18:18:59 +02:00
dwarning 76c43ab512 using the native tan and tanh math functions for real vector calculation 2018-10-13 18:18:47 +02:00
dwarning 3dd94ba15c differentiate tan and tanh in safe way without cos and cosh 2018-10-13 18:18:37 +02:00
Holger Vogt f33c3f0751 remove memory leak, when ft_getnames ... free_pnode couple
parses a vector like v(1,2)
2018-10-13 18:18:23 +02:00
Holger Vogt ae89381bb6 Prevent a segfault if multiple circuits are freed upon 'quit'
by checking if a 'recent_deck' that is to be freed also exists
with same address in ci_mcdeck of another circuit. If yes, set
this to NULL before freeing.
2018-09-26 18:47:20 +02:00
Holger Vogt a17de08b5c free only value that have been TMALLOCed or TREALLOCed 2018-09-26 18:47:06 +02:00
Holger Vogt 2a3c88add6 Commit ad0f59657 ("fix a memory leak", 2018-08-13) made
the special device parameter notation @m1[vt0] unusable.
This fix frees only the tokens that are already overridden
in function INPinsertNofree(). The reason for using this
function instead of INPinsert() is not obvious.
2018-09-26 18:46:12 +02:00
Holger Vogt 5f0b2f344e spurious crash: MIFgettok deliveres strings that cannot be freed:
MS Windows, VS or MSYS2/MINGW/GCC, shared ngspice, single character
token at end of line, compiled with optimization, not in debug mode.
Preliminary fix: TMALLOC another byte to token.
Origin of bug still unknown: Source code error? MS library error?
Re-write of MIFgettok does not show this error (so far...).
2018-09-26 18:45:46 +02:00
Holger Vogt 92b69cbc55 prepare ngspice-29 2018-09-26 18:45:35 +02:00
Holger Vogt 40e69ceaf4 plug a memory leak after (internal) call to altermod 2018-09-02 18:05:22 +02:00
Holger Vogt 12c864fb5a destroy the tmalloced diag, if rshunt option was enabled 2018-09-02 18:05:01 +02:00
Holger Vogt 2e9c28c79a Prevent segfault, if mutual inductor coupling
specifies non-existing inductors
2018-09-02 18:04:49 +02:00