1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
## [6.2]
Released 22nd January 2024
### Minimum Rustc Version
- The MSRV for RustFFT is now 1.61.0
### Added
- Implemented a code path for SIMD-optimized FFTs on WASM targets (Thanks to @pr1metine) (#120)
### Fixed
- Fixed pointer aliasing causing unsoundness and miri check failures (#113)
- Fixed computation of size-1 FFTs (#119)
- Fixed readme type (#121)
## [6.1]
Released 7th Novemeber 2022
### Added
- Implemented a code path for Neon-optimized FFTs on AArch64 (Thanks to Henrik Enquist!) (#84 and #78)
### Changed
- Improved performance of power-of-3 FFTs when not using SIMD-accelerated code paths (#80)
- Reduced memory usage for some FFT sizes (#81)
## [6.0.1]
Released 10 May 2021
### Fixed
- Fixed a compile-time divide by zero error on nightly Rust in `stdarch\crates\core_arch\src\macros.rs` (#75)
- Increased the minimum version of `strength_reduce` to 0.2.3
## [6.0.0]
Released 16 April 2021
### Breaking Changes
- Increased the version of the num-complex dependency to 0.4.
- This is a breaking change because we have a public dependency on num-complex.
- See the [num-complex changelog](https://github.com/rust-num/num-complex/blob/master/RELEASES.md) for a list of breaking changes in num-complex 0.4
- As a high-level summary, most users will not need to do anything to upgrade to RustFFT 6.0: num-complex 0.4 re-exports a newer version of `rand`, and that's num-complex's only documented breaking change.
## [5.1.1]
Released 10 May 2021
### Fixed
- Fixed a compile-time divide by zero error on nightly Rust in `stdarch\crates\core_arch\src\macros.rs` (Backported from v6.0.1)
- Increased the minimum version of `strength_reduce` to 0.2.3 (Backported from v6.0.1)
## [5.1.0]
Released 16 April 2021
### Added
- Implemented a code path for SSE-optimized FFTs (Thanks to Henrik Enquist!) (#60)
- Plan a FFT using the `FftPlanner` (or the new `FftPlannerSse`) on a machine that supports SSE4.1 (but not AVX) and you'll see a 2-3x performance improvement over the default scalar code.
### Fixed
- Fixed underflow when planning an AVX FFT of size zero (#56)
- Fixed the FFT planner not being Send, due to internal use of Rc<> (#55)
- Fixed typo in documentation (#54)
- Slightly improved numerical precision of Rader's Algorithm and Bluestein's Algorithm (#66, #68)
- Minor optimizations to Rader's Algorithm and Bluestein's Algorithm (#59)
- Minor optimizations to MixedRadix setup time (#57)
- Optimized performance of Radix4 (#65)
## [5.0.1]
Released 8 January 2021
### Fixed
- Fixed the FFT planner not choosing an obviously faster plan in some rare cases (#46)
- Documentation fixes and clarificarions (#47, #48, #51)
## [5.0.0]
Released 4 January 2021
### Breaking Changes
- Several breaking changes. See the [Upgrade Guide](/UpgradeGuide4to5.md) for details.
### Added
- Added support for the `Avx` instruction set. Plan a FFT with the `FftPlanner` on a machine that supports AVX, and you'll get a 5x-10x speedup in FFT performance.
### Changed
- Even though the main focus of this release is on AVX, most users should see moderate performance improvements due to a new internal architecture that reduces the amount of internal copies required when computing a FFT.
## [4.1.0]
Released 24 December 2020
### Added
- Added a blanket impl of `FftNum` to any type that implements the required traits (#7)
- Added butterflies for many prime sizes, up to 31, and optimized the size-3, size-5, and size-7 buitterflies (#10)
- Added an implementation of Bluestein's Algorithm (#6)
### Changed
- Improved the performance of GoodThomasAlgorithm re-indexing (#20)
## [4.0.0]
Released 8 October 2020
This release moved the home repository of RustFFT from https://github.com/awelkie/RustFFT to https://github.com/ejmahler/RustFFT
### Breaking Changes
- Increased the version of the num-complex dependency to 0.3. This is a breaking change because we have a public dependency on num-complex.
See the [num-complex changelog](https://github.com/rust-num/num-complex/blob/master/RELEASES.md) for a list of breaking changes in num-complex 0.3.
- Increased the minimum required Rust version from 1.26 to 1.31. This was required by the upgrade to num-complex 0.3.
## [3.0.1]
Released 27 December 2019
### Fixed
- Fixed warnings regarding "dyn trait", and warnings regarding inclusive ranges
- Several documentation improvements
## [3.0.0]
Released 4 January 2019
### Changed
- Reduced the setup time and memory usage of GoodThomasAlgorithm
- Reduced the setup time and memory usage of RadersAlgorithm
### Breaking Changes
- Documented the minimum rustsc version. Before, none was specified. now, it's 1.26. Further increases to minimum version will be a breaking change.
- Increased the version of the num-complex dependency to 0.2. This is a breaking change because we have a public dependency on num-complex.
See the [num-complex changelog](https://github.com/rust-num/num-complex/blob/master/RELEASES.md) for a list of breaking changes in num-complex 0.2
## [2.1.0]
Released 30 July 2018
### Added
- Added a specialized implementation of Good Thomas Algorithm for when both inner FFTs are butterflies
### Changed
- Documentation typo fixes
- Increased minimum version of num_traits and num_complex. Notably, Complex<T> is now guaranteed to be repr(C)
- Significantly improved the performance of the Radix4 algorithm
- Reduced memory usage of prime-sized FFTs
- Incorporated the Good-Thomas Double Butterfly algorithm into the planner, improving performance for most composite and prime FFTs
## [2.0.0]
Released 22 May 2017
### Added
- Added implementation of Good Thomas algorithm.
- Added implementation of Raders algorithm.
- Added implementation of Radix algorithm for power-of-two lengths.
- Added `FFTPlanner` to choose the fastest algorithm for a given size.
### Changed
- Changed API to take the "signal" as mutable and use it for scratch space.
## [1.0.1]
Released 15 January 2016
### Changed
- Relicensed to dual MIT/Apache-2.0.
## [1.0.0]
Released 4 October 2015
### Added
- Added initial implementation of Cooley-Tukey.
|