accelerate-fft-1.2.0.0: FFT using the Accelerate library

Copyright[2012..2017] Manuel M T Chakravarty Gabriele Keller Trevor L. McDonell
[2013..2017] Robert Clifton-Everest
LicenseBSD3
MaintainerTrevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell98

Data.Array.Accelerate.Math.FFT

Description

For performance, compile against the foreign library bindings (using any number of '-fllvm-ptx', and '-fllvm-cpu' for the accelerate-llvm-ptx, and accelerate-llvm-native backends, respectively).

Synopsis

Documentation

data Mode Source #

Constructors

Forward

Forward DFT

Reverse

Inverse DFT, un-normalised

Inverse

Inverse DFT, normalised

Instances
Eq Mode Source # 
Instance details

Defined in Data.Array.Accelerate.Math.FFT.Mode

Methods

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

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

Show Mode Source # 
Instance details

Defined in Data.Array.Accelerate.Math.FFT.Mode

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

class (RealFloat a, FromIntegral Int a, Elt (Complex a)) => Numeric a Source #

Minimal complete definition

numericR

Instances
Numeric Double Source # 
Instance details

Defined in Data.Array.Accelerate.Math.FFT.Type

Methods

numericR :: NumericR Double

Numeric Float Source # 
Instance details

Defined in Data.Array.Accelerate.Math.FFT.Type

Methods

numericR :: NumericR Float

fft :: forall sh e. (Shape sh, Slice sh, Numeric e) => Mode -> Acc (Array (sh :. Int) (Complex e)) -> Acc (Array (sh :. Int) (Complex e)) Source #

Discrete Fourier Transform along the innermost dimension of an array.

Notes for FFI implementations:

  • fftw supports arrays of dimension 1-5
  • cuFFT supports arrays of dimension 1-3

The pure implementation will be used otherwise.

fft1D :: forall e. Numeric e => Mode -> Acc (Array DIM1 (Complex e)) -> Acc (Array DIM1 (Complex e)) Source #

Discrete Fourier Transform of a vector.

fft2D :: forall e. Numeric e => Mode -> Acc (Array DIM2 (Complex e)) -> Acc (Array DIM2 (Complex e)) Source #

Discrete Fourier Transform of a matrix.

fft3D :: forall e. Numeric e => Mode -> Acc (Array DIM3 (Complex e)) -> Acc (Array DIM3 (Complex e)) Source #

Discrete Fourier Transform of a 3D array.