packages feed

arb-fft-0.2.0.2: arb-fft.cabal

name:               arb-fft
version:            0.2.0.2
synopsis:           Pure Haskell arbitrary length FFT library
homepage:           https://github.com/ian-ross/arb-fft
license:            BSD3
license-file:       LICENSE
author:             Ian Ross
maintainer:         ian@skybluetrades.net
copyright:          Copyright (2013) Ian Ross
category:           Math
build-type:         Custom
extra-source-files: README.markdown CHANGELOG.markdown doc-formulae/*.svg
extra-doc-files:    doc-formulae/*.svg
cabal-version:      >=1.10

description:
  This library provides a pure Haskell complex-to-complex Fast Fourier
  Transform implementation for arbitrary length input vectors, using a
  mixed-radix decimation-in-time algorithm with specialised
  straight-line code for a range of base transform sizes, Rader's
  algorithm for prime length base transforms, and an empirical
  optimisation scheme to select a good problem decomposition.
  .
  This package is probably primarily of pedagogical interest (FFTW is
  about five times faster for most input sizes).  There is a long
  series of blog articles describing the development of the package,
  indexed at <http://www.skybluetrades.net/haskell-fft-index.html>.

source-repository head
  type:     git
  location: https://github.com/ian-ross/arb-fft

Flag LLVM
  default: True
  description: Use LLVM build for better performance

Library
  exposed-modules:  Numeric.FFT
  other-modules:    Numeric.FFT.Plan
                    Numeric.FFT.Execute
                    Numeric.FFT.Special
                    Numeric.FFT.Special.PowersOfTwo
                    Numeric.FFT.Special.Primes
                    Numeric.FFT.Special.Miscellaneous
                    Numeric.FFT.Types
                    Numeric.FFT.Utils
  ghc-prof-options: -auto-all -caf-all
  build-depends:    base                        >= 4.6      && < 5,
                    containers                  >= 0.5.0.0  && < 0.6,
                    criterion                   >= 0.8.0.0  && < 0.9,
                    directory                   >= 1.2.0.1  && < 1.3,
                    filepath                    >= 1.3.0.1  && < 1.4,
                    primitive                   >= 0.5.1.0  && < 0.6,
                    transformers                >= 0.3.0.0  && < 0.4,
                    vector                      >= 0.10.9.1 && < 0.11
  default-language: Haskell2010
  if flag(LLVM)
    ghc-options:    -O2 -fllvm
  else
    ghc-options:    -O2

Test-Suite basic-test
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          basic-test.hs
  build-depends:    arb-fft,
                    base                        >= 4.6      && < 5,
                    containers                  >= 0.5.0.0  && < 0.6,
                    vector                      >= 0.10.9.1 && < 0.11,
                    QuickCheck                  >= 2.6      && < 2.7,
                    tasty                       >= 0.3,
                    tasty-quickcheck            >= 0.3
  default-language: Haskell2010

Executable profile-256
  hs-source-dirs:   test
  main-is:          profile-256.hs
  build-depends:    arb-fft,
                    base                        >= 4.6      && < 5,
                    containers                  >= 0.5.0.0  && < 0.6,
                    vector                      >= 0.10.9.1 && < 0.11,
                    criterion
  default-language: Haskell2010