#fft #numerics #dsp #mathematics

chfft

Fastest Fourier Transform library implemented with pure Rust

10 releases

✓ Uses Rust 2018 edition

0.3.2 Sep 16, 2019
0.3.1 Sep 9, 2019
0.2.4 May 26, 2018
0.2.3 Mar 23, 2018
0.1.1 Aug 31, 2017

#51 in Math

Download history 5/week @ 2019-10-07 13/week @ 2019-10-14 19/week @ 2019-10-21 121/week @ 2019-10-28 25/week @ 2019-11-04 7/week @ 2019-11-11 25/week @ 2019-11-18 17/week @ 2019-11-25 37/week @ 2019-12-02 167/week @ 2019-12-09 7/week @ 2019-12-16 13/week @ 2019-12-23 1/week @ 2020-01-06 53/week @ 2020-01-13

165 downloads per month
Used in 1 crate

MPL-2.0 license

100KB
2K SLoC

chfft

crates.io badge Build Status docs.rs Coverage Status

Fastest Fourier Transform library implemented with pure Rust.

How-to Use

See the crate documentation for more details.

Features

  • CFft1D - Perform a complex-to-complex one-dimensional Fourier transform.

  • CFft2D - Perform a complex-to-complex two-dimensional Fourier transform.

  • Dct1D - Perform a discrete cosine transform.

  • RFft1D - Perform a real-to-complex one-dimensional Fourier transform.

  • Mdct1D - Perform a Modified discrete cosine transform.

Examples

extern crate chfft;
extern crate num_complex;
use num_complex::Complex;
use chfft::CFft1D;

fn main() {
    let input = [Complex::new(2.0, 0.0), Complex::new(1.0, 1.0),
                 Complex::new(0.0, 3.0), Complex::new(2.0, 4.0)];
    let mut fft = CFft1D::<f64>::with_len(input.len());
    let output = fft.forward(&input);
    println!("the transform of {:?} is {:?}", input, output);
}

Dependencies

~235KB