repa-algorithms-3.4.1.3: 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 #

Constructors

Forward 
Reverse 
Inverse 
Instances
Eq Mode # 
Instance details

Defined in Data.Array.Repa.Algorithms.FFT

Methods

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

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

Show Mode # 
Instance details

Defined in Data.Array.Repa.Algorithms.FFT

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

isPowerOfTwo :: Int -> Bool #

Check if an Int is a power of two. Assumes n is a natural number.

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

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

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

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