packages feed

histogram-fill 0.7.3.0 → 0.7.4.0

raw patch · 3 files changed

+114/−8 lines, 3 filesdep ~vectorPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: vector

API changes (from Hackage documentation)

- Data.Histogram.Generic: instance (NFData a, NFData bin) => NFData (Histogram v bin a)
+ Data.Histogram: maxBin :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> BinValue bin
+ Data.Histogram: maxBinBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> BinValue bin
+ Data.Histogram: maxIndex :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> Int
+ Data.Histogram: maxIndexBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> Int
+ Data.Histogram: maximumBy :: (Bin bin, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> a
+ Data.Histogram: minBin :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> BinValue bin
+ Data.Histogram: minBinBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> BinValue bin
+ Data.Histogram: minIndex :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> Int
+ Data.Histogram: minIndexBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> Int
+ Data.Histogram: minimumBy :: (Bin bin, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> a
+ Data.Histogram.Generic: instance (NFData a, NFData bin, NFData (v a)) => NFData (Histogram v bin a)
+ Data.Histogram.Generic: maxBin :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> BinValue bin
+ Data.Histogram.Generic: maxBinBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> BinValue bin
+ Data.Histogram.Generic: maxIndex :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> Int
+ Data.Histogram.Generic: maxIndexBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> Int
+ Data.Histogram.Generic: maximumBy :: (Bin bin, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> a
+ Data.Histogram.Generic: minBin :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> BinValue bin
+ Data.Histogram.Generic: minBinBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> BinValue bin
+ Data.Histogram.Generic: minIndex :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> Int
+ Data.Histogram.Generic: minIndexBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> Int
+ Data.Histogram.Generic: minimumBy :: (Bin bin, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> a

Files

Data/Histogram.hs view
@@ -48,9 +48,20 @@     -- * Folding   , foldl   , bfoldl+    -- ** Specialized folds   , sum   , minimum+  , minimumBy   , maximum+  , maximumBy+  , minIndex+  , minIndexBy+  , maxIndex+  , maxIndexBy+  , minBin+  , minBinBy+  , maxBin+  , maxBinBy     -- * Slicing & rebinning   , slice   , rebin@@ -181,13 +192,47 @@ bfoldl = H.bfoldl  sum :: (Bin bin, Unbox a, Num a) => Histogram bin a -> a-sum = foldl (+) 0+sum = H.sum + minimum :: (Bin bin, Unbox a, Ord a) => Histogram bin a -> a minimum = H.minimum +minimumBy :: (Bin bin, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> a+minimumBy = H.minimumBy+ maximum :: (Bin bin, Unbox a, Ord a) => Histogram bin a -> a maximum = H.maximum++maximumBy :: (Bin bin, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> a+maximumBy = H.maximumBy+++minIndex :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> Int+minIndex = H.minIndex++minIndexBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> Int+minIndexBy = H.minIndexBy++maxIndex :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> Int+maxIndex = H.maxIndex++maxIndexBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> Int+maxIndexBy = H.maxIndexBy+++minBin :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> BinValue bin+minBin = H.minBin++minBinBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> BinValue bin+minBinBy = H.minBinBy++maxBin :: (Bin bin, Ord a, Unbox a) => Histogram bin a -> BinValue bin+maxBin = H.maxBin++maxBinBy :: (Bin bin, Ord a, Unbox a) => (a -> a -> Ordering) -> Histogram bin a -> BinValue bin+maxBinBy = H.maxBinBy+   ----------------------------------------------------------------
Data/Histogram/Generic.hs view
@@ -47,9 +47,20 @@     -- * Folding   , foldl   , bfoldl+    -- ** Specialized folds   , sum   , minimum+  , minimumBy   , maximum+  , maximumBy+  , minIndex+  , minIndexBy+  , maxIndex+  , maxIndexBy+  , minBin+  , minBinBy+  , maxBin+  , maxBinBy     -- * Slicing & rebinning   , slice   , rebin@@ -190,9 +201,9 @@  -- | Vector do not supply 'NFData' instance so let just 'seq' it and --   hope it's enough. Should be enough for unboxed vectors.-instance (NFData a, NFData bin) => NFData (Histogram v bin a) where-   rnf (Histogram bin uo vec) = -     rnf bin `seq` rnf uo `seq` seq vec ()+instance (NFData a, NFData bin, NFData (v a)) => NFData (Histogram v bin a) where+   rnf (Histogram bin uo vec) =+     rnf bin `seq` rnf uo `seq` rnf vec `seq` ()  -- | If vector is a functor then histogram is functor as well instance (Functor v) => Functor (Histogram v bin) where@@ -356,13 +367,57 @@ sum :: (Bin bin, Vector v a, Num a) => Histogram v bin a -> a sum = foldl (+) 0 --- | Maximal bin value++-- | Minimal bin content. minimum :: (Bin bin, Vector v a, Ord a) => Histogram v bin a -> a minimum = G.minimum . histData --- | Maximal bin value+-- | Minimal bin content using custom comparison.+minimumBy :: (Bin bin, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> a+minimumBy f = G.minimumBy f . histData++-- | Maximal bin content maximum :: (Bin bin, Vector v a, Ord a) => Histogram v bin a -> a maximum = G.maximum . histData++-- | Maximal bin content using custom comparison.+maximumBy :: (Bin bin, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> a+maximumBy f = G.maximumBy f . histData+++-- | Index of a bin with minimal content+minIndex :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> Int+minIndex = G.minIndex . histData++-- | Index of a bin with minimal content using custom comparison.+minIndexBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> Int+minIndexBy f = G.minIndexBy f . histData++-- | Index of a bin with maximal content+maxIndex :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> Int+maxIndex = G.maxIndex . histData++-- | Index of a bin with maximal content using custom comparison.+maxIndexBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> Int+maxIndexBy f = G.maxIndexBy f . histData+++-- | Value of a bin with minimal content+minBin :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> BinValue bin+minBin = minBinBy compare++-- | Value bin with minimal content using custom comparison.+minBinBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> BinValue bin+minBinBy f h = fromIndex (bins h) $ minIndexBy f h++-- | Value of a bin with maximal content+maxBin :: (Bin bin, Ord a, Vector v a) => Histogram v bin a -> BinValue bin+maxBin = maxBinBy compare++-- | Value of a bin with maximal content using custom comparison.+maxBinBy :: (Bin bin, Ord a, Vector v a) => (a -> a -> Ordering) -> Histogram v bin a -> BinValue bin+maxBinBy f h = fromIndex (bins h) $ maxIndexBy f h+   
histogram-fill.cabal view
@@ -1,5 +1,5 @@ Name:           histogram-fill-Version:        0.7.3.0+Version:        0.7.4.0 Synopsis:       Library for histograms creation. Description:       This is library for histograms filling. Its aim to provide@@ -7,6 +7,12 @@   .   Changes in 0.7.3.0   .+  * Function for searching for minimum/maximum added.+  .+  * @NFData@ instance is fixed.+  .+  Changes in 0.7.3.0+  .   * @mkStatefulBuilder@ is added and HBuilder constructor is exposed.   .   * Indexing operators for immutable histograms are added.@@ -77,7 +83,7 @@   Build-Depends:        base >=3 && <5,                         deepseq,                         primitive,-                        vector >= 0.7+                        vector >= 0.10.0.1   Exposed-modules:      Data.Histogram                         Data.Histogram.Generic                         Data.Histogram.Fill