SciBaseTypes-0.1.1.0: Base types and classes for statistics, sciences and humanities
Safe HaskellNone
LanguageHaskell2010

Statistics.Probability

Description

Probability-related types.

TODO instances for serialization and further stuff TODO vector instances

Synopsis

Documentation

Probability in linear space

newtype Probability (n :: IsNormalized) x Source #

Prob wraps a Double that encodes probabilities. If Prob is tagged as Normalized, the contained values are in the range [0,...,1], otherwise they are in the range [0,...,∞].

Constructors

Prob 

Fields

Instances

Instances details
Unbox x => Vector Vector (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

basicUnsafeFreeze :: Mutable Vector s (Probability n x) -> ST s (Vector (Probability n x))

basicUnsafeThaw :: Vector (Probability n x) -> ST s (Mutable Vector s (Probability n x))

basicLength :: Vector (Probability n x) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Probability n x) -> Vector (Probability n x)

basicUnsafeIndexM :: Vector (Probability n x) -> Int -> Box (Probability n x)

basicUnsafeCopy :: Mutable Vector s (Probability n x) -> Vector (Probability n x) -> ST s ()

elemseq :: Vector (Probability n x) -> Probability n x -> b -> b

Unbox x => MVector MVector (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

basicLength :: MVector s (Probability n x) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Probability n x) -> MVector s (Probability n x)

basicOverlaps :: MVector s (Probability n x) -> MVector s (Probability n x) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Probability n x))

basicInitialize :: MVector s (Probability n x) -> ST s ()

basicUnsafeReplicate :: Int -> Probability n x -> ST s (MVector s (Probability n x))

basicUnsafeRead :: MVector s (Probability n x) -> Int -> ST s (Probability n x)

basicUnsafeWrite :: MVector s (Probability n x) -> Int -> Probability n x -> ST s ()

basicClear :: MVector s (Probability n x) -> ST s ()

basicSet :: MVector s (Probability n x) -> Probability n x -> ST s ()

basicUnsafeCopy :: MVector s (Probability n x) -> MVector s (Probability n x) -> ST s ()

basicUnsafeMove :: MVector s (Probability n x) -> MVector s (Probability n x) -> ST s ()

basicUnsafeGrow :: MVector s (Probability n x) -> Int -> ST s (MVector s (Probability n x))

FromJSON x => FromJSON (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

ToJSON x => ToJSON (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Enum x => Enum (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Floating x => Floating (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

RealFloat x => RealFloat (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Generic (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Associated Types

type Rep (Probability n x) 
Instance details

Defined in Statistics.Probability

type Rep (Probability n x) = D1 ('MetaData "Probability" "Statistics.Probability" "SciBaseTypes-0.1.1.0-1xwI5lgJSL658be1CNPDY6" 'True) (C1 ('MetaCons "Prob" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProb") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 x)))

Methods

from :: Probability n x -> Rep (Probability n x) x0 #

to :: Rep (Probability n x) x0 -> Probability n x #

Num x => Num (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Read x => Read (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Fractional x => Fractional (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Real x => Real (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

toRational :: Probability n x -> Rational #

RealFrac x => RealFrac (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

properFraction :: Integral b => Probability n x -> (b, Probability n x) #

truncate :: Integral b => Probability n x -> b #

round :: Integral b => Probability n x -> b #

ceiling :: Integral b => Probability n x -> b #

floor :: Integral b => Probability n x -> b #

Show x => Show (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

showsPrec :: Int -> Probability n x -> ShowS #

show :: Probability n x -> String #

showList :: [Probability n x] -> ShowS #

NFData x => NFData (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

rnf :: Probability n x -> () #

Eq x => Eq (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

(==) :: Probability n x -> Probability n x -> Bool #

(/=) :: Probability n x -> Probability n x -> Bool #

Ord x => Ord (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

Methods

compare :: Probability n x -> Probability n x -> Ordering #

(<) :: Probability n x -> Probability n x -> Bool #

(<=) :: Probability n x -> Probability n x -> Bool #

(>) :: Probability n x -> Probability n x -> Bool #

(>=) :: Probability n x -> Probability n x -> Bool #

max :: Probability n x -> Probability n x -> Probability n x #

min :: Probability n x -> Probability n x -> Probability n x #

Num r => Semiring (Probability n r) Source # 
Instance details

Defined in Statistics.Probability

Unbox x => Unbox (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

newtype MVector s (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

newtype MVector s (Probability n x) = MV_Probability (MVector s x)
type Rep (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

type Rep (Probability n x) = D1 ('MetaData "Probability" "Statistics.Probability" "SciBaseTypes-0.1.1.0-1xwI5lgJSL658be1CNPDY6" 'True) (C1 ('MetaCons "Prob" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProb") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 x)))
newtype Vector (Probability n x) Source # 
Instance details

Defined in Statistics.Probability

newtype Vector (Probability n x) = V_Probability (Vector x)

prob :: (Ord x, Num x, Show x) => x -> Probability 'Normalized x Source #

Turns a value into a normalized probability. error if the value is not in the range [0,...,1].

prob' :: (Ord x, Num x, Show x) => x -> Probability 'NotNormalized x Source #

Simple wrapper around Probability that fixes non-normalization.

probabilityToChar :: (Num k, RealFrac k) => Probability 'Normalized k -> Char Source #

This simple function represents probabilities with characters between '0' 0.0 -- 0.05 up to '9' 0.85 -- 0.95 and finally * for >0.95.