c@174: 1.3.0 2012-07-18 c@174: removed non-standard malloc.h from kiss_fft.h c@174: c@174: moved -lm to end of link line c@174: c@174: checked various return values c@174: c@174: converted python Numeric code to NumPy c@174: c@174: fixed test of int32_t on 64 bit OS c@174: c@174: added padding in a couple of places to allow SIMD alignment of structs c@174: c@174: 1.2.9 2010-05-27 c@174: threadsafe ( including OpenMP ) c@174: c@174: first edition of kissfft.hh the C++ template fft engine c@174: c@174: 1.2.8 c@174: Changed memory.h to string.h -- apparently more standard c@174: c@174: Added openmp extensions. This can have fairly linear speedups for larger FFT sizes. c@174: c@174: 1.2.7 c@174: Shrank the real-fft memory footprint. Thanks to Galen Seitz. c@174: c@174: 1.2.6 (Nov 14, 2006) The "thanks to GenArts" release. c@174: Added multi-dimensional real-optimized FFT, see tools/kiss_fftndr c@174: Thanks go to GenArts, Inc. for sponsoring the development. c@174: c@174: 1.2.5 (June 27, 2006) The "release for no good reason" release. c@174: Changed some harmless code to make some compilers' warnings go away. c@174: Added some more digits to pi -- why not. c@174: Added kiss_fft_next_fast_size() function to help people decide how much to pad. c@174: Changed multidimensional test from 8 dimensions to only 3 to avoid testing c@174: problems with fixed point (sorry Buckaroo Banzai). c@174: c@174: 1.2.4 (Oct 27, 2005) The "oops, inverse fixed point real fft was borked" release. c@174: Fixed scaling bug for inverse fixed point real fft -- also fixed test code that should've been failing. c@174: Thanks to Jean-Marc Valin for bug report. c@174: c@174: Use sys/types.h for more portable types than short,int,long => int16_t,int32_t,int64_t c@174: If your system does not have these, you may need to define them -- but at least it breaks in a c@174: loud and easily fixable way -- unlike silently using the wrong size type. c@174: c@174: Hopefully tools/psdpng.c is fixed -- thanks to Steve Kellog for pointing out the weirdness. c@174: c@174: 1.2.3 (June 25, 2005) The "you want to use WHAT as a sample" release. c@174: Added ability to use 32 bit fixed point samples -- requires a 64 bit intermediate result, a la 'long long' c@174: c@174: Added ability to do 4 FFTs in parallel by using SSE SIMD instructions. This is accomplished by c@174: using the __m128 (vector of 4 floats) as kiss_fft_scalar. Define USE_SIMD to use this. c@174: c@174: I know, I know ... this is drifting a bit from the "kiss" principle, but the speed advantages c@174: make it worth it for some. Also recent gcc makes it SOO easy to use vectors of 4 floats like a POD type. c@174: c@174: 1.2.2 (May 6, 2005) The Matthew release c@174: Replaced fixed point division with multiply&shift. Thanks to Jean-Marc Valin for c@174: discussions regarding. Considerable speedup for fixed-point. c@174: c@174: Corrected overflow protection in real fft routines when using fixed point. c@174: Finder's Credit goes to Robert Oschler of robodance for pointing me at the bug. c@174: This also led to the CHECK_OVERFLOW_OP macro. c@174: c@174: 1.2.1 (April 4, 2004) c@174: compiles cleanly with just about every -W warning flag under the sun c@174: c@174: reorganized kiss_fft_state so it could be read-only/const. This may be useful for embedded systems c@174: that are willing to predeclare twiddle factors, factorization. c@174: c@174: Fixed C_MUL,S_MUL on 16-bit platforms. c@174: c@174: tmpbuf will only be allocated if input & output buffers are same c@174: scratchbuf will only be allocated for ffts that are not multiples of 2,3,5 c@174: c@174: NOTE: The tmpbuf,scratchbuf changes may require synchronization code for multi-threaded apps. c@174: c@174: c@174: 1.2 (Feb 23, 2004) c@174: interface change -- cfg object is forward declaration of struct instead of void* c@174: This maintains type saftey and lets the compiler warn/error about stupid mistakes. c@174: (prompted by suggestion from Erik de Castro Lopo) c@174: c@174: small speed improvements c@174: c@174: added psdpng.c -- sample utility that will create png spectrum "waterfalls" from an input file c@174: ( not terribly useful yet) c@174: c@174: 1.1.1 (Feb 1, 2004 ) c@174: minor bug fix -- only affects odd rank, in-place, multi-dimensional FFTs c@174: c@174: 1.1 : (Jan 30,2004) c@174: split sample_code/ into test/ and tools/ c@174: c@174: Removed 2-D fft and added N-D fft (arbitrary) c@174: c@174: modified fftutil.c to allow multi-d FFTs c@174: c@174: Modified core fft routine to allow an input stride via kiss_fft_stride() c@174: (eased support of multi-D ffts) c@174: c@174: Added fast convolution filtering (FIR filtering using overlap-scrap method, with tail scrap) c@174: c@174: Add kfc.[ch]: the KISS FFT Cache. It takes care of allocs for you ( suggested by Oscar Lesta ). c@174: c@174: 1.0.1 (Dec 15, 2003) c@174: fixed bug that occurred when nfft==1. Thanks to Steven Johnson. c@174: c@174: 1.0 : (Dec 14, 2003) c@174: changed kiss_fft function from using a single buffer, to two buffers. c@174: If the same buffer pointer is supplied for both in and out, kiss will c@174: manage the buffer copies. c@174: c@174: added kiss_fft2d and kiss_fftr as separate source files (declarations in kiss_fft.h ) c@174: c@174: 0.4 :(Nov 4,2003) optimized for radix 2,3,4,5 c@174: c@174: 0.3 :(Oct 28, 2003) woops, version 2 didn't actually factor out any radices other than 2. c@174: Thanks to Steven Johnson for finding this one. c@174: c@174: 0.2 :(Oct 27, 2003) added mixed radix, only radix 2,4 optimized versions c@174: c@174: 0.1 :(May 19 2003) initial release, radix 2 only