histogram-fill 0.7.1.0 → 0.7.2.0
raw patch · 2 files changed
+20/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Histogram.Bin.MaybeBin: fromMaybeBin :: (Bin b, Vector v a) => Histogram v (MaybeBin b) a -> Histogram v b a
Files
- Data/Histogram/Bin/MaybeBin.hs +15/−3
- histogram-fill.cabal +5/−1
Data/Histogram/Bin/MaybeBin.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Data.Histogram.Bin.MaybeBin ( MaybeBin(..)+ , fromMaybeBin ) where import Control.Monad (liftM)@@ -11,21 +12,25 @@ import Data.Histogram.Bin.Classes import Data.Histogram.Bin.Read+import qualified Data.Vector.Generic as G+import qualified Data.Histogram.Generic as H + -- | This binning algorithms adds special case of no value. newtype MaybeBin bin = MaybeBin bin deriving (BinEq,Eq,Typeable) instance Bin bin => Bin (MaybeBin bin) where- type BinValue (MaybeBin bin) = Maybe (BinValue bin)+ type BinValue (MaybeBin bin) = Maybe (BinValue bin) toIndex _ Nothing = 0 toIndex (MaybeBin b) (Just x) = 1 + toIndex b x-+ {-# INLINE toIndex #-} fromIndex _ 0 = Nothing fromIndex (MaybeBin b) i = Just (fromIndex b (i-1))-+ {-# INLINE fromIndex #-} nBins (MaybeBin b) = 1 + nBins b+ {-# INLINE nBins #-} instance VariableBin bin => VariableBin (MaybeBin bin) where binSizeN _ 0 = Nothing@@ -38,3 +43,10 @@ readPrec = do keyword "MaybeBin" liftM MaybeBin readPrec+++-- | Drop bin with no events+fromMaybeBin :: (Bin b, G.Vector v a) => H.Histogram v (MaybeBin b) a -> H.Histogram v b a+fromMaybeBin h = H.histogram b (G.tail $ H.histData h)+ where+ MaybeBin b = H.bins h
histogram-fill.cabal view
@@ -1,9 +1,13 @@ Name: histogram-fill-Version: 0.7.1.0+Version: 0.7.2.0 Synopsis: Library for histograms creation. Description: This is library for histograms filling. Its aim to provide convenient way to create and fill histograms. + .+ Changes in 0.7.2.0+ .+ * fromMaybeBin added. . Changes in 0.7.1.0 .