Commit Graph

319 Commits

Author SHA1 Message Date
Holger Vogt a98d01e5f8 Use only internal memory functions, replace
free->tfree, malloc->tmalloc, realloc->trealloc
2018-07-21 23:54:43 +02:00
rlar caf3115733 cleanup, emphasise CKTrhs being an array
when accessing slot [0]
2018-01-29 19:51:13 +01:00
rlar c900cc8824 drop ngspice internal implementation of erfc()
which these days is guaranteed to be provided by <math.h>

note,
  our own implementation was incorrect anyway.
  it evaluated to
    erfc_ngspice(x) = erfc(fabs(x))
2017-10-28 12:38:32 +02:00
dwarning b8a9ca9df4 correct the fft scaling for real input and complex output vector 2017-08-16 21:35:41 +02:00
rlar d696aa8781 niconv.c, NIconvTest(), NaN in CKTrhs denotes non-convergence
emit a warning message, but only if ft_ngdebug is set
2017-03-19 20:38:41 +01:00
Francesco Lannutti 43f24d6f22 rewrite cktsens.c in terms of the 'SMP' matrix interface 2017-03-17 18:22:36 +01:00
rlar fb4f462388 SMPnewMatrix(), add 'size' to the function arguments 2017-03-17 18:12:48 +01:00
rlar 3a9ace82bb winmain.c, etc, cleanup, rewrite obfuscated symbols
substitute in the whole source code:

  "__stream"       -->    "stream"
  "__pos"          -->    "pos"
  "__s"            -->    "s"
  "__n"            -->    "n"
  "__c"            -->    "c"
  "__format"       -->    "format"
  "__ptr"          -->    "ptr"
  "__size"         -->    "size"
  "__path"         -->    "path"
  "__mode"         -->    "mode"
  "__offset"       -->    "offset"
  "__whence"       -->    "whence"
  "__arglist"      -->    "arglist"
  "__buf"          -->    "buf"
  "__fp"           -->    "fp"

  "f_c_l_o_s_e"    -->    "win_x_fclose"
  "f_e_o_f"        -->    "win_x_feof"
  "f_e_r_r_o_r"    -->    "win_x_ferror"
  "f_f_l_u_s_h"    -->    "win_x_fflush"
  "fg_e_t_c"       -->    "win_x_fgetc"
  "f_g_e_t_p_o_s"  -->    "win_x_fgetpos"
  "fg_e_t_s"       -->    "win_x_fgets"
  "fp_r_i_n_t_f"   -->    "win_x_fprintf"
  "fp_u_t_c"       -->    "win_x_fputc"
  "fp_u_t_char"    -->    "win_x_fputchar"
  "fp_u_t_s"       -->    "win_x_fputs"
  "f_r_e_a_d"      -->    "win_x_fread"
  "f_r_e_o_p_e_n"  -->    "win_x_freopen"
  "fs_c_a_n_f"     -->    "win_x_fscanf"
  "f_s_e_e_k"      -->    "win_x_fseek"
  "f_s_e_t_p_o_s"  -->    "win_x_fsetpos"
  "f_t_e_l_l"      -->    "win_x_ftell"
  "f_w_r_i_t_e"    -->    "win_x_fwrite"
  "g_e_t_c"        -->    "win_x_getc"
  "g_e_t_char"     -->    "win_x_getchar"
  "g_e_t_s"        -->    "win_x_gets"
  "p_e_r_r_o_r"    -->    "win_x_perror"
  "p_r_i_n_t_f"    -->    "win_x_printf"
  "p_u_t_c"        -->    "win_x_putc"
  "p_u_t_char"     -->    "win_x_putchar"
  "p_u_t_s"        -->    "win_x_puts"
  "r_e_a_d"        -->    "win_x_read"
  "s_c_a_n_f"      -->    "win_x_scanf"
  "ung_e_t_c"      -->    "win_x_ungetc"
  "vfp_r_i_n_t_f"  -->    "win_x_vfprintf"
  "vfs_c_a_n_f"    -->    "win_x_vfscanf"
  "vp_r_i_n_t_f"   -->    "win_x_vprintf"
  "vs_c_a_n_f"     -->    "win_x_vscanf"
