histogram-fill-0.9.1.0: Library for histograms creation.
CopyrightCopyright (c) 2009 Alexey Khudyakov <[email protected]>
LicenseBSD3
MaintainerAlexey Khudyakov <[email protected]>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

Data.Histogram.ST

Description

Mutable histograms.

Synopsis

Mutable histograms

data MHistogram s (v :: Type -> Type -> Type) bin a Source #

Mutable histogram.

newMHistogram :: forall m bin (v :: Type -> Type -> Type) a. (PrimMonad m, Bin bin, MVector v a) => a -> bin -> m (MHistogram (PrimState m) v bin a) Source #

Create new mutable histogram. All bins are set to zero element as passed to function.

fill Source #

Arguments

:: forall m (v :: Type -> Type -> Type) a bin b. (PrimMonad m, MVector v a, Bin bin) 
=> MHistogram (PrimState m) v bin a

Mutable histogram to put value to

-> BinValue bin

Value being binned

-> (a -> b -> a)

Fold function

-> b

Value being put into histogram

-> m () 

Generic fill. It could be seen as left fold with multiple accumulators where accumulator is chosen by BinValue bin.

unsafeFreezeHist :: forall m (v :: Type -> Type) a bin. (PrimMonad m, Vector v a, Bin bin) => MHistogram (PrimState m) (Mutable v) bin a -> m (Histogram v bin a) Source #

Create immutable histogram from mutable one. This operation is unsafe! Accumulator mustn't be used after that

freezeHist :: forall m (v :: Type -> Type) a bin. (PrimMonad m, Vector v a, Bin bin) => MHistogram (PrimState m) (Mutable v) bin a -> m (Histogram v bin a) Source #

Create immutable histogram from mutable one.