random-mhs 1.3.1 → 1.3.1.1
raw patch · 2 files changed
+13/−10 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- random-mhs.cabal +1/−1
- src/System/Random/Array.hs +12/−9
random-mhs.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name: random-mhs-version: 1.3.1+version: 1.3.1.1 license: BSD3 license-file: LICENSE maintainer: lennart@augustsson.net
src/System/Random/Array.hs view
@@ -238,14 +238,15 @@ {-# INLINE writeArray #-} #else /* !defined(__MHS__) */-import qualified Data.Array as A import Data.Array.Byte import Data.Bits import Data.ByteString(ByteString) import Data.ByteString.Short.Internal-import qualified Data.STArray as SA import Data.Word+import qualified Mhs.Arr as A+import qualified Mhs.MutArr as SA import GHC.Exts(unsafeIOToST)+import System.IO.Unsafe(unsafePerformIO) wordSizeInBits :: Int wordSizeInBits = _wordSize@@ -280,23 +281,25 @@ -------- -type Array a = A.Array Int a-type MutableArray s a = SA.STArray s a+type Array a = A.Arr a+type MutableArray s a = SA.MutSTArr s a newMutableArray :: Int -> a -> ST s (MutableArray s a)-newMutableArray = SA.newSTArray+newMutableArray = SA.newMutSTArr freezeMutableArray :: MutableArray s a -> ST s (Array a)-freezeMutableArray = SA.freezeSTArray+freezeMutableArray a = A.copyArr <$> A.unsafeFreezeMutSTArr a sizeOfMutableArray :: MutableArray s a -> Int-sizeOfMutableArray = SA.sizeSTArray+sizeOfMutableArray (SA.MutSTArr a) = unsafePerformIO (SA.sizeMutIOArr a) readArray :: MutableArray s a -> Int -> ST s a-readArray = SA.readSTArray+readArray a i | i < 0 || i >= sizeOfMutableArray a = error "readArray"+ | otherwise = SA.unsafeReadMutSTArr a i writeArray :: MutableArray s a -> Int -> a -> ST s ()-writeArray = SA.writeSTArray+writeArray a i x | i < 0 || i >= sizeOfMutableArray a = error "writeArray"+ | otherwise = SA.unsafeWriteMutSTArr a i x #endif /* !defined(__MHS__) */