2017-02-10 19:50:42 +01:00
rlar ea5ad6b0e7 drop DC_ABS() and FTEcabs() 2016-10-15 15:06:18 +02:00
rlar 15f2c67968 use M_PI 2016-10-15 15:06:17 +02:00
h_vogt ae80067fef cmath2.c, new function stddev to calculate the standard deviation of all elements of a vector 2016-10-15 15:06:17 +02:00
h_vogt 594db31ebc cmath2.c, whitespace cleanup 2016-10-15 15:06:17 +02:00
rlar b8b6677b85 cmath2.c, drop some excess NG_IGNORE() 2016-10-15 15:06:17 +02:00
h_vogt 2ab3b82696 cmath2.c, cleanup 2016-10-15 15:06:17 +02:00
rlar 2e35329678 cmath2.c, cleanup min/max operations 2016-10-15 15:06:16 +02:00
h_vogt 9f62057973 introduce include file "ngspice/randnumb.h" 2016-08-15 11:30:26 +02:00
rlar a5817192e1 ni/niiter.c, #5/5, whitespace 2016-07-30 21:03:55 +02:00
rlar 266e6da24b ni/niiter.c, #4/5, cleanup 2016-07-30 21:03:49 +02:00
rlar dda415a0e3 ni/niiter.c, #3/5, use `copy()' 2016-07-30 21:03:29 +02:00
rlar 86bb88b546 ni/niiter.c, #2/5, reduce scope 2016-07-30 21:03:19 +02:00
rlar 2978621931 ni/niiter.c, #1/5, cleanup 2016-07-30 21:03:00 +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 fca8ab3146 cmath4.c, cx_deriv(), remove a memory leak 2016-07-20 18:09:18 +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 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
rlar 40a0cea0d2 swap some `SWAP' arguments for readability 2016-03-22 15:23:05 +01:00
rlar bd0bc3038b use `SWAP' macro 2016-03-22 13:04:13 +01:00
rlar b36385e333 improve `SWAP' macro 2016-03-22 13:03:59 +01:00
rlar 6342bec8ec everywhere, drop `MALLOC()' and `REALLOC()' 2016-03-21 21:22:15 +01:00
rlar 9d32a0a5a9 simplify complex assignments 2015-12-29 18:15:06 +01:00
rlar 8243696338 dvec abstraction, #8/11, upgrade `dvec_alloc()' 2015-12-28 20:34:42 +01:00
rlar 8a4a37b5bb dvec abstraction, #4/11, emphasise `ZERO(dvec)' initialisation 2015-12-28 20:34:42 +01:00
rlar 908c650f72 dvec abstraction, #3/11, use `dvec_alloc()' 2015-12-28 20:34:42 +01:00
rlar 19e427e3a5 cleanup, use NULL instead of 0 in pointer context 2015-05-02 10:24:49 +02:00
rlar d98c5c90f3 src/maths/cmaths/cmath4.c, bug fix, cx_fft, cx_ifft, cx_derive
incorrect check for VF_COMPLEX in field v_type instead of v_flags
2015-03-10 20:09:20 +01:00
rlar 8e65614d31 spfactor.c, cktnames.c, don't crash when simulating "nothing"
reported by Siddhant Saraf in
> [ngspice:discussion] "out of memory" error : simulating a 2bit AND gate"

This comes in two flavours,
   1) an empty circuit
   2) a xspice circuit with exclusively xspice event nodes
2015-02-08 22:07:14 +01:00
rlar c5e0bcde04 cleanup using `hypot()' 2014-12-06 20:41:11 +01:00
rlar c6a8429258 src/maths/cmaths, implement `nint()' (.control language) 2014-09-20 17:15:10 +02:00
rlar 99eade8ec9 cleanup, rename cx_ln --> cx_log (.control language) 2014-09-12 19:09:52 +02:00
rlar c926f46986 cleanup, rename rename cx_log --> cx_log10 (.control language) 2014-09-12 19:09:42 +02:00
rlar 4049e8ec1f rewrite, using IFerrorf() 2014-04-04 21:58:08 +02:00
rlar ea7372efe7 rewrite, useing IFerrorf()
OUTerror() and IFerror() are no more used,
  but kept for compatibility
