wide-word 0.1.0.2 → 0.1.0.3
raw patch · 4 files changed
+14/−8 lines, 4 filesdep ~hspec
Dependency ranges changed: hspec
Files
- ChangeLog.md +4/−0
- Data/WideWord/Int128.hs +4/−3
- Data/WideWord/Word128.hs +4/−3
- wide-word.cabal +2/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for wide-word +## 0.1.0.3 -- 2017-04-05++* Make it build with ghc 8.2.+ ## 0.1.0.2 -- 2017-02-08 * Add NFData instances for Word128 and Int128.
Data/WideWord/Int128.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE BangPatterns #-} {-# LANGUAGE CPP #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -200,7 +201,7 @@ plus128 (Int128 (W64# a1) (W64# a0)) (Int128 (W64# b1) (W64# b0)) = Int128 (W64# s1) (W64# s0) where- (# c1, s0 #) = plusWord2# a0 b0+ !(# c1, s0 #) = plusWord2# a0 b0 s1a = plusWord# a1 b1 s1 = plusWord# c1 s1a @@ -209,7 +210,7 @@ minus128 (Int128 (W64# a1) (W64# a0)) (Int128 (W64# b1) (W64# b0)) = Int128 (W64# d1) (W64# d0) where- (# d0, c1 #) = subWordC# a0 b0+ !(# d0, c1 #) = subWordC# a0 b0 a1c = minusWord# a1 (int2Word# c1) d1 = minusWord# a1c b1 @@ -217,7 +218,7 @@ times128 (Int128 (W64# a1) (W64# a0)) (Int128 (W64# b1) (W64# b0)) = Int128 (W64# p1) (W64# p0) where- (# c1, p0 #) = timesWord2# a0 b0+ !(# c1, p0 #) = timesWord2# a0 b0 p1a = timesWord# a1 b0 p1b = timesWord# a0 b1 p1c = plusWord# p1a p1b
Data/WideWord/Word128.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE BangPatterns #-} {-# LANGUAGE CPP #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE StrictData #-}@@ -204,7 +205,7 @@ plus128 (Word128 (W64# a1) (W64# a0)) (Word128 (W64# b1) (W64# b0)) = Word128 (W64# s1) (W64# s0) where- (# c1, s0 #) = plusWord2# a0 b0+ !(# c1, s0 #) = plusWord2# a0 b0 s1a = plusWord# a1 b1 s1 = plusWord# c1 s1a @@ -213,7 +214,7 @@ minus128 (Word128 (W64# a1) (W64# a0)) (Word128 (W64# b1) (W64# b0)) = Word128 (W64# d1) (W64# d0) where- (# d0, c1 #) = subWordC# a0 b0+ !(# d0, c1 #) = subWordC# a0 b0 a1c = minusWord# a1 (int2Word# c1) d1 = minusWord# a1c b1 @@ -221,7 +222,7 @@ times128 (Word128 (W64# a1) (W64# a0)) (Word128 (W64# b1) (W64# b0)) = Word128 (W64# p1) (W64# p0) where- (# c1, p0 #) = timesWord2# a0 b0+ !(# c1, p0 #) = timesWord2# a0 b0 p1a = timesWord# a1 b0 p1b = timesWord# a0 b1 p1c = plusWord# p1a p1b
wide-word.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: wide-word-version: 0.1.0.2+version: 0.1.0.3 synopsis: Data types for large but fixed width signed and unsigned integers description: A library to provide data types for large (ie > 64 bits) but fixed width signed@@ -50,6 +50,6 @@ build-depends: base >= 4.8 && < 5.0 , bytestring >= 0.10 , ghc-prim- , hspec == 2.3.*+ , hspec >= 2.3 && < 2.5 , QuickCheck == 2.9.* , wide-word