Safe Haskell | None |
---|---|
Language | Haskell2010 |
Numeric.FFT.Vector.Unnormalized.Multi
Description
Raw, unnormalized multi-dimensional versions of the transforms in fftw
.
Note that the forwards and backwards transforms of this module are not actually
inverses. For example, run idft (run dft v) /= v
in general.
For more information on the individual transforms, see http://www.fftw.org/fftw3_doc/What-FFTW-Really-Computes.html.
Since: 0.2
Synopsis
- run :: (Vector v a, Vector v b, Storable a, Storable b) => Transform a b -> v a -> v b
- plan :: (Storable a, Storable b) => Transform a b -> Int -> Plan a b
- execute :: (Vector v a, Vector v b, Storable a, Storable b) => Plan a b -> v a -> v b
- dft :: TransformND (Complex Double) (Complex Double)
- idft :: TransformND (Complex Double) (Complex Double)
- dftR2C :: TransformND Double (Complex Double)
- dftC2R :: TransformND (Complex Double) Double
Creating and executing Plan
s
run :: (Vector v a, Vector v b, Storable a, Storable b) => Transform a b -> v a -> v b Source #
Create and run a Plan
for the given transform.
plan :: (Storable a, Storable b) => Transform a b -> Int -> Plan a b Source #
Create a Plan
of a specific size. This function is equivalent to
.planOfType
Estimate
execute :: (Vector v a, Vector v b, Storable a, Storable b) => Plan a b -> v a -> v b Source #
Run a plan on the given Vector
.
If
, then calling
planInputSize
p /= length vexecute p v
will throw an exception.
Complex-to-complex transforms
dft :: TransformND (Complex Double) (Complex Double) Source #
A forward discrete Fourier transform. The output and input sizes are the same (n
).
idft :: TransformND (Complex Double) (Complex Double) Source #
A backward discrete Fourier transform. The output and input sizes are the same (n
).
Real-to-complex transforms
dftR2C :: TransformND Double (Complex Double) Source #
A forward discrete Fourier transform with real data. If the input size is n0 * ... * nk
,
the output size will be n0 * ... * nk `div` 2 + 1
.