packages feed

comfort-fftw-0.0.0.1: comfort-fftw.cabal

Cabal-Version:    2.2
Name:             comfort-fftw
Version:          0.0.0.1
License:          BSD-3-Clause
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         https://hub.darcs.net/thielema/comfort-fftw/
Category:         Math
Synopsis:         High-level interface to FFTW (Fast Fourier Transform) based on comfort-array
Description:
  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@.
  .
  Features:
  .
  * 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:
  .
  [@Shape.Cyclic@]: for data where the @n-1@-th element
  can also be accessed via index @-1@.
  [@Shape.Half@]: 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.
  [@Shape.Symmetric@]: 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@.
Tested-With:      GHC==7.4.2, GHC==7.8.4, GHC==8.6.5
Build-Type:       Simple
Extra-Source-Files:
  Makefile

Source-Repository this
  Tag:         0.0.0.1
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/comfort-fftw/

Source-Repository head
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/comfort-fftw/

Library
  Build-Depends:
    fftw-ffi >=0.0 && <0.2,
    comfort-array >=0.5 && <0.6,
    netlib-ffi >=0.0 && <0.2,
    QuickCheck >=2 && <3,
    deepseq >=1.3 && <1.5,
    base >=4.5 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Default-Language: Haskell98
  Exposed-Modules:
    Numeric.FFTW.Rank1
    Numeric.FFTW.Rank2
    Numeric.FFTW.Rank3
    Numeric.FFTW.RankN
    Numeric.FFTW.Batch
    Numeric.FFTW.Shape
  Other-Modules:
    Numeric.FFTW.Private

Test-Suite fftw-test
  Type: exitcode-stdio-1.0
  Build-Depends:
    comfort-fftw,
    QuickCheck,
    doctest-exitcode-stdio >=0.0 && <0.1,
    doctest-lib >=0.1 && <0.2,
    comfort-array,
    netlib-ffi,
    non-empty >=0.3.2 && <0.4,
    storable-record >=0.0.6 && <0.1,
    deepseq,
    base

  GHC-Options:      -Wall
  Hs-Source-Dirs:   test
  Default-Language: Haskell98
  Main-Is:          Main.hs
  Other-Modules:
    Test.Main
    Test.Numeric.FFTW.Rank1
    Test.Numeric.FFTW.Rank2
    Test.Numeric.FFTW.Rank3
    Test.Numeric.FFTW.RankN
    Test.Numeric.FFTW.Batch
    Test.Numeric.FFTW.Shape
    Test.Numeric.FFTW.Common