Crate rft [] [src]

Rust Fourier Transform.

The length of the input must not be a power of two, it picks the proper algorithm automatically.

Cooley-Tukey is used for power of two sizes, it has an O(N log N) time complexity and O(N) space complexity.

Bluestein is used for non-power of two sizes, it has an O(5N log N) time complexity and O(5N) space complexity.

If it isn't already obvious, try to use power of two sizes.

Modules

spectrum

Spectrum computations.

transform

Various algorithms to compute the fourier transform.

window

Window function application.

Structs

Window

Represents a cached window function on a range and window size.

Traits

Complex

Trait representing complex numbers.

ComplexMut

Trait representing mutable complex numbers.

Sample

Trait for sample data, usually from a music file, used for input.

SampleMut

Trait for mutable sample data, used for output.

Functions

forward

Applies a forward fourier transform to the given input and returns a vector of complex numbers.

forward_in

Applies a forward fourier transform to the given input and puts it into the given output.

inverse

Applies an inverse fourier transform to the given input and returns a vector of complex numbers.

inverse_in

Applies an inverse fourier transform to the given input and puts it into the given output.

Type Definitions

Precision

The float precision all operations use.