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

Statistics.Odds

Description

Provides newtypes for odds, log-odds, and discretized versions.

TODO This is currently quite ad-hoc and needs better formalization. In particular in terms of wrapping and usage of Num and Semiring.

Synopsis

Documentation

newtype Odds Source #

Odds.

Constructors

Odds 

Fields

Instances

Instances details
Generic Odds Source # 
Instance details

Defined in Statistics.Odds

Associated Types

type Rep Odds 
Instance details

Defined in Statistics.Odds

type Rep Odds = D1 ('MetaData "Odds" "Statistics.Odds" "SciBaseTypes-0.1.1.0-FRZ2gLchi8JEg290w5UtiW" 'True) (C1 ('MetaCons "Odds" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOdds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

Methods

from :: Odds -> Rep Odds x #

to :: Rep Odds x -> Odds #

Num Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

(+) :: Odds -> Odds -> Odds #

(-) :: Odds -> Odds -> Odds #

(*) :: Odds -> Odds -> Odds #

negate :: Odds -> Odds #

abs :: Odds -> Odds #

signum :: Odds -> Odds #

fromInteger :: Integer -> Odds #

Read Odds Source # 
Instance details

Defined in Statistics.Odds

Show Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

showsPrec :: Int -> Odds -> ShowS #

show :: Odds -> String #

showList :: [Odds] -> ShowS #

NFData Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

rnf :: Odds -> () #

Eq Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

(==) :: Odds -> Odds -> Bool #

(/=) :: Odds -> Odds -> Bool #

Ord Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

compare :: Odds -> Odds -> Ordering #

(<) :: Odds -> Odds -> Bool #

(<=) :: Odds -> Odds -> Bool #

(>) :: Odds -> Odds -> Bool #

(>=) :: Odds -> Odds -> Bool #

max :: Odds -> Odds -> Odds #

min :: Odds -> Odds -> Odds #

Semiring Odds Source # 
Instance details

Defined in Statistics.Odds

Methods

plus :: Odds -> Odds -> Odds #

zero :: Odds #

times :: Odds -> Odds -> Odds #

one :: Odds #

fromNatural :: Natural -> Odds #

type Rep Odds Source # 
Instance details

Defined in Statistics.Odds

type Rep Odds = D1 ('MetaData "Odds" "Statistics.Odds" "SciBaseTypes-0.1.1.0-FRZ2gLchi8JEg290w5UtiW" 'True) (C1 ('MetaCons "Odds" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOdds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

newtype DiscLogOdds (t :: k) Source #

Encodes log-odds that have been rounded or clamped to integral numbers. One advantage this provides is more efficient "maximum/minimum" calculations compared to using Doubles.

Note that these are "explicit" log-odds. Each numeric operation uses the underlying operation on Int. If you want automatic handling, choose Log Odds.

Constructors

DiscLogOdds 

Instances

Instances details
Vector Vector (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

basicUnsafeFreeze :: Mutable Vector s (DiscLogOdds t) -> ST s (Vector (DiscLogOdds t))

basicUnsafeThaw :: Vector (DiscLogOdds t) -> ST s (Mutable Vector s (DiscLogOdds t))

basicLength :: Vector (DiscLogOdds t) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (DiscLogOdds t) -> Vector (DiscLogOdds t)

basicUnsafeIndexM :: Vector (DiscLogOdds t) -> Int -> Box (DiscLogOdds t)

basicUnsafeCopy :: Mutable Vector s (DiscLogOdds t) -> Vector (DiscLogOdds t) -> ST s ()

elemseq :: Vector (DiscLogOdds t) -> DiscLogOdds t -> b -> b

MVector MVector (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

basicLength :: MVector s (DiscLogOdds t) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (DiscLogOdds t) -> MVector s (DiscLogOdds t)

basicOverlaps :: MVector s (DiscLogOdds t) -> MVector s (DiscLogOdds t) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (DiscLogOdds t))

basicInitialize :: MVector s (DiscLogOdds t) -> ST s ()

basicUnsafeReplicate :: Int -> DiscLogOdds t -> ST s (MVector s (DiscLogOdds t))

basicUnsafeRead :: MVector s (DiscLogOdds t) -> Int -> ST s (DiscLogOdds t)

basicUnsafeWrite :: MVector s (DiscLogOdds t) -> Int -> DiscLogOdds t -> ST s ()

basicClear :: MVector s (DiscLogOdds t) -> ST s ()

basicSet :: MVector s (DiscLogOdds t) -> DiscLogOdds t -> ST s ()

basicUnsafeCopy :: MVector s (DiscLogOdds t) -> MVector s (DiscLogOdds t) -> ST s ()

basicUnsafeMove :: MVector s (DiscLogOdds t) -> MVector s (DiscLogOdds t) -> ST s ()

basicUnsafeGrow :: MVector s (DiscLogOdds t) -> Int -> ST s (MVector s (DiscLogOdds t))

Info (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

info :: DiscLogOdds t -> String #

NumericLimits (Discretized t) => NumericLimits (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

FromJSON (Discretized t) => FromJSON (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

ToJSON (Discretized t) => ToJSON (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Generic (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Associated Types

type Rep (DiscLogOdds t) 
Instance details

Defined in Statistics.Odds

type Rep (DiscLogOdds t) = D1 ('MetaData "DiscLogOdds" "Statistics.Odds" "SciBaseTypes-0.1.1.0-FRZ2gLchi8JEg290w5UtiW" 'True) (C1 ('MetaCons "DiscLogOdds" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDiscLogOdds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Discretized t))))

Methods

from :: DiscLogOdds t -> Rep (DiscLogOdds t) x #

to :: Rep (DiscLogOdds t) x -> DiscLogOdds t #

Num (Discretized t) => Num (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Read (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Fractional (Discretized t) => Fractional (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Real (Discretized t) => Real (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Show (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Binary (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

put :: DiscLogOdds t -> Put #

get :: Get (DiscLogOdds t) #

putList :: [DiscLogOdds t] -> Put #

Serialize (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

put :: Putter (DiscLogOdds t) #

get :: Get (DiscLogOdds t) #

NFData (Discretized t) => NFData (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

rnf :: DiscLogOdds t -> () #

Eq (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Ord (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Hashable (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Methods

hashWithSalt :: Int -> DiscLogOdds t -> Int #

hash :: DiscLogOdds t -> Int #

Semiring (Discretized t) => Semiring (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

Unbox (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

newtype MVector s (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

newtype MVector s (DiscLogOdds t) = MV_DiscretizedLogOdds (MVector s Int)
type Rep (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

type Rep (DiscLogOdds t) = D1 ('MetaData "DiscLogOdds" "Statistics.Odds" "SciBaseTypes-0.1.1.0-FRZ2gLchi8JEg290w5UtiW" 'True) (C1 ('MetaCons "DiscLogOdds" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDiscLogOdds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Discretized t))))
newtype Vector (DiscLogOdds t) Source # 
Instance details

Defined in Statistics.Odds

newtype Vector (DiscLogOdds t) = V_DiscretizedLogOdds (Vector Int)