packages feed

accelerate-fourier 1.0 → 1.0.0.2

raw patch · 5 files changed

+24/−24 lines, 5 filesdep +accelerate-llvm-nativedep −accelerate-cudadep ~criterionPVP ok

version bump matches the API change (PVP)

Dependencies added: accelerate-llvm-native

Dependencies removed: accelerate-cuda

Dependency ranges changed: criterion

API changes (from Hackage documentation)

Files

accelerate-fourier.cabal view
@@ -1,5 +1,5 @@ Name:             accelerate-fourier-Version:          1.0+Version:          1.0.0.2 License:          BSD3 License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de>@@ -22,7 +22,7 @@ Build-Type:       Simple  Source-Repository this-  Tag:         1.0+  Tag:         1.0.0.2   Type:        darcs   Location:    http://hub.darcs.net/thielema/accelerate-fourier/ @@ -86,11 +86,11 @@   Hs-Source-Dirs:   benchmark   Default-Language: Haskell98   Build-Depends:-    criterion >=1.0 && <1.1,+    criterion >=1.0 && <1.3,     accelerate-fourier,     accelerate-arithmetic,     accelerate-utility,-    accelerate-cuda >=0.15 && <0.16,+    accelerate-llvm-native >=1.1 && <1.2,     accelerate,     utility-ht,     base
benchmark/Main.hs view
@@ -6,7 +6,7 @@ import qualified Data.Array.Accelerate.Fourier.Preprocessed as Prep import qualified Data.Array.Accelerate.Fourier.Adhoc as Adhoc -import qualified Data.Array.Accelerate.CUDA as CUDA+import qualified Data.Array.Accelerate.LLVM.Native as LLVM import qualified Data.Array.Accelerate as A import Data.Array.Accelerate (Array, DIM2, Z(Z), (:.)((:.)), ) import Data.Complex (Complex, )@@ -19,7 +19,7 @@    [Benchmark] powersOfTwo f =    take 6 $ flip map (iterate (2*) 1024) $ \len ->-      bench (show len) $ whnf (CUDA.run1 (f len)) $+      bench (show len) $ whnf (LLVM.run1 (f len)) $       A.fromList (Z:.16:.len) $ repeat 0  powersOfTwos :: [Benchmark]@@ -46,7 +46,7 @@    [Benchmark] arbitrary f =    take 128 $ flip map (iterate (1+) 1) $ \len ->-      bench (show len) $ whnf (CUDA.run1 (f len)) $+      bench (show len) $ whnf (LLVM.run1 (f len)) $       A.fromList (Z:.4096:.len) $ repeat 0  arbitraryLengths :: [Benchmark]
src/Data/Array/Accelerate/Fourier/Planned.hs view
@@ -255,10 +255,10 @@    fmap (Plan n) $    case divMod n 2 of       (n2,0) ->-         case (0::Int) of-            0 -> PlanSplitRadix <$> planDecomposeWithMapUpdate n2-            1 -> PlanComposite <$> planDecomposeWithMapUpdate2 (2,n2)-            _ -> PlanRadix2 <$> planDecomposeWithMapUpdate n2+         let psr = PlanSplitRadix <$> planDecomposeWithMapUpdate n2+             _pc = PlanComposite <$> planDecomposeWithMapUpdate2 (2,n2)+             _pr2 = PlanRadix2 <$> planDecomposeWithMapUpdate n2+         in  psr       _ ->          let facs = NumberTheory.fermatFactors n          in  -- find unitary divisors
src/Data/Array/Accelerate/Fourier/Private.hs view
@@ -6,7 +6,7 @@  import qualified Data.Array.Accelerate.Fourier.Sign as Sign import qualified Data.Array.Accelerate.Convolution.Small as Cyclic-import Data.Array.Accelerate.Fourier.Sign (Sign(Sign), )+import Data.Array.Accelerate.Fourier.Sign (Sign, )  import qualified Data.Array.Accelerate.Utility.Sliced as Sliced import qualified Data.Array.Accelerate.Utility.Sliced1 as Sliced1
test/Test/Data/Array/Accelerate/Fourier.hs view
@@ -248,13 +248,13 @@   -infixl 6 <+>+infixl 6 .+. -(<+>) ::+(.+.) ::    Acc (Array DIM1 (Complex Double)) ->    Acc (Array DIM1 (Complex Double)) ->    Acc (Array DIM1 (Complex Double))-(<+>) = A.zipWith (+)+(.+.) = A.zipWith (+)   quickCheckWithSign ::@@ -417,22 +417,22 @@                  scalarProduct x y)) :    ("convolution commutativity",       quickCheck $ \(Normed1Pair len x y) -> run $-         let (<*>) = Planned.convolveCyclic len-         in  x <*> y+         let (.*.) = Planned.convolveCyclic len+         in  x .*. y              =~=-             y <*> x) :+             y .*. x) :    ("convolution associativity",       quickCheck $ \(Normed1Triple len x y z) -> run $-         let (<*>) = Planned.convolveCyclic len-         in  (x <*> y) <*> z+         let (.*.) = Planned.convolveCyclic len+         in  (x .*. y) .*. z              =~=-             x <*> (y <*> z)) :+             x .*. (y .*. z)) :    ("convolution distributivity",       quickCheck $ \(Normed1Triple len x y z) -> run $-         let (<*>) = Planned.convolveCyclic len-         in  x <*> (y <+> z)+         let (.*.) = Planned.convolveCyclic len+         in  x .*. (y .+. z)              =~=-             (x <*> y) <+> (x <*> z)) :+             (x .*. y) .+. (x .*. z)) :    ("convolution karatsuba rec vs. loop",       quickCheck $ \(Normed1 len xy) -> run $          let x = A.map Complex.real xy