Cabal-Version: 2.2 Name: comfort-fftw-extra Version: 0.0 License: BSD-3-Clause License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: https://hub.darcs.net/thielema/comfort-fftw-extra/ Category: Math Synopsis: Signal processing algorithms based on FFTW and BLAS Description: This package adds utility functions to the package @comfort-fftw@. For fast processing it uses additional functions from @comfort-blas@ and @cblas-ffi@. This way you benefit from machine optimized implementations of FFTW and BLAS. . We provide algorithms for: . * Compute two Fourier transforms of real data via one complex valued Fourier transform in one and two dimensions. . * Fast Cyclic and Acyclic Convolutions (i.e. chooses good data vector lengths for Fourier transform) . * Fast convolution or correlation of a short vector with a long one. . * Convolve two long vectors but keep only a short clip from the result. Can be useful for a pruned chirp transform. . * Batched convolution: One with many, Many with many. . * Streaming form of convolution of a vector with a possibly infinite stream of blocks. . * Fast blockwise Fourier transform (short-time Fourier transform) . * Compute only narrow frequency band of a spectrum faster than the whole spectrum. . * Synthesize time data from a narrow frequency band of a spectrum (aka band limited upsampling, aka interpolation). . Attention: Some functions use matrix transposition. For fast matrix transposition add a flag like this to your @cabal.project@: . > package cblas-ffi > flags: +openblas Tested-With: GHC==8.6.5, GHC==9.8.4 Build-Type: Simple Extra-Source-Files: Makefile -- test/Test/Common.hs Source-Repository this Tag: 0.0 Type: darcs Location: https://hub.darcs.net/thielema/comfort-fftw-extra/ Source-Repository head Type: darcs Location: https://hub.darcs.net/thielema/comfort-fftw-extra/ Library private GHC-Options: -Wall Hs-Source-Dirs: private Default-Language: Haskell98 Exposed-Modules: Numeric.FFTW.Extra.Rank1.Convolution Numeric.FFTW.Extra.Rank1.Transform Numeric.FFTW.Extra.Rank1Sketch Numeric.FFTW.Extra.Utility Numeric.FFTW.Extra.NumberTheory Numeric.FFTW.Extra.Shape Numeric.BLAS.Rank1.Convolution Numeric.BLAS.Rank1.Fourier Numeric.BLAS.Rank1.Unit Build-Depends: comfort-fftw, comfort-blas, comfort-array, netlib-ffi, Stream >=0.4.7 && <0.5, non-empty >=0.3.2 && <0.4, utility-ht, base >=4.5 && <5 Library Build-Depends: private, comfort-fftw >=0.0 && <0.1, comfort-blas >=0.1 && <0.2, comfort-array >=0.5.6 && <0.6, -- storablevector >=0.2.13 && <0.3, -- fftw-ffi >=0.1 && <0.2, -- cblas-ffi >=0.0 && <0.1, netlib-ffi >=0.0 && <0.2, -- QuickCheck >=2 && <3, -- deepseq >=1.3 && <1.7, -- non-empty >=0.3.2 && <0.4, utility-ht >=0.0.1 && <0.1, base >=4.5 && <5 GHC-Options: -Wall Hs-Source-Dirs: src Default-Language: Haskell98 Exposed-Modules: Numeric.FFTW.Extra.Rank1 Other-Modules: Numeric.FFTW.Extra.Rank1.ConvolutionDriver Test-Suite comfort-fftw-extra-test Type: exitcode-stdio-1.0 Build-Depends: QuickCheck, random >=1.0 && <1.4, doctest-exitcode-stdio >=0.0 && <0.1, doctest-lib >=0.1 && <0.2, comfort-fftw-extra, private, comfort-fftw, comfort-blas, comfort-array, netlib-ffi, -- non-empty >=0.3.2 && <0.4, -- storable-record >=0.0.6 && <0.1, utility-ht >=0.0.13 && <0.1, deepseq, base >=4.5 && <5 GHC-Options: -Wall Hs-Source-Dirs: test Default-Language: Haskell98 Main-Is: Main.hs Other-Modules: DocTest.ComplexDouble.Numeric.FFTW.Extra.Rank1.ConvolutionDriver DocTest.ComplexDouble.Numeric.FFTW.Extra.Rank1.Convolution DocTest.ComplexDouble.Numeric.BLAS.Rank1.Convolution DocTest.ComplexDouble.Main DocTest.ComplexFloat.Numeric.FFTW.Extra.Rank1.ConvolutionDriver DocTest.ComplexFloat.Numeric.FFTW.Extra.Rank1.Convolution DocTest.ComplexFloat.Numeric.BLAS.Rank1.Convolution DocTest.ComplexFloat.Main DocTest.Double.Numeric.FFTW.Extra.Rank1.ConvolutionDriver DocTest.Double.Numeric.FFTW.Extra.Rank1.Convolution DocTest.Double.Numeric.FFTW.Extra.Rank1.Transform DocTest.Double.Numeric.FFTW.Extra.Rank1 DocTest.Double.Numeric.BLAS.Rank1.Convolution DocTest.Double.Numeric.BLAS.Rank1.Fourier DocTest.Double.Numeric.BLAS.Rank1.Unit DocTest.Double.Main DocTest.Float.Numeric.FFTW.Extra.Rank1.ConvolutionDriver DocTest.Float.Numeric.FFTW.Extra.Rank1.Convolution DocTest.Float.Numeric.FFTW.Extra.Rank1.Transform DocTest.Float.Numeric.FFTW.Extra.Rank1 DocTest.Float.Numeric.BLAS.Rank1.Convolution DocTest.Float.Numeric.BLAS.Rank1.Fourier DocTest.Float.Numeric.BLAS.Rank1.Unit DocTest.Float.Main DocTest.Numeric.FFTW.Extra.NumberTheory DocTest.Numeric.FFTW.Extra.Shape DocTest.Main Test.Numeric.FFTW.Extra.Utility Benchmark comfort-fftw-extra-benchmark Type: exitcode-stdio-1.0 Default-Language: Haskell98 GHC-Options: -Wall -fwarn-missing-import-lists -threaded Hs-Source-Dirs: benchmark Main-Is: Main.hs Other-Modules: Knead Build-Depends: criterion >=0.6 && <1.7, -- deepseq, private, comfort-fftw-extra, comfort-fftw, knead, llvm-extra, llvm-tf, tfp, comfort-blas, comfort-array, non-empty, utility-ht >=0.0.13 && <0.1, base >=4.5 && <5