packages feed

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 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)