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