diff --git a/NEWS.md b/NEWS.md index afd4b6e..7cb1751 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,17 @@ +## Harminv 1.4 + +26 February 2015 + +* Change `get_omega` and `get_amplitude` functions to return complex results + via a pointer argument rather than a return value, since the latter + is not generally binary compatible between C++ and C. + +* Build script updates. + ## Harminv 1.3.1 +4 July 2006 + * Fixed the phase output column to have the same sign as the documentation (the sign was flipped). Thanks to Andrew Norton for the bug report. @@ -7,6 +19,8 @@ ## Harminv 1.3: +18 October 2005 + * Switch back to eigensolver technique used in Harminv 1.0.x, which first removes the singular null space as described by Wall and Neuhauser. This seems to make the solution much more stable and reliable. The @@ -15,6 +29,8 @@ ## Harminv 1.2.1: +20 May 2004 + * Impose a maximum number of basis modes (300) to prevent the matrices from getting too large. @@ -22,6 +38,8 @@ ## Harminv 1.2: +19 May 2004 + * Command line tool now defaults to a particular spectral "density" (set by the `-d` option), rather than a number of basis modes, since using too many basis modes leads to a singular eigenproblem @@ -32,6 +50,8 @@ ## Harminv 1.1: +18 May 2004 + * Corrected bug in frequency-error calculation; thanks to V. A. Mandelshtam for helpful discussions and for letting me look at his code to check against mine. @@ -51,13 +71,19 @@ ## Harminv 1.0.2: +15 May 2004 + * Corrected inadvertent windowing of data that degraded accuracy in the case of very short signals. ## Harminv 1.0.1: +15 May 2004 + * Corrected some minor release glitches. ## Harminv 1.0: +14 May 2004 + * Initial release (after 4 years of private use). diff --git a/README.md b/README.md index 1ab50c1..4f78c66 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ constant (as defined in `man harminv`) are returned by: Alternative, you can get the complex angular frequency (omega = 2*pi*freq - i*decay) by: - harminv_complex harminv_get_omega(harminv_data d, int k); + void harminv_get_omega(harminv_complex *omega, harminv_data d, int k); You can get the "quality factor" Q (pi |freq| / decay) by: @@ -170,7 +170,7 @@ You can get the "quality factor" Q (pi |freq| / decay) by: The complex amplitude (|amp| * exp(-I phase)) for each k is returned by: - harminv_complex harminv_get_amplitude(harminv_data d, int k); + void harminv_get_amplitude(harminv_complex *amplitude, harminv_data d, int k); A crude estimate of the relative error in the (complex) frequency is: diff --git a/configure.ac b/configure.ac index f5dd0fc..911a873 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(harminv, 1.3.1, stevenj@alum.mit.edu) +AC_INIT(harminv, 1.4, stevenj@alum.mit.edu) AM_INIT_AUTOMAKE([foreign silent-rules 1.11]) AM_SILENT_RULES(yes) AC_CONFIG_SRCDIR(harminv.c) @@ -9,7 +9,7 @@ AM_MAINTAINER_MODE # Shared-library version number; indicates api compatibility, and is # *not* the same as the "public" version number. CURRENT:REVISION:AGE -SHARED_VERSION_INFO="2:4:0" +SHARED_VERSION_INFO="3:0:0" AC_SUBST(SHARED_VERSION_INFO) AM_ENABLE_SHARED(no) dnl shared libs cause too many headaches to be default