packages feed

storable-static-array 0.4.0.0 → 0.4.0.1

raw patch · 2 files changed

+8/−9 lines, 2 files

Files

Foreign/Marshal/StaticArray.hs view
@@ -45,10 +45,9 @@  import Control.Monad -import Data.Array.IArray-import Data.Array.Unboxed    (UArray)+import Data.Array.Base+import Data.Array            (Array) import Data.Array.IO  hiding (unsafeFreeze)-import Data.Array.Unsafe     (unsafeFreeze) import Data.Functor          ((<$>)) import Data.Proxy            (Proxy(..)) @@ -122,9 +121,9 @@             m <- newArray_ b :: IO ((Mutable b) (Bound d) e)              let src = castPtr src'-            forM_ (zip [0..] $ range b) $ \(o, i) -> do-                x <- peek $ advancePtr src o-                writeArray m i x+            forM_ [0 .. rangeSize b - 1] $ \i -> do+                x <- peek $ advancePtr src i+                unsafeWrite m i x              arr <- StaticArray <$> unsafeFreeze m         return arr@@ -133,8 +132,8 @@         let a = toArray arr             b = bounds a             dst = castPtr dst'-        forM_ (zip [0..] $ range b) $ \(o, i) ->-            poke (advancePtr dst o) $ a ! i+        forM_ [0 .. rangeSize b - 1] $ \i ->+            poke (advancePtr dst i) $ unsafeAt a i   -- | A conversion function for converting type-level naturals to
storable-static-array.cabal view
@@ -1,5 +1,5 @@ name:                storable-static-array-version:             0.4.0.0+version:             0.4.0.1 synopsis:            Statically-sized array wrappers with Storable instances                      for FFI marshaling description:         Uses type-level numeric literals to wrap arrays in a type