Mercurial > hg > qm-dsp
comparison ext/kissfft/CHANGELOG @ 184:76ec2365b250
Bring in kissfft into this repo (formerly a subrepo, but the remote is not responding)
| author | Chris Cannam |
|---|---|
| date | Tue, 21 Jul 2015 07:34:15 +0100 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 183:7ab3539e92e3 | 184:76ec2365b250 |
|---|---|
| 1 1.3.0 2012-07-18 | |
| 2 removed non-standard malloc.h from kiss_fft.h | |
| 3 | |
| 4 moved -lm to end of link line | |
| 5 | |
| 6 checked various return values | |
| 7 | |
| 8 converted python Numeric code to NumPy | |
| 9 | |
| 10 fixed test of int32_t on 64 bit OS | |
| 11 | |
| 12 added padding in a couple of places to allow SIMD alignment of structs | |
| 13 | |
| 14 1.2.9 2010-05-27 | |
| 15 threadsafe ( including OpenMP ) | |
| 16 | |
| 17 first edition of kissfft.hh the C++ template fft engine | |
| 18 | |
| 19 1.2.8 | |
| 20 Changed memory.h to string.h -- apparently more standard | |
| 21 | |
| 22 Added openmp extensions. This can have fairly linear speedups for larger FFT sizes. | |
| 23 | |
| 24 1.2.7 | |
| 25 Shrank the real-fft memory footprint. Thanks to Galen Seitz. | |
| 26 | |
| 27 1.2.6 (Nov 14, 2006) The "thanks to GenArts" release. | |
| 28 Added multi-dimensional real-optimized FFT, see tools/kiss_fftndr | |
| 29 Thanks go to GenArts, Inc. for sponsoring the development. | |
| 30 | |
| 31 1.2.5 (June 27, 2006) The "release for no good reason" release. | |
| 32 Changed some harmless code to make some compilers' warnings go away. | |
| 33 Added some more digits to pi -- why not. | |
| 34 Added kiss_fft_next_fast_size() function to help people decide how much to pad. | |
| 35 Changed multidimensional test from 8 dimensions to only 3 to avoid testing | |
| 36 problems with fixed point (sorry Buckaroo Banzai). | |
| 37 | |
| 38 1.2.4 (Oct 27, 2005) The "oops, inverse fixed point real fft was borked" release. | |
| 39 Fixed scaling bug for inverse fixed point real fft -- also fixed test code that should've been failing. | |
| 40 Thanks to Jean-Marc Valin for bug report. | |
| 41 | |
| 42 Use sys/types.h for more portable types than short,int,long => int16_t,int32_t,int64_t | |
| 43 If your system does not have these, you may need to define them -- but at least it breaks in a | |
| 44 loud and easily fixable way -- unlike silently using the wrong size type. | |
| 45 | |
| 46 Hopefully tools/psdpng.c is fixed -- thanks to Steve Kellog for pointing out the weirdness. | |
| 47 | |
| 48 1.2.3 (June 25, 2005) The "you want to use WHAT as a sample" release. | |
| 49 Added ability to use 32 bit fixed point samples -- requires a 64 bit intermediate result, a la 'long long' | |
| 50 | |
| 51 Added ability to do 4 FFTs in parallel by using SSE SIMD instructions. This is accomplished by | |
| 52 using the __m128 (vector of 4 floats) as kiss_fft_scalar. Define USE_SIMD to use this. | |
| 53 | |
| 54 I know, I know ... this is drifting a bit from the "kiss" principle, but the speed advantages | |
| 55 make it worth it for some. Also recent gcc makes it SOO easy to use vectors of 4 floats like a POD type. | |
| 56 | |
| 57 1.2.2 (May 6, 2005) The Matthew release | |
| 58 Replaced fixed point division with multiply&shift. Thanks to Jean-Marc Valin for | |
| 59 discussions regarding. Considerable speedup for fixed-point. | |
| 60 | |
| 61 Corrected overflow protection in real fft routines when using fixed point. | |
| 62 Finder's Credit goes to Robert Oschler of robodance for pointing me at the bug. | |
| 63 This also led to the CHECK_OVERFLOW_OP macro. | |
| 64 | |
| 65 1.2.1 (April 4, 2004) | |
| 66 compiles cleanly with just about every -W warning flag under the sun | |
| 67 | |
| 68 reorganized kiss_fft_state so it could be read-only/const. This may be useful for embedded systems | |
| 69 that are willing to predeclare twiddle factors, factorization. | |
| 70 | |
| 71 Fixed C_MUL,S_MUL on 16-bit platforms. | |
| 72 | |
| 73 tmpbuf will only be allocated if input & output buffers are same | |
| 74 scratchbuf will only be allocated for ffts that are not multiples of 2,3,5 | |
| 75 | |
| 76 NOTE: The tmpbuf,scratchbuf changes may require synchronization code for multi-threaded apps. | |
| 77 | |
| 78 | |
| 79 1.2 (Feb 23, 2004) | |
| 80 interface change -- cfg object is forward declaration of struct instead of void* | |
| 81 This maintains type saftey and lets the compiler warn/error about stupid mistakes. | |
| 82 (prompted by suggestion from Erik de Castro Lopo) | |
| 83 | |
| 84 small speed improvements | |
| 85 | |
| 86 added psdpng.c -- sample utility that will create png spectrum "waterfalls" from an input file | |
| 87 ( not terribly useful yet) | |
| 88 | |
| 89 1.1.1 (Feb 1, 2004 ) | |
| 90 minor bug fix -- only affects odd rank, in-place, multi-dimensional FFTs | |
| 91 | |
| 92 1.1 : (Jan 30,2004) | |
| 93 split sample_code/ into test/ and tools/ | |
| 94 | |
| 95 Removed 2-D fft and added N-D fft (arbitrary) | |
| 96 | |
| 97 modified fftutil.c to allow multi-d FFTs | |
| 98 | |
| 99 Modified core fft routine to allow an input stride via kiss_fft_stride() | |
| 100 (eased support of multi-D ffts) | |
| 101 | |
| 102 Added fast convolution filtering (FIR filtering using overlap-scrap method, with tail scrap) | |
| 103 | |
| 104 Add kfc.[ch]: the KISS FFT Cache. It takes care of allocs for you ( suggested by Oscar Lesta ). | |
| 105 | |
| 106 1.0.1 (Dec 15, 2003) | |
| 107 fixed bug that occurred when nfft==1. Thanks to Steven Johnson. | |
| 108 | |
| 109 1.0 : (Dec 14, 2003) | |
| 110 changed kiss_fft function from using a single buffer, to two buffers. | |
| 111 If the same buffer pointer is supplied for both in and out, kiss will | |
| 112 manage the buffer copies. | |
| 113 | |
| 114 added kiss_fft2d and kiss_fftr as separate source files (declarations in kiss_fft.h ) | |
| 115 | |
| 116 0.4 :(Nov 4,2003) optimized for radix 2,3,4,5 | |
| 117 | |
| 118 0.3 :(Oct 28, 2003) woops, version 2 didn't actually factor out any radices other than 2. | |
| 119 Thanks to Steven Johnson for finding this one. | |
| 120 | |
| 121 0.2 :(Oct 27, 2003) added mixed radix, only radix 2,4 optimized versions | |
| 122 | |
| 123 0.1 :(May 19 2003) initial release, radix 2 only |
