|
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 |