packages feed

arb-fft-0.3.0.0: test/profile-256.hs

module Main where

import Criterion
import Criterion.Main.Options
import Criterion.Types
import Data.Complex
import Data.Vector
import qualified Numeric.FFT as FFT

tstvec :: Int -> Vector (Complex Double)
tstvec sz = generate sz (\i -> let ii = fromIntegral i
                               in sin (2*pi*ii/1024) + sin (2*pi*ii/511))

main :: IO ()
main = do
  p <- FFT.plan 256
  benchmarkWith (defaultConfig { resamples = 1000 }) 
    (nf (FFT.fftWith p) (tstvec 256))