Copyright | (c) 2011 Bryan O'Sullivan |
---|---|
License | BSD3 |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Fourier-related transformations of mathematical functions.
These functions are written for simplicity and correctness, not speed. If you need a fast FFT implementation for your application, you should strongly consider using a library of FFTW bindings instead.
Synopsis
- type CD = Complex Double
- dct :: ( Vector v CD , Vector v Double , Vector v Int ) => v Double -> v Double
- dct_ :: ( Vector v CD , Vector v Double , Vector v Int ) => v CD -> v Double
- idct :: ( Vector v CD , Vector v Double ) => v Double -> v Double
- idct_ :: ( Vector v CD , Vector v Double ) => v CD -> v Double
- fft :: Vector v CD => v CD -> v CD
- ifft :: Vector v CD => v CD -> v CD
Type synonyms
Discrete cosine transform
dct :: ( Vector v CD , Vector v Double , Vector v Int ) => v Double -> v Double Source #
Discrete cosine transform (DCT-II).
dct_ :: ( Vector v CD , Vector v Double , Vector v Int ) => v CD -> v Double Source #
Discrete cosine transform (DCT-II). Only real part of vector is transformed, imaginary part is ignored.
idct :: ( Vector v CD , Vector v Double ) => v Double -> v Double Source #
Inverse discrete cosine transform (DCT-III). It's inverse of
dct
only up to scale parameter:
(idct . dct) x = (* length x)
idct_ :: ( Vector v CD , Vector v Double ) => v CD -> v Double Source #
Inverse discrete cosine transform (DCT-III). Only real part of vector is transformed, imaginary part is ignored.