Copyright | (c) A. V. H. McPhail 2010 |
---|---|
License | BSD3 |
Maintainer | haskell.vivian.mcphail <at> gmail <dot> com |
Stability | provisional |
Portability | uses ffi |
Safe Haskell | None |
Language | Haskell2010 |
GSL histogram functions
- data Histogram
- emptyRanges :: Vector Double -> Histogram
- emptyLimits :: Int -> (Double, Double) -> Histogram
- fromRanges :: Vector Double -> Vector Double -> Histogram
- fromLimits :: Int -> (Double, Double) -> Vector Double -> Histogram
- addList :: Histogram -> [Double] -> Histogram
- addVector :: Histogram -> Vector Double -> Histogram
- addListWeighted :: Histogram -> [(Double, Double)] -> Histogram
- addVectorWeighted :: Histogram -> Vector Double -> Vector Double -> Histogram
- toVectors :: Histogram -> (Vector Double, Vector Double)
- fromVectors :: Vector Double -> Vector Double -> Histogram
- getBin :: Histogram -> Int -> Double
- getRange :: Histogram -> Int -> (Double, Double)
- getMax :: Histogram -> Double
- getMin :: Histogram -> Double
- getBins :: Histogram -> Int
- find :: Histogram -> Double -> Maybe Int
- count :: Histogram -> Vector Double -> Vector Double
- prob :: Histogram -> Vector Double -> Vector Double
- countInstance :: Histogram -> Double -> Double
- probability :: Histogram -> Double -> Double
- maxVal :: Histogram -> Double
- maxBin :: Histogram -> Int
- minVal :: Histogram -> Double
- minBin :: Histogram -> Int
- mean :: Histogram -> Double
- stddev :: Histogram -> Double
- sum :: Histogram -> Double
- equalBins :: Histogram -> Histogram -> Bool
- add :: Histogram -> Histogram -> Histogram
- subtract :: Histogram -> Histogram -> Histogram
- multiply :: Histogram -> Histogram -> Histogram
- divide :: Histogram -> Histogram -> Histogram
- shift :: Histogram -> Double -> Histogram
- scale :: Histogram -> Double -> Histogram
- fwriteHistogram :: FilePath -> Histogram -> IO ()
- freadHistogram :: FilePath -> Int -> IO Histogram
- fprintfHistogram :: FilePath -> String -> String -> Histogram -> IO ()
- fscanfHistogram :: FilePath -> Int -> IO Histogram
- data HistogramPDF
- fromHistogram :: Histogram -> HistogramPDF
- sample :: HistogramPDF -> Double -> Double
Creation
create a histogram with n bins from ranges (x0->x1),(x1->x2)..(xn->xn+1)
create a histogram with n bins and lower and upper limits
create a histogram with n bins from ranges (x0->x1),(x1->x2)..(xn->xn+1) and increment from a vector
create a histogram with n bins and lower and upper limits and increment from a vector
Loading
addList :: Histogram -> [Double] -> Histogram Source
adds 1.0 to the correct bin for each element of the list
addVector :: Histogram -> Vector Double -> Histogram Source
adds 1.0 to the correct bin for each element of the vector
addListWeighted :: Histogram -> [(Double, Double)] -> Histogram Source
adds the appropriate weight for each element of the list
addVectorWeighted :: Histogram -> Vector Double -> Vector Double -> Histogram Source
adds the appropriate weight for each element of the list
Marshalling
extract the ranges and bin weights
fromVectors :: Vector Double -> Vector Double -> Histogram Source
create a histogram from the ranges and bin weights
Information
getRange :: Histogram -> Int -> (Double, Double) Source
returns the upper and lower limits of the i-th bin
Querying
count :: Histogram -> Vector Double -> Vector Double Source
find the number of occurences for each element of the input vector
prob :: Histogram -> Vector Double -> Vector Double Source
find the probability of occurring for each element of the input vector
countInstance :: Histogram -> Double -> Double Source
find the number of occurences for the input
probability :: Histogram -> Double -> Double Source
find the probability of the input
Statistics
stddev :: Histogram -> Double Source
the standard deviation of the values, accuracy limited by bin width
equalBins :: Histogram -> Histogram -> Bool Source
returns True of all the individual bin ranges of the two histograms are identical
Mathematics
add :: Histogram -> Histogram -> Histogram Source
adds the contents of the bins of the second histogram to the first
subtract :: Histogram -> Histogram -> Histogram Source
subtracts the contents of the bins of the second histogram from the first
multiply :: Histogram -> Histogram -> Histogram Source
multiplies the contents of the bins of the second histogram by the first
divide :: Histogram -> Histogram -> Histogram Source
divides the contents of the bins of the first histogram by the second
Files
fwriteHistogram :: FilePath -> Histogram -> IO () Source
write a histogram in the native binary format (may not be portable)
freadHistogram :: FilePath -> Int -> IO Histogram Source
read a histogram in the native binary format, number of bins must be known
fprintfHistogram :: FilePath -> String -> String -> Histogram -> IO () Source
saves the histogram with the given formats (%f,%e,%g) for ranges and bins each line comprises: range[i] range[i+1] bin[i]
fscanfHistogram :: FilePath -> Int -> IO Histogram Source
reads formatted data as written by fprintf, the number of bins must be known in advance
data HistogramPDF Source
A histogram-derived cumulative distribution function (CDF)
fromHistogram :: Histogram -> HistogramPDF Source
create a histogram PDF from a histogram
sample :: HistogramPDF -> Double -> Double Source
given a random number from the uniform distribution [0,1], draw a random sample from the PDF