repa-algorithms-3.4.1.1: Algorithms using the Repa array library.

Safe HaskellNone
LanguageHaskell98

Data.Array.Repa.Algorithms.FFT

Description

Fast computation of Discrete Fourier Transforms using the Cooley-Tuckey algorithm. Time complexity is O(n log n) in the size of the input.

This uses a naive divide-and-conquer algorithm, the absolute performance is about 50x slower than FFTW in estimate mode.

Synopsis

Documentation

data Mode Source #

Constructors

Forward 
Reverse 
Inverse 

Instances

Eq Mode Source # 

Methods

(==) :: Mode -> Mode -> Bool #

(/=) :: Mode -> Mode -> Bool #

Show Mode Source # 

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

isPowerOfTwo :: Int -> Bool Source #

Check if an Int is a power of two.

fft3dP :: (Source r Complex, Monad m) => Mode -> Array r DIM3 Complex -> m (Array U DIM3 Complex) Source #

Compute the DFT of a 3d array. Array dimensions must be powers of two else error.

fft2dP :: (Source r Complex, Monad m) => Mode -> Array r DIM2 Complex -> m (Array U DIM2 Complex) Source #

Compute the DFT of a matrix. Array dimensions must be powers of two else error.

fft1dP :: (Source r Complex, Monad m) => Mode -> Array r DIM1 Complex -> m (Array U DIM1 Complex) Source #

Compute the DFT of a vector. Array dimensions must be powers of two else error.