comfort-fftw: High-level interface to FFTW (Fast Fourier Transform) based on comfort-array

[ bsd3, library, math ] [ Propose Tags ]

FFTW claims to be the fastest Fourier Transform in the West. This is a high-level interface to libfftw. We re-use the type classes from netlib-ffi.


  • Support of one (audio), two (image), three (video) dimensional data, as well as n-dimensional one.

  • Support for batched transformations e.g. for block-wise Fourier transform.

  • No normalization like in plain fftw. This is because I see no universally best place to apply normalization.

The use of comfort-array enables to use array shapes tailored to Fourier transforms:

for data where the n-1-th element can also be accessed via index -1.
for complex data of a real-to-complex Fourier transform. It saves you from case distinction between even and odd data length and according mistakes.
for real-to-real Sine and Cosine transforms. They assert that you will always use the appropriate kind for back transformation.

For rather simple examples see the packages align-audio and morbus-meniere.

See also package fft.


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0,
Dependencies base (>=4.5 && <5), comfort-array (>=0.5 && <0.6), deepseq (>=1.3 && <1.6), fftw-ffi (>=0.0 && <0.2), netlib-ffi (>=0.0 && <0.2), QuickCheck (>=2 && <3) [details]
License BSD-3-Clause
Author Henning Thielemann <>
Maintainer Henning Thielemann <>
Revised Revision 1 made by HenningThielemann at 2023-10-07T15:23:53Z
Category Math
Home page
Source repo this: darcs get --tag
head: darcs get
Uploaded by HenningThielemann at 2023-04-22T17:53:39Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 357 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]