histogram-fill-0.6.0.1: Library for histograms creation.

Data.Histogram.Bin.BinF

Synopsis

# Generic and slow

data BinF f Source

Floaintg point bins with equal sizes.

Since `BinF` is paramentric it couldn't be unpacked. So ```BinF Double``` will be always slower than `BinD`. For roundtripping use:

``` b = binFstep (lowerLimit b) (binSize b) (nBins b)
```

Instances

 Typeable1 BinF RealFrac f => ConvertBin BinI (BinF f) RealFrac f => ConvertBin BinInt (BinF f) Data f => Data (BinF f) (Read f, RealFrac f) => Read (BinF f) Show f => Show (BinF f) NFData (BinF f) RealFrac f => UniformBin (BinF f) RealFrac f => VariableBin (BinF f) RealFrac f => MergeableBin (BinF f) RealFrac f => SliceableBin (BinF f) RealFrac f => Bin1D (BinF f) RealFrac f => IntervalBin (BinF f) RealFloat f => BinEq (BinF f) Equality is up to 2/3th of digits RealFrac f => Bin (BinF f)

Arguments

 :: RealFrac f => f Lower bound of range -> Int Number of bins -> f Upper bound of range -> BinF f

Create bins.

Arguments

 :: RealFrac f => f Begin of range -> f Size of step -> f Approximation of end of range -> BinF f

Create bins. Note that actual upper bound can differ from specified.

Arguments

 :: RealFrac f => f Begin of range -> f Size of step -> Int Number of bins -> BinF f

Create bins

scaleBinF :: (Show f, RealFrac f) => f -> f -> BinF f -> BinF fSource

'scaleBinF a b' scales BinF using linear transform 'a+b*x'

# Specialized for Double and fast

data BinD Source

Floaintg point bins with equal sizes. If you work with Doubles this data type should be used instead of `BinF`. Roundtripping is same as with `BinF`

Instances

 Data BinD Read BinD Show BinD Typeable BinD NFData BinD UniformBin BinD VariableBin BinD MergeableBin BinD SliceableBin BinD Bin1D BinD IntervalBin BinD BinEq BinD Equality is up to 3e-11 (2/3th of digits) Bin BinD ConvertBin BinI BinD ConvertBin BinInt BinD

Arguments

 :: Double Lower bound of range -> Int Number of bins -> Double Upper bound of range -> BinD

Create bins.

Arguments

 :: Double Begin of range -> Double Size of step -> Double Approximation of end of range -> BinD

Create bins. Note that actual upper bound can differ from specified.

Arguments

 :: Double Begin of range -> Double Size of step -> Int Number of bins -> BinD

Create bins

'scaleBinF a b' scales BinF using linear transform 'a+b*x'