packages feed

accelerate-fftw-1.0.3: test/Test/Data/Array/Accelerate/FFTW/Manifest.hs

-- Do not edit! Automatically created with doctest-extract from src/Data/Array/Accelerate/FFTW/Manifest.hs
{-# LINE 28 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}

module Test.Data.Array.Accelerate.FFTW.Manifest where

import Data.Array.Accelerate.FFTW.Manifest
import Test.DocTest.Base
import qualified Test.DocTest.Driver as DocTest

{-# LINE 29 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
import     qualified Data.Array.Accelerate.Utility.Lift.Exp as Exp
import     qualified Data.Array.Accelerate.Interpreter as AI
import     qualified Data.Array.Accelerate as A
import     Data.Array.Accelerate.Utility.Lift.Exp (expr)
import     Data.Array.Accelerate.Data.Complex (Complex((:+)))
import     Data.Array.Accelerate ((:.)((:.)))

roundComplex     :: A.Exp (Complex Float) -> A.Exp (Complex Int)
roundComplex     =
       Exp.modify (expr:+expr) $ \(r:+i) -> A.round r :+ (A.round i :: A.Exp Int)

test :: DocTest.T ()
test = do
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:49: "
{-# LINE 49 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 49 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ dft (A.fromList (A.Z:.3:.3) [1000,0,0, 0,1000,0, 0,0,1000])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 1000 :+ 0,        1000 :+ 0,        1000 :+ 0,"],ExpectedLine [LineChunk "    1000 :+ 0, (-500) :+ (-866),    (-500) :+ 866,"],ExpectedLine [LineChunk "    1000 :+ 0,    (-500) :+ 866, (-500) :+ (-866)]"]]
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:61: "
{-# LINE 61 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 61 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ idft $ dft (A.fromList (A.Z:.3:.3) [1000,0,0, 0,1000,0, 0,0,1000])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 1000 :+ 0,    0 :+ 0,    0 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0, 1000 :+ 0,    0 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0,    0 :+ 0, 1000 :+ 0]"]]
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:77: "
{-# LINE 77 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 77 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ dft2d (A.fromList (A.Z:.3:.3) [1000,0,0, 0,0,0, 0,0,0])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 1000 :+ 0, 1000 :+ 0, 1000 :+ 0,"],ExpectedLine [LineChunk "    1000 :+ 0, 1000 :+ 0, 1000 :+ 0,"],ExpectedLine [LineChunk "    1000 :+ 0, 1000 :+ 0, 1000 :+ 0]"]]
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:83: "
{-# LINE 83 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 83 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ dft2d (A.fromList (A.Z:.3:.3) [0,1000,0, 0,0,0, 0,0,0])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 1000 :+ 0, (-500) :+ (-866), (-500) :+ 866,"],ExpectedLine [LineChunk "    1000 :+ 0, (-500) :+ (-866), (-500) :+ 866,"],ExpectedLine [LineChunk "    1000 :+ 0, (-500) :+ (-866), (-500) :+ 866]"]]
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:89: "
{-# LINE 89 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 89 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ dft2d (A.fromList (A.Z:.3:.3) [1000,0,0, 0,1000,0, 0,0,1000])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 3000 :+ 0,    0 :+ 0,    0 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0,    0 :+ 0, 3000 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0, 3000 :+ 0,    0 :+ 0]"]]
 DocTest.printPrefix "Data.Array.Accelerate.FFTW.Manifest:102: "
{-# LINE 102 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
 DocTest.example(
{-# LINE 102 "src/Data/Array/Accelerate/FFTW/Manifest.hs" #-}
    AI.run1 (A.map roundComplex) $ idft2d $ dft2d (A.fromList (A.Z:.3:.3) [1000,0,0, 0,1000,0, 0,0,1000])
  )
  [ExpectedLine [LineChunk "Matrix (Z :. 3 :. 3)"],ExpectedLine [LineChunk "  [ 1000 :+ 0,    0 :+ 0,    0 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0, 1000 :+ 0,    0 :+ 0,"],ExpectedLine [LineChunk "       0 :+ 0,    0 :+ 0, 1000 :+ 0]"]]