CHANGELOG /size: 5737 b    last modification: 2025-02-21 11:03
1== Revision history of libcerf, maintained by Joachim Wuttke ==
2
3Homepage moved to https://jugit.fz-juelich.de/mlz/libcerf, 17mar19
4
5libcerf-1.13, released 28feb19:
6  - Further adjustments for compilation under Windows
7
8libcerf-1.12, released 7feb19:
9  - Require CMake 3.6, outcomment code that requires 3.13.
10  - Relative paths in CMake sources, for use as subproject.
11  - When compiling as CPP, then #include, not ;
12    revise the entire C-vs-CPP machinery.
13  - Remove tests with different inf or nan results on different systems or under
14    different compilers.
15
16libcerf-1.11, released 28dec18:
17  - Cover voigt by test_voigt.
18  - Implement new function voigt_hwhm.
19  - Restore libcerf.pc.
20  - Add INSTALL instructions, and other minor adjustments for use of libcerf in C++ projects.
21  - Support 'ctest', which runs the numeric accuracy tests from test1.c.
22  - Rename type cmplx into _cerf_cmplx to avoid name clash with Gnuplot pre 5.3.
23
24libcerf-1.8 [2oct18], libcerf-1.9 [16oct18] and libcerf-1.10 [20dec18]
25  MUST NOT BE USED
26  - A bug introduced in v1.8 had broken the normalization of the Voigt function.
27  - The git history leading to v1.10 has been rewritten, starting anew from v1.7
28
29libcerf-1.7, released 26sep18:
30  - Option -DCERF_CPP allows to choose C++ compilation, which is useful
31    because MS VisualStudio supports C++14, but not yet C99, and in
32    particular does not support complex.h under C.
33
34libcerf-1.6, released 20sep18:
35  - Migrated from automake to CMake.
36  - Corrected typos in man pages.
37
38libcerf-1.5, released 12oct16:
39  - Removed unused inline function (detected by clang-1.3., reported by Luke Benes)
40
41libcerf-1.4, released 27aug14:
42  - HTML version of man pages no longer installs to man/html.
43  - More concise man pages.
44  - Delete a few unused include's.
45  - Autotools script corrected (suggestions by Christoph Junghans).
46
47libcerf-1.3, released 17jul13:
48  - Now supporting pkg-config (suggested by Mojca Miklavec).
49
50libcerf-1.2, released 16jul13:
51  - Test programs no longer install to $bindir (reported by Mojca Miklavec).
52
53libcerf-1.1, released 12may13:
54  - Added Fortran binding by Antonio Cervellino.
55
56libcerf-1.0, released 31jan13 by Joachim Wuttke:
57  - Based on http://ab-initio.mit.edu/Faddeeva as of 28jan13.
58  - Verified accuracy using double-exponential transform.
59  - Simplified function names;
60    use leading 'c' for complex functions (except in w_of_z).
61  - Added function voigt(x,sigma,gamma).
62  - Added configure.ac, Makefile.am &c to allow for autotools standard
63    installation (commands ./configure, make, sudo make install).
64  - Splitted source code into directories lib/ and test/.
65  - Eliminated unused alternate code (!USE_CONTINUED_FRACTION).
66  - Eliminated relerr arguments.
67  - Replaced "complex" by "_Complex" for C++ compatibility.
68  - Wrote man pages w_of_z(3), dawson(3), voigt(3), cerf(3), erfcx(3), erfi(3).
69  - Created project home page http://apps.jcns.fz-juelich.de/libcerf.
70  - Registered project "libcerf" at sourceforge.net.
71
72== Revision history of Faddeeva.cc by Steven G. Johnson ==
73
74Project at http://ab-initio.mit.edu/Faddeeva
75
76  4 October 2012: Initial public release (SGJ)
77  5 October 2012: Revised (SGJ) to fix spelling error,
78                  start summation for large x at round(x/a) (> 1)
79                  rather than ceil(x/a) as in the original
80                  paper, which should slightly improve performance
81                  (and, apparently, slightly improves accuracy)
82 19 October 2012: Revised (SGJ) to fix bugs for large x, large -y,
83                  and 1584                  now supplies default value for relerr.
85 24 October 2012: Switch to continued-fraction expansion for
86                  sufficiently large z, for performance reasons.
87                  Also, avoid spurious overflow for |z| > 1e154.
88                  Set relerr argument to min(relerr,0.1).
89 27 October 2012: Enhance accuracy in Re[w(z)] taken by itself,
90                  by switching to Alg. 916 in a region near
91                  the real-z axis where continued fractions
92                  have poor relative accuracy in Re[w(z)].  Thanks
93                  to M. Zaghloul for the tip.
94 29 October 2012: Replace SLATEC-derived erfcx routine with
95                  completely rewritten code by me, using a very
96                  different algorithm which is much faster.
97 30 October 2012: Implemented special-case code for real z
98                  (where real part is exp(-x^2) and imag part is
99                   Dawson integral), using algorithm similar to erfx.
100                  Export ImFaddeeva_w function to make Dawson's
101                  integral directly accessible.
102 3 November 2012: Provide implementations of erf, erfc, erfcx,
103                  and Dawson functions in Faddeeva:: namespace,
104                  in addition to Faddeeva::w.  Provide header
105                  file Faddeeva.hh.
106 4 November 2012: Slightly faster erf for real arguments.
107                  Updated MATLAB and Octave plugins.
10827 November 2012: Support compilation with either C++ or
109                  plain C (using C99 complex numbers).
110                  For real x, use standard-library erf(x)
111                  and erfc(x) if available (for C99 or C++11).
112                  #include "config.h" if HAVE_CONFIG_H is #defined.
11315 December 2012: Portability fixes (copysign, Inf/NaN creation),
114                  use CMPLX/__builtin_complex if available in C,
115                  slight accuracy improvements to erf and dawson
116                  functions near the origin.  Use gnulib functions
117                  if GNULIB_NAMESPACE is defined.
11818 December 2012: Slight tweaks (remove recomputation of x*x in Dawson)
119