hyperloglog 0.3.2 → 0.3.3
raw patch · 5 files changed
+30/−2 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.HyperLogLog.Config: instance Binary Config
+ Data.HyperLogLog.Config: instance Serial Config
+ Data.HyperLogLog.Type: instance Binary (HyperLogLog p)
+ Data.HyperLogLog.Type: instance Serial (HyperLogLog p)
Files
- .travis.yml +1/−0
- CHANGELOG.markdown +5/−0
- hyperloglog.cabal +1/−1
- src/Data/HyperLogLog/Config.hs +10/−0
- src/Data/HyperLogLog/Type.hs +13/−1
.travis.yml view
@@ -32,6 +32,7 @@ # build to fail. script: # -v2 provides useful information for debugging+ - cabal clean - cabal configure -v2 --enable-tests # this builds all libraries and executables
CHANGELOG.markdown view
@@ -1,3 +1,8 @@+0.3.3+-----+* Added `bytes` and `binary` instances.+* Compiles warning-free on GHC 7.10.+ 0.3.2 ----- * Simplified `reifyConfig` internals.
hyperloglog.cabal view
@@ -1,6 +1,6 @@ name: hyperloglog category: Numeric-version: 0.3.2+version: 0.3.3 license: BSD3 cabal-version: >= 1.8 license-file: LICENSE
src/Data/HyperLogLog/Config.hs view
@@ -55,14 +55,18 @@ ) where import Control.Lens+import Data.Binary import Data.Bits import Data.Bits.Extras+import Data.Bytes.Serial import Data.Proxy import Data.Reflection import Data.Serialize import Data.Vector.Serialize () import GHC.Int+#if __GLASGOW_HASKELL__ < 710 import GHC.Word+#endif import Generics.Deriving hiding (to, D) #ifdef USE_TYPE_LITS import GHC.TypeLits@@ -114,6 +118,12 @@ {-# INLINE config #-} instance Serialize Config -- serialize as a number?++instance Binary Config where+ put = serialize+ get = deserialize++instance Serial Config -- | Precalculate constants for a given bucketing factor b hll :: Int -> Config
src/Data/HyperLogLog/Type.hs view
@@ -59,15 +59,19 @@ import Data.Approximate.Type import Data.Bits import Data.Bits.Extras+import qualified Data.Binary as Binary+import Data.Binary import Data.Bytes.Put (runPutS) import Data.Bytes.Serial import Data.HyperLogLog.Config import Data.Proxy import Data.Semigroup-import Data.Serialize+import Data.Serialize as Serialize import qualified Data.Vector.Unboxed as V import qualified Data.Vector.Unboxed.Mutable as MV+#if __GLASGOW_HASKELL__ < 710 import Data.Word+#endif import Generics.Deriving hiding (D, to) import GHC.Int @@ -109,6 +113,14 @@ #endif instance Serialize (HyperLogLog p)++instance Serial (HyperLogLog p) where+ serialize (HyperLogLog v) = serialize (V.toList v)+ deserialize = liftM (HyperLogLog . V.fromList) deserialize++instance Binary (HyperLogLog p) where+ put (HyperLogLog v) = Binary.put (V.toList v)+ get = fmap (HyperLogLog . V.fromList) Binary.get class HasHyperLogLog a p | a -> p where hyperLogLog :: Lens' a (HyperLogLog p)