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