Commit Graph

10331 Commits

Author SHA1 Message Date
Holger Vogt c1db561373 No syntax check for title line 2023-07-15 11:19:31 +02:00
Holger Vogt 0c1f114dea add comment 2023-07-15 11:19:03 +02:00
Holger Vogt cb9cc7140d Prevent crash if no or not enough coeffs are given.
r is then probably not the repeat coefficient.
2023-07-15 11:18:36 +02:00
Holger Vogt 3420e66705 During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
2023-07-15 11:18:09 +02:00
Holger Vogt 29c51c0d30 Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
2023-07-15 11:17:34 +02:00
Holger Vogt 0ee5e3f32a Add a control language function cvector, to create a complex vector.
Let vec1 = cvector(50)
will generate a complex vector, with the real part values
increasing from 0 to 49, the imaginary values are set to 0.
Useful in ac loops to store result data.
2023-07-15 11:17:10 +02:00
Holger Vogt 01e8b4da84 Prevent crash upon buggy user input (missing ] or >) 2023-07-15 11:16:57 +02:00
Holger Vogt 1340002c05 Improve error message 2023-07-15 11:16:43 +02:00
Holger Vogt fc169fe23f CIDER: Plug some memory leak 2023-07-15 11:16:22 +02:00
Holger Vogt 67b2ddbad5 CIDER: Plug some memory leaks by adding to TWOdestroy() 2023-07-15 11:16:13 +02:00
Holger Vogt 3bb9cd738f CIDER: Plug small memory leaks in INPparseNumMod() 2023-07-15 11:16:01 +02:00
Holger Vogt 695c1e1bd6 Add an extra model stitching for CIDER only.
This one fills in actualLine, which is use by
parsing the CIDER model parameters in INPparseNumMod()
from inpgmod.c
2023-07-15 11:15:50 +02:00
Holger Vogt 3b90c12307 Enable compiling with MSVC 2023-07-15 11:15:28 +02:00
Giles Atkinson d31568bd83 Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
2023-07-15 11:15:08 +02:00
Giles Atkinson 1fdf7dac51 Fix Bug #623 - "Parser warning for voltage source".
Do not warn when a single-element vector lacks parentheses.
2023-07-15 11:14:57 +02:00
Giles Atkinson 422a205409 Always propgate any individual scale for a vector that appears
in an expression, resolving conflicts by matching length and warning
only when making an arbitary choice.  One effect of this is that it
is now possible to mix analog nodes with offset digital nodes
(an expression like dvalue+6) without a warning and get a correct plot.
2023-07-15 11:14:35 +02:00
Giles Atkinson eeb912228a When creating a plot vector from XSPICE event history, add a
final point at the end of the vector, so that a plotted line
does not end at the last event, leaving an odd spike.
2023-07-15 11:13:19 +02:00
Giles Atkinson 2db6b529f2 Fix Bug #630 - "pwl if r=last time, simulation never ends".
Allowing a PWL repeat to start at the last time-point makes no sense.
2023-07-15 11:13:05 +02:00
Giles Atkinson f4f2f41940 Fix another error in 9c71db3a72. 2023-07-15 11:12:52 +02:00
Giles Atkinson 9099a922fd Apply a patch from Aleksey Morozov to fix a bug that he identified
and reproduced.  It is the same as Bug #331 -
"XSpice skips digital output point" except that it applies to the
instance queue, not the event queue.
2023-07-15 11:12:31 +02:00
Holger Vogt ee7bcac256 Reduce excessive use of TREALLOC 2023-07-15 11:12:10 +02:00
Holger Vogt 585f13bd4a Better visibility of the results 2023-07-15 11:11:48 +02:00
Brian Taylor 50b9a55392 Simplify expression nesting depth. 2023-07-11 09:48:16 +02:00
Brian Taylor 1e58692e6d The channel data needs to be freed for some 2D Cider devices. This shows up with some of the examples/cider/parallel circuits. 2023-07-11 09:48:10 +02:00
Brian Taylor 5c11814f9e Simplify expression nesting depth. 2023-07-09 16:30:00 -07:00
Brian Taylor 5d305c3064 The channel data needs to be freed for some 2D Cider devices. This shows up with some of the examples/cider/parallel circuits. 2023-07-05 15:58:15 -07:00
Brian Taylor eddb775fc7 Merge branch 'pre-master' into bt_dev. Resolve conflicts. 2023-07-04 07:04:20 -07:00
Holger Vogt c6edbe44db Move extern declaration to the top, out of any function.
Thus remove VC2022 compiler warnings.
2023-07-04 12:07:41 +02:00
Brian Taylor f3b83fd4e4 Tidy up sp_shutdown with Cider. 2023-07-04 11:46:40 +02:00
Brian Taylor b63f6e7905 When Cider models are present, a normal batch mode sp_shutdown (for example, ngspice -b cmosinv.cir) will call com_quit(NULL). This cleans up so that valgrind will find no leaks in Cider devices after sp_shutdown. To disable this feature, set the environment variable CIDER_COM_QUIT="OFF". Even though it really does not matter that Cider memory is cleared just before exit, it makes it cleaner for valgrind checks. 2023-07-04 11:46:35 +02:00
Holger Vogt 486b74f728 Prevent a crash if p==NULL (due to buggy input) 2023-07-04 11:45:27 +02:00
Brian Taylor a13e08b8b0 Tidy up sp_shutdown with Cider. 2023-07-03 16:19:13 -07:00
Brian Taylor 1b433a32ba When Cider models are present, a normal batch mode sp_shutdown (for example, ngspice -b cmosinv.cir) will call com_quit(NULL). This cleans up so that valgrind will find no leaks in Cider devices after sp_shutdown. To disable this feature, set the environment variable CIDER_COM_QUIT="OFF". Even though it really does not matter that Cider memory is cleared just before exit, it makes it cleaner for valgrind checks. 2023-07-03 15:22:38 -07:00
Brian Taylor a2ca37401b Merge branch 'pre-master' into bt_dev 2023-07-03 13:31:00 -07:00
dwarning 4c4a9c78ec ifft: in case input array is smaller then output array - fill in the rest with zero to prevent uninitialzed plot variables 2023-07-03 10:07:32 +02:00
dwarning e83fae11bc same array size for in- and output in inverse fft function from fftw3 2023-07-02 16:16:51 +02:00
Brian Taylor 40a89b16e6 Fix the Cider memory leaks from setupContacts. TWOdestroy needed to free the contact nodes. 2023-06-30 11:03:53 +02:00
Brian Taylor 92dcb76251 Add DEVmodDelete functions to reduce memoory leaks in Cider models. The model memory was not freed during remcirc or quit. In the future, some of the code duplication could be refactored. The cmosinv.cir is now down to just 1 memory leak. 2023-06-30 11:03:42 +02:00
Brian Taylor fe26418374 Fix the Cider memory leaks from setupContacts. TWOdestroy needed to free the contact nodes. 2023-06-29 17:43:34 -07:00
Brian Taylor ec895536a6 Add DEVmodDelete functions to reduce memoory leaks in Cider models. The model memory was not freed during remcirc or quit. In the future, some of the code duplication could be refactored. The cmosinv.cir is now down to just 1 memory leak. 2023-06-28 22:11:11 -07:00
Brian Taylor 61a2c168dd Merge branch 'pre-master' into bt_dev 2023-06-28 20:50:35 -07:00
Brian Taylor cbda9ab7b5 The CONTACT statement does not apply to 1D devices. 2023-06-25 21:25:26 +02:00
Brian Taylor 42a8bafd10 Fix some more memory leaks in the CIDER 1D and 2D destroy functions. 2023-06-25 21:24:57 +02:00
Brian Taylor b6ae618233 The CONTACT statement does not apply to 1D devices. 2023-06-25 08:42:31 -07:00
Brian Taylor 00740ea126 Fix some more memory leaks in the CIDER 1D and 2D destroy functions. 2023-06-24 18:25:29 -07:00
Brian Taylor 56362529ba Merge branch 'pre-master' into bt_dev 2023-06-24 17:34:02 -07:00
Giles Atkinson d4c4ac7937 Fix sluggish output of the "Reference value" progress indicator on Linux
after it switched from stderr to stdout (28a3413).  Add fflush().
2023-06-24 17:24:21 +02:00
Giles Atkinson b62c9b1ef3 Make the returned status of the "shell" command available as interpreter
variable "shellstatus".  Also change the default shell to /bin/sh
as csh is now rare.
2023-06-24 17:24:15 +02:00
Giles Atkinson e0cc583669 Set default colours for the button box in the X11 plot window that
match the default dark background of the plot.
2023-06-24 17:24:09 +02:00
Brian Taylor 0f15c1ab96 Add missing FREE to reduce some of the Cider memory leaks. 2023-06-20 22:57:34 +02:00