-- |
-- Module    : Statistics.Types
-- Copyright : (c) 2009 Bryan O'Sullivan
-- License   : BSD3
--
-- Maintainer  : bos@serpentine.com
-- Stability   : experimental
-- Portability : portable
--
-- Types for working with statistics.

module Statistics.Types
    (
      Estimator
    , Sample
    , WeightedSample
    , Weights
    ) where

import qualified Data.Vector.Unboxed as U (Vector)

-- | Sample data.
type Sample = U.Vector Double

-- | Sample with weights. First element of sample is data, second is weight
type WeightedSample = U.Vector (Double,Double)

-- | A function that estimates a property of a sample, such as its
-- 'mean'.
type Estimator = Sample -> Double

-- | Weights for affecting the importance of elements of a sample.
type Weights = U.Vector Double