packages feed

accelerate-fftw 0.0 → 1.0

raw patch · 3 files changed

+26/−43 lines, 3 filesdep ~acceleratedep ~accelerate-iodep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: accelerate, accelerate-io, base

API changes (from Hackage documentation)

- Data.Array.Accelerate.FFTW.Manifest: type Element a = (FFTWReal a, Elt a, BlockPtrs (EltRepr a) ~ ((), Ptr a), BlockPtrs (EltRepr' a) ~ Ptr a)
+ Data.Array.Accelerate.FFTW.Manifest: type Element a = (FFTWReal a, Elt a, BlockPtrs (EltRepr a) ~ Ptr a)

Files

accelerate-fftw.cabal view
@@ -1,10 +1,10 @@ Name:             accelerate-fftw-Version:          0.0+Version:          1.0 License:          BSD3 License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de> Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>-Homepage:         http://code.haskell.org/~thielema/accelerate-fftw/+Homepage:         http://hub.darcs.net/thielema/accelerate-fftw/ Category:         Math Synopsis:         Accelerate frontend to the FFTW library (Fourier transform) Description:@@ -15,22 +15,22 @@ Build-Type:       Simple  Source-Repository this-  Tag:         0.0+  Tag:         1.0   Type:        darcs-  Location:    http://code.haskell.org/~thielema/accelerate-fftw/+  Location:    http://hub.darcs.net/thielema/accelerate-fftw/  Source-Repository head   Type:        darcs-  Location:    http://code.haskell.org/~thielema/accelerate-fftw/+  Location:    http://hub.darcs.net/thielema/accelerate-fftw/  Library   Build-Depends:     fft >=0.1.7 && <0.2,     carray >=0.1.5 && <0.2,     storable-complex >=0.2.1 && <0.3,-    accelerate-io >=0.15 && <0.16,-    accelerate >=0.15 && <0.16,-    base >=4.5 && <4.8+    accelerate-io >=1.0 && <1.1,+    accelerate >=1.0 && <1.2,+    base >=4.5 && <4.11    GHC-Options:      -Wall -fwarn-missing-import-lists   Hs-Source-Dirs:   src
src/Data/Array/Accelerate/CArray/Conversion.hs view
@@ -4,7 +4,7 @@  import qualified Data.Array.Accelerate.IO as AIO import qualified Data.Array.Accelerate as A-import Data.Array.Accelerate.Array.Sugar (EltRepr, EltRepr')+import Data.Array.Accelerate.Array.Sugar (EltRepr) import Data.Array.Accelerate (Array, DIM1, DIM2, Z(Z), (:.)((:.)))  import qualified Data.Array.CArray as CArray@@ -25,43 +25,37 @@   accFromCArrayReal1D ::-   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a)) =>+   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    CArray Int a -> Array DIM1 a accFromCArrayReal1D arr =    let (len, fptr) = CArray.toForeignPtr arr    in  unsafePerformIO $-       withForeignPtr fptr $ \ptr -> AIO.fromPtr (Z :. len) ((), ptr)+       withForeignPtr fptr $ \ptr -> AIO.fromPtr (Z :. len) ptr  accFromCArrayReal2D ::-   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a)) =>+   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    CArray (Int, Int) a -> Array DIM2 a accFromCArrayReal2D arr =    unsafePerformIO $    withCArray arr $ \ptr ->-      AIO.fromPtr (accDimsFromArrayBounds2D $ CArray.bounds arr) ((), ptr)+      AIO.fromPtr (accDimsFromArrayBounds2D $ CArray.bounds arr) ptr   accFromCArrayComplex1D ::-   (A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+   (A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    CArray Int (Complex a) -> Array DIM1 (Complex a) accFromCArrayComplex1D arr =    accFromCArrayComplex (accDimsFromArrayBounds1D $ CArray.bounds arr) arr  accFromCArrayComplex2D ::-   (A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+   (A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    CArray (Int, Int) (Complex a) -> Array DIM2 (Complex a) accFromCArrayComplex2D arr =    accFromCArrayComplex (accDimsFromArrayBounds2D $ CArray.bounds arr) arr  accFromCArrayComplex ::    (Ix i, A.Shape sh,-    A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+    A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    sh -> CArray i (Complex a) -> Array sh (Complex a) accFromCArrayComplex sh arr =    unsafePerformIO $@@ -80,34 +74,30 @@   cArrayFromAccReal1D ::-   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a)) =>+   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    Array DIM1 a -> CArray Int a cArrayFromAccReal1D arr =    let (Z:.len) = A.arrayShape arr    in  unsafePerformIO $-       createCArray (0,len-1) $ \ptr -> AIO.toPtr arr ((), ptr)+       createCArray (0,len-1) $ \ptr -> AIO.toPtr arr ptr  cArrayFromAccReal2D ::-   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a)) =>+   (A.Elt a, Storable a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    Array DIM2 a -> CArray (Int, Int) a cArrayFromAccReal2D arr =    unsafePerformIO $    createCArray (arrayBounds2DFromAccDims $ A.arrayShape arr) $ \ptr ->-      AIO.toPtr arr ((), ptr)+      AIO.toPtr arr ptr  cArrayFromAccComplex1D ::-   (A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+   (A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    Array DIM1 (Complex a) -> CArray Int (Complex a) cArrayFromAccComplex1D arr =    cArrayFromAccComplex       (arrayBounds1DFromAccDims $ A.arrayShape arr) arr  cArrayFromAccComplex2D ::-   (A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+   (A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    Array DIM2 (Complex a) -> CArray (Int,Int) (Complex a) cArrayFromAccComplex2D arr =    cArrayFromAccComplex@@ -115,9 +105,7 @@  cArrayFromAccComplex ::    (Ix i, A.Shape sh,-    A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+    A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    (i,i) -> Array sh (Complex a) -> CArray i (Complex a) cArrayFromAccComplex bnds arr = unsafePerformIO $ do    fmap (uncurry (CArray.liftArray2 (Complex.:+))) $@@ -128,9 +116,7 @@  withCArrayComplex ::    (Ix i, A.Shape sh,-    A.Elt a, Storable a, RealFloat a,-    AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-    AIO.BlockPtrs (EltRepr' a) ~ Ptr a) =>+    A.Elt a, Storable a, RealFloat a, AIO.BlockPtrs (EltRepr a) ~ Ptr a) =>    (sh -> (i,i)) ->    (CArray i (Complex a) -> CArray i (Complex a)) ->    Array sh (Complex a) -> Array sh (Complex a)
src/Data/Array/Accelerate/FFTW/Manifest.hs view
@@ -17,7 +17,7 @@  import qualified Data.Array.Accelerate.IO as AIO import qualified Data.Array.Accelerate as A-import Data.Array.Accelerate.Array.Sugar (EltRepr, EltRepr')+import Data.Array.Accelerate.Array.Sugar (EltRepr) import Data.Array.Accelerate (Array, (:.)((:.)))  import Foreign.Storable.Complex ()@@ -31,10 +31,7 @@  type Transform sh a = Array sh a -> Array sh a -type Element a =-      (FFTWReal a, A.Elt a,-       AIO.BlockPtrs (EltRepr a) ~ ((), Ptr a),-       AIO.BlockPtrs (EltRepr' a) ~ Ptr a)+type Element a = (FFTWReal a, A.Elt a, AIO.BlockPtrs (EltRepr a) ~ Ptr a)  dft ::    (A.Shape sh, Element a) =>