primitive-unaligned 0.1.1.1 → 0.1.1.2
raw patch · 2 files changed
+35/−9 lines, 2 filesdep ~basedep ~primitivePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, primitive
API changes (from Hackage documentation)
Files
primitive-unaligned.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: primitive-unaligned-version: 0.1.1.1+version: 0.1.1.2 synopsis: Unaligned access to primitive arrays description: Unaligned access to primitive arrays. The offsets are given in bytes rather than elements. homepage: https://github.com/haskell-primitive/primitive-unaligned@@ -22,9 +22,9 @@ , base >=4.12.0.0 && <5 , primitive >=0.6.4 && <0.8 hs-source-dirs: src- if arch(x86_64) || arch(aarch64) || arch(ppc64)+ if arch(aarch64) || arch(alpha) || arch(ia64) || arch(ppc64) || arch(x86_64) hs-source-dirs: src-64- if arch(i386) || arch(arm)+ if arch(arm) || arch(hppa) || arch(i386) || arch(m68k) || arch(mips) || arch(rs6000) || arch(s390) || arch(sparc) || arch(vax) hs-source-dirs: src-32 ghc-options: -Wall -O2 default-language: Haskell2010
src-64/Data/Primitive/Unaligned/Mach.hs view
@@ -1,3 +1,4 @@+{-# language CPP #-} {-# language MagicHash #-} {-# language UnboxedTuples #-} @@ -17,11 +18,19 @@ indexUnalignedWord64Array# :: ByteArray# -> Int# -> Word64 indexUnalignedWord64Array# a i =- W64# (E.indexWord8ArrayAsWord# a i)+ W64# (+#if MIN_VERSION_base(4,17,0)+ E.wordToWord64#+#endif+ (E.indexWord8ArrayAsWord# a i)) indexUnalignedInt64Array# :: ByteArray# -> Int# -> Int64 indexUnalignedInt64Array# a i =- I64# (E.indexWord8ArrayAsInt# a i)+ I64# (+#if MIN_VERSION_base(4,17,0)+ E.intToInt64#+#endif+ (E.indexWord8ArrayAsInt# a i)) readUnalignedWord64Array# :: MutableByteArray# s@@ -30,7 +39,12 @@ -> (# State# s, Word64 #) readUnalignedWord64Array# a i s0 = case E.readWord8ArrayAsWord# a i s0 of- (# s1, r #) -> (# s1, W64# r #)+ (# s1, r #) -> (# s1, W64# (+#if MIN_VERSION_base(4,17,0)+ E.wordToWord64#+#endif+ r)+ #) readUnalignedInt64Array# :: MutableByteArray# s@@ -39,7 +53,11 @@ -> (# State# s, Int64 #) readUnalignedInt64Array# a i s0 = case E.readWord8ArrayAsInt# a i s0 of- (# s1, r #) -> (# s1, I64# r #)+ (# s1, r #) -> (# s1, I64# (+#if MIN_VERSION_base(4,17,0)+ E.intToInt64#+#endif+ r) #) writeUnalignedWord64Array# :: MutableByteArray# s@@ -48,7 +66,11 @@ -> State# s -> State# s writeUnalignedWord64Array# a i (W64# w) =- E.writeWord8ArrayAsWord# a i w+ E.writeWord8ArrayAsWord# a i (+#if MIN_VERSION_base(4,17,0)+ E.word64ToWord#+#endif+ w) writeUnalignedInt64Array# :: MutableByteArray# s@@ -57,4 +79,8 @@ -> State# s -> State# s writeUnalignedInt64Array# a i (I64# w) =- E.writeWord8ArrayAsInt# a i w+ E.writeWord8ArrayAsInt# a i (+#if MIN_VERSION_base(4,17,0)+ E.int64ToInt#+#endif+ w)