packages feed

carray 0.1.6.5 → 0.1.6.6

raw patch · 5 files changed

+16/−11 lines, 5 filesdep ~sybPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: syb

API changes (from Hackage documentation)

- Data.Array.CArray.Base: instance (Data.Data.Data i, Data.Data.Data e) => Data.Data.Data (Data.Array.CArray.Base.CArray i e)
- Data.Array.CArray.Base: instance (Data.Data.Data i, Data.Data.Data e) => Data.Data.Data (Data.Array.CArray.Base.IOCArray i e)
+ Data.Array.CArray.Base: instance (Data.Data.Data e, Data.Data.Data i) => Data.Data.Data (Data.Array.CArray.Base.CArray i e)
+ Data.Array.CArray.Base: instance (Data.Data.Data e, Data.Data.Data i) => Data.Data.Data (Data.Array.CArray.Base.IOCArray i e)

Files

carray.cabal view
@@ -1,5 +1,5 @@ name:                carray-version:             0.1.6.5+version:             0.1.6.6 synopsis:            A C-compatible array library. description:   A C-compatible array library.@@ -21,7 +21,7 @@   Makefile  source-repository this-  tag:         0.1.6.5+  tag:         0.1.6.6   type:        darcs   location:    http://hub.darcs.net/thielema/carray/ @@ -57,7 +57,7 @@     build-depends: base <3    if flag(base4)-    build-depends: base >=4 && <5, syb >=0.1 && <0.7+    build-depends: base >=4 && <5, syb >=0.1 && <0.8   else     build-depends: base <4 
src/Data/Array/CArray/Base.hs view
@@ -171,7 +171,9 @@                     !(fp0, off, len) = S.toForeignPtr bs                     fp = mapPtr (flip plusPtr off) fp0                     p = unsafeForeignPtrToPtr fp-                    safe = sizeOf dummy * n <= len && p == p `alignPtr` alignment dummy+                    safe =+                        sizeOf dummy * n <= len &&+                        p == p `alignPtr` alignment dummy           mapPtr :: (Ptr a -> Ptr b) -> ForeignPtr a -> ForeignPtr b           mapPtr f (ForeignPtr addr contents) =               case f $ Ptr addr of
tests/meteor-contest-c.hs view
@@ -1,5 +1,5 @@ {-# OPTIONS -O2 -optc-O3 #-}-{-# LANGUAGE BangPatterns#-}+{-# LANGUAGE BangPatterns #-}  -- The Computer Language Benchmarks Game --   http://shootout.alioth.debian.org/
tests/meteor-contest-u.hs view
@@ -1,5 +1,5 @@ {-# OPTIONS -O2 -optc-O3 #-}-{-# LANGUAGE BangPatterns#-}+{-# LANGUAGE BangPatterns #-}  -- The Computer Language Benchmarks Game --   http://shootout.alioth.debian.org/
tests/tests.hs view
@@ -4,13 +4,15 @@ import qualified Test.QuickCheck as QC import Test.QuickCheck (Property, (==>)) import Control.Arrow ((&&&), (***))+import Control.Monad (liftM2) import Text.Show.Functions () import Data.Array.CArray           (CArray, flatten, ixmapWithInd, rank, reshape, shape, size, sliceWith) import Data.Ix.Shapable (shapeToStride) import Data.Array.Unboxed           (IArray, Ix, UArray,-           accum, amap, bounds, elems, inRange, ixmap, listArray, rangeSize)+           accum, amap, bounds, elems, ixmap, listArray, rangeSize)+import Data.Word (Word32) import Foreign.Storable (Storable) import Text.Printf (printf) import System.Environment (getArgs)@@ -101,10 +103,11 @@ prop_ixmapWithInd_amap :: (Int -> Double) -> CArray (Int,Int) Int -> Property prop_ixmapWithInd_amap f a = size a > 0 ==> ixmapWithInd (bounds a) id (\_ e _ -> f e) a == amap f a -type Acc = Int-prop_accum :: (Int -> Acc -> Int) -> CArray Int Int -> [(Int, Acc)] -> Property-prop_accum f a ies = all (inRange (bounds a) . fst) ies-    ==> (      (accum :: (Int -> Acc -> Int) -> CArray Int Int -> [(Int, Acc)] -> CArray Int Int)+type Acc = Word32+prop_accum :: (Int -> Acc -> Int) -> CArray Int Int -> Property+prop_accum f a =+    QC.forAll (QC.listOf $ liftM2 (,) (QC.choose (bounds a)) QC.arbitrary) $ \ies ->+        (      (accum :: (Int -> Acc -> Int) -> CArray Int Int -> [(Int, Acc)] -> CArray Int Int)          =|||= (accum :: (Int -> Acc -> Int) -> UArray Int Int -> [(Int, Acc)] -> UArray Int Int)) f a ies  type Transform = CArray Int Int -> CArray Int Int