packages feed

memory 0.6 → 0.7

raw patch · 4 files changed

+30/−24 lines, 4 files

Files

CHANGELOG.md view
@@ -1,6 +1,12 @@+## 0.7++* Fix fixed sized scrubber written too hastily, that would zero out memory, as the index+  was written through byte size, whereas the primitive would consider it as WordX type index.+  it would helps if Ghc.Prim had better documentation.+ ## 0.6 -* fix compilation on architecture where endianness is not a compile time define related+* Fix compilation on architecture where endianness is not a compile time define related   to their cabal arch().  ## 0.5
Data/Memory/Internal/Scrubber.hs view
@@ -30,35 +30,35 @@ #if WORD_SIZE_IN_BITS == 64         scrub8 a = IO $ \s -> (# writeWord64OffAddr# a 0# 0## s, () #)         scrub16 a = IO $ \s1 ->-            let !s2 = writeWord64OffAddr# a  0# 0## s1-                !s3 = writeWord64OffAddr# a  8# 0## s2+            let !s2 = writeWord64OffAddr# a 0# 0## s1+                !s3 = writeWord64OffAddr# a 1# 0## s2              in (# s3, () #)         scrub32 a = IO $ \s1 ->-            let !s2 = writeWord64OffAddr# a  0# 0## s1-                !s3 = writeWord64OffAddr# a  8# 0## s2-                !s4 = writeWord64OffAddr# a 16# 0## s3-                !s5 = writeWord64OffAddr# a 24# 0## s4+            let !s2 = writeWord64OffAddr# a 0# 0## s1+                !s3 = writeWord64OffAddr# a 1# 0## s2+                !s4 = writeWord64OffAddr# a 2# 0## s3+                !s5 = writeWord64OffAddr# a 3# 0## s4              in (# s5, () #) #else         scrub8 a = IO $ \s1 ->-            let !s2 = writeWord32OffAddr# a  0# 0## s1-                !s3 = writeWord32OffAddr# a  4# 0## s2+            let !s2 = writeWord32OffAddr# a 0# 0## s1+                !s3 = writeWord32OffAddr# a 1# 0## s2              in (# s3, () #)         scrub16 a = IO $ \s1 ->-            let !s2 = writeWord32OffAddr# a  0# 0## s1-                !s3 = writeWord32OffAddr# a  4# 0## s2-                !s4 = writeWord32OffAddr# a  8# 0## s3-                !s5 = writeWord32OffAddr# a 12# 0## s4+            let !s2 = writeWord32OffAddr# a 0# 0## s1+                !s3 = writeWord32OffAddr# a 1# 0## s2+                !s4 = writeWord32OffAddr# a 2# 0## s3+                !s5 = writeWord32OffAddr# a 3# 0## s4              in (# s5, () #)         scrub32 a = IO $ \s1 ->-            let !s2 = writeWord32OffAddr# a  0# 0## s1-                !s3 = writeWord32OffAddr# a  4# 0## s2-                !s4 = writeWord32OffAddr# a  8# 0## s3-                !s5 = writeWord32OffAddr# a 12# 0## s4-                !s6 = writeWord32OffAddr# a 16# 0## s5-                !s7 = writeWord32OffAddr# a 20# 0## s6-                !s8 = writeWord32OffAddr# a 24# 0## s7-                !s9 = writeWord32OffAddr# a 28# 0## s8+            let !s2 = writeWord32OffAddr# a 0# 0## s1+                !s3 = writeWord32OffAddr# a 1# 0## s2+                !s4 = writeWord32OffAddr# a 2# 0## s3+                !s5 = writeWord32OffAddr# a 3# 0## s4+                !s6 = writeWord32OffAddr# a 4# 0## s5+                !s7 = writeWord32OffAddr# a 5# 0## s6+                !s8 = writeWord32OffAddr# a 6# 0## s7+                !s9 = writeWord32OffAddr# a 7# 0## s8              in (# s9, () #) #endif 
memory.cabal view
@@ -1,5 +1,5 @@ Name:                memory-Version:             0.6+Version:             0.7 Synopsis:            memory and related abtraction stuff Description:     Chunk of memory, polymorphic byte array management and manipulation
tests/Tests.hs view
@@ -122,7 +122,7 @@     ]  main = defaultMain $ testGroup "memory"-    [ localOption (QuickCheckTests 500) $ testGroupBackends "basic" basicProperties+    [ localOption (QuickCheckTests 5000) $ testGroupBackends "basic" basicProperties     , testGroupBackends "encoding" encodingTests     , testGroupBackends "parsing" parsingTests     , testGroupBackends "hashing" $ \witnessID ->@@ -133,7 +133,7 @@     basicProperties witnessID =         [ testProperty "unpack . pack == id" $ \(Words8 l) -> l == (B.unpack . witnessID . B.pack $ l)         , testProperty "self-eq" $ \(Words8 l) -> let b = witnessID . B.pack $ l in b == b-        , testProperty "empty-eq" $ \(Words8 l) ->+        , testProperty "add-empty-eq" $ \(Words8 l) ->             let b = witnessID $ B.pack l              in B.append b B.empty == b         , testProperty "zero" $ \(Positive n) ->