2014-04-04 21:22:48 +02:00
dwarning 461026f2b9 fix to use garbage collector with --enable-gc 2014-02-07 13:19:35 +01:00
dwarning a90f916883 fftext.c, move the Bourke FFT code to fftext.c (rename macro) 2014-01-02 09:53:53 +01:00
dwarning c61e1bc8c6 fftext.c, move the Bourke FFT code to fftext.c (as a backup) 2014-01-02 09:53:52 +01:00
dwarning 2e79c16f55 cmath4.c, drop unused doubledouble() 2014-01-02 09:53:51 +01:00
dwarning 2671aef5cd cmath4.c, correct array size and relay to specific array order for r2c transformation 2014-01-02 09:53:49 +01:00
dwarning dc398f1387 cmath4.c, correct scale for ifft 2014-01-02 09:53:48 +01:00
dwarning 51c7f17186 cmath4.c, use FFTW3 for cx_fft() and cx_ifft() 2014-01-02 09:53:47 +01:00
dwarning cd8aa1ee04 cmath4.c, com_fft.c, cleanup 2014-01-02 09:51:41 +01:00
dwarning f989219f6f cmath4.c, com_fft.c, rename `size' --> `N' and `mm' --> `M' 2014-01-02 09:51:39 +01:00
h_vogt 75b144e17a polyfit.c, speed up fitting process when degree == 1
this patch war provided by Henrik Forstén in
  "#14 Special case for polyfit, move initw()"
  http://sourceforge.net/p/ngspice/patches/14/
2014-01-02 09:33:34 +01:00
Anthony J. Bentley 7a9abebfe7 remove unnecessary include of sys/timeb.h. 2014-01-02 09:26:23 +01:00
rlar aae92bf259 avoid overlapping "Dummy" symbols
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:26 +01:00
Krzysztof Blaszkowski 6a00876731 nipred.c, cleanup 2013-12-31 16:25:40 +01:00
Krzysztof Blaszkowski 30f1607a0a nipred.c, bug fix NIpred() when running 'TRAPEZOIDAL'
a long standing serious bug, allready in the very first commit from
  Date:   Thu Apr 27 20:03:57 2000 +0000

Nipred() after evaluating TRAPEZOIDAL case fell through into GEAR case.

see:
  http://sourceforge.net/p/ngspice/support-requests/18/
2013-12-31 16:25:39 +01:00
rlar f12306542c avoid a `constant expression' compiler warning 2013-12-31 16:23:57 +01:00
dwarning 075b620a86 introduce `cx_sortorder()' function 2013-12-31 16:18:52 +01:00
dwarning 4635a19ba9 introduce unwrap, minimum and maximum function 2013-12-31 16:13:17 +01:00
dwarning 68da03f9de preserve vector length for fft by interpolation, window by default: none 2013-12-31 16:13:15 +01:00
dwarning 6a3da0105b fft and ifft as vector functions 2013-12-31 16:13:08 +01:00
dwarning 0b1bff9fd8 fix type of length in fft window function 2013-12-31 16:13:07 +01:00
dwarning e1fa276ddc whitespace 2013-12-31 16:13:06 +01:00
dwarning c8cd8b95a8 specific MS adaption 2013-12-31 16:13:04 +01:00
dwarning f3e7bf141d move the `fft_windows()' function to fft/fftext.c 2013-12-31 16:13:03 +01:00
rlar 6050e2e0ea cleanup some extra parentheses 2013-12-31 16:12:44 +01:00
rlar 40414ead49 cleanup stuttered semicolon 2013-12-31 16:11:34 +01:00
Henrik Forstén 9c04f01991 rewrite AlmostEqualUlps() to avoid compiler warnings concerning `strict-aliasing' 2013-12-31 16:11:03 +01:00
h_vogt e4921933ba nicomcof.c: xmu used to calculate trap integration coefficient 2013-12-31 16:10:52 +01:00
rlar 93052df7d0 sparse/*.c, whitespace 2013-12-31 16:07:50 +01:00
rlar 075b30d686 sparse/*.c, rename `eMatrix' --> `Matrix' (comments) 2013-12-31 16:07:48 +01:00
rlar 7ed0b5cef6 sparse/*.c, rename `eMatrix' --> `Matrix' (prototypes) 2013-12-31 16:07:47 +01:00
rlar f30796a7e6 sparse/*.c, rename `eMatrix' --> `Matrix' 2013-12-31 16:07:46 +01:00
rlar 9c48863912 sparse/*.c, simplify, drop the local copy `Matrix' 2013-12-31 16:07:44 +01:00
rlar b02d34280c sparse/*.c, unify, use local copy `Matrix' instead of `eMatrix' 2013-12-31 16:07:43 +01:00
rlar ec8a3b79a2 sparse/*.c, drop unnecessary (spREAL) cast 2013-12-31 16:07:42 +01:00
rlar f10d9f75c1 sparse/*.c, drop unnecessary (double) cast 2013-12-31 16:07:41 +01:00
rlar a5d131d8a5 sparse/*.c, drop unnecessary (int *) cast 2013-12-31 16:07:39 +01:00
rlar 2517756eff sparse/*.c, drop unnecessary (MatrixPtr) cast 2013-12-31 16:07:38 +01:00
rlar 5c903a6f5c sparse/*.c, avoid (RealNumber *) casts by proper use of ElementPr 2013-12-31 16:07:37 +01:00
rlar 6d858200b6 sparse/*.c, drop unnecessary (void *) cast 2013-12-31 16:07:35 +01:00
rlar 35f1c18c61 sparse/*.c, drop unused artifacts 2013-12-31 16:07:34 +01:00
rlar 0440f0584e fix an incorrect typedef and cast
which was of no consequence,
  because nobody made use of it.

ancient, already in the very first commit of ngspice
  Date:   Thu Apr 27 20:03:57 2000 +0000
2013-12-31 16:07:31 +01:00
h_vogt 1767991236 new flag `SHARED_MODULE' for shared module 2013-12-31 12:57:51 +01:00
h_vogt 30a44d1be5 --with-windows --> --with-wingui 2013-12-31 12:56:59 +01:00
h_vogt d7e291c53a HAS_WINDOWS --> HAS_WINGUI
allow compilation on MS Windows without GUI
2013-12-31 12:56:57 +01:00
rlar 8a154a7a9a use SP_VOLTAGE instead of literal value `3'
(grep "git --no-pager grep -nH -e '->[ \t]*type.*[0-9]'")
2013-12-31 12:56:29 +01:00
rlar b3847817a1 retire #define NODE_VOLTAGE, use SP_VOLTAGE instead
(grep "git --no-pager grep -nH -e '\\(SP_\\|NODE_\\)\\(VOLTAGE\\|CURRENT\\)'")
2013-12-31 12:56:22 +01:00
rlar 4184aa8c10 cleanup, use array operator
checked for object file invariance on linux with
   ./configure --enable-debug=no --enable-maintainer-mode --with-readline=yes --enable-cider --enable-ndev --enable-pss --enable-xspice
2013-12-31 12:54:43 +01:00
rlar 6c8f002eea unify #ifndef include wrapper 2013-12-31 12:54:32 +01:00
rlar 1ee88a5694 prepare for #ifndef include wrapper unification 2013-12-31 12:54:31 +01:00
rlar c377b7a6b3 avoid leading underscore in preprocessor macros 2013-12-31 12:54:27 +01:00
Francesco Lannutti f153208a5f nipred.c, remove unused variable `temp' 2012-12-25 01:40:16 +01:00
Francesco Lannutti 574d39e29c remove almost empty src/maths/ni/nipred.h 2012-12-25 02:27:04 +01:00
Francesco Lannutti e27d43cd0c remove empty src/maths/ni/*.h include files 2012-12-24 11:28:30 +01:00
h_vogt cea4eb09d6 niiter.c: indentations 2012-12-15 20:07:42 +01:00
rlar 83e3100917 remove unused variables 2012-12-01 16:05:20 +01:00
Francesco Lannutti 08ec219417 remove all .cvsignore files 2012-10-26 18:30:14 +02:00