CHANGELOG 5.2 KB

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