hakaru-0.6.0: A probabilistic programming language

Safe HaskellNone
LanguageHaskell2010

Language.Hakaru.Runtime.LogFloatPrelude

Contents

Documentation

type family MinBoxVec (v1 :: * -> *) (v2 :: * -> *) :: * -> * Source #

Instances
type MinBoxVec v Vector Source # 
Instance details
type MinBoxVec v Vector = Vector
type MinBoxVec Vector Vector Source # 
Instance details
type MinBoxVec Vector Vector = Vector
type MinBoxVec Vector v Source # 
Instance details
type MinBoxVec Vector v = Vector

type family MayBoxVec a :: * -> * Source #

Instances
type MayBoxVec Bool Source # 
Instance details
type MayBoxVec Bool = Vector
type MayBoxVec Double Source # 
Instance details
type MayBoxVec Double = Vector
type MayBoxVec Int Source # 
Instance details
type MayBoxVec Int = Vector
type MayBoxVec () Source # 
Instance details
type MayBoxVec () = Vector
type MayBoxVec LogFloat Source # 
Instance details
type MayBoxVec LogFloat = Vector
type MayBoxVec (Vector a) Source # 
Instance details
type MayBoxVec (Vector a) = Vector
type MayBoxVec (Vector a) Source # 
Instance details
type MayBoxVec (Vector a) = Vector
type MayBoxVec (a, b) Source # 
Instance details
type MayBoxVec (a, b) = MinBoxVec (MayBoxVec a) (MayBoxVec b)

type Prob = LogFloat Source #

lam :: (a -> b) -> a -> b Source #

app :: (a -> b) -> a -> b Source #

let_ :: a -> (a -> b) -> b Source #

ann_ :: a -> b -> b Source #

plate :: Vector (MayBoxVec a) a => Int -> (Int -> Measure a) -> Measure (MayBoxVec a a) Source #

bucket :: Int -> Int -> (forall s. Reducer () s a) -> a Source #

data Reducer xs s a Source #

Constructors

Reducer 

Fields

r_fanout :: Reducer xs s a -> Reducer xs s b -> Reducer xs s (a, b) Source #

r_index :: Vector (MayBoxVec a) a => (xs -> Int) -> ((Int, xs) -> Int) -> Reducer (Int, xs) s a -> Reducer xs s (MayBoxVec a a) Source #

r_split :: ((Int, xs) -> Bool) -> Reducer xs s a -> Reducer xs s b -> Reducer xs s (a, b) Source #

r_add :: Num a => ((Int, xs) -> a) -> Reducer xs s a Source #

r_nop :: Reducer xs s () Source #

pair :: a -> b -> (a, b) Source #

just :: a -> Maybe a Source #

left :: a -> Either a b Source #

right :: b -> Either a b Source #

unit :: () Source #

data Pattern Source #

Constructors

PVar 
PWild 

newtype Branch a b Source #

Constructors

Branch 

Fields

extractBool :: Bool -> a -> Bool -> Maybe a Source #

pnothing :: b -> Branch (Maybe a) b Source #

pjust :: Pattern -> (a -> b) -> Branch (Maybe a) b Source #

pleft :: Pattern -> (a -> c) -> Branch (Either a b) c Source #

pright :: Pattern -> (b -> c) -> Branch (Either a b) c Source #

ppair :: Pattern -> Pattern -> (x -> y -> b) -> Branch (x, y) b Source #

uncase_ :: Maybe a -> a Source #

case_ :: a -> [Branch a b] -> b Source #

branch :: (c -> Branch a b) -> c -> Branch a b Source #

dirac :: a -> Measure a Source #

abs_ :: Num a => a -> a Source #

array :: Vector (MayBoxVec a) a => Int -> (Int -> a) -> MayBoxVec a a Source #

arrayLit :: Vector (MayBoxVec a) a => [a] -> MayBoxVec a a Source #

(!) :: Vector (MayBoxVec a) a => MayBoxVec a a -> Int -> a Source #

size :: Vector (MayBoxVec a) a => MayBoxVec a a -> Int Source #

reduce :: Vector (MayBoxVec a) a => (a -> a -> a) -> a -> MayBoxVec a a -> a Source #

class Num a => Num' a where Source #

Methods

product :: Int -> Int -> (Int -> a) -> a Source #

summate :: Int -> Int -> (Int -> a) -> a Source #

Instances
Num' Double Source # 
Instance details

Methods

product :: Int -> Int -> (Int -> Double) -> Double Source #

summate :: Int -> Int -> (Int -> Double) -> Double Source #

Num' Int Source # 
Instance details

Methods

product :: Int -> Int -> (Int -> Int) -> Int Source #

summate :: Int -> Int -> (Int -> Int) -> Int Source #

Num' LogFloat Source # 
Instance details

Methods

product :: Int -> Int -> (Int -> LogFloat) -> LogFloat Source #

summate :: Int -> Int -> (Int -> LogFloat) -> LogFloat Source #

run :: Show a => GenIO -> Measure a -> IO () Source #

iterateM_ :: Monad m => (a -> m a) -> a -> m b Source #

withPrint :: Show a => (a -> IO b) -> a -> IO b Source #

Orphan instances

Read LogFloat Source # 
Instance details

Methods

readsPrec :: Int -> ReadS LogFloat #

readList :: ReadS [LogFloat] #

readPrec :: ReadPrec LogFloat #

readListPrec :: ReadPrec [LogFloat] #

Unbox LogFloat Source # 
Instance details
Parseable LogFloat Source # 
Instance details

Methods

parse :: String -> IO LogFloat Source #

Vector Vector LogFloat Source # 
Instance details

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) LogFloat -> m (Vector LogFloat)

basicUnsafeThaw :: PrimMonad m => Vector LogFloat -> m (Mutable Vector (PrimState m) LogFloat)

basicLength :: Vector LogFloat -> Int

basicUnsafeSlice :: Int -> Int -> Vector LogFloat -> Vector LogFloat

basicUnsafeIndexM :: Monad m => Vector LogFloat -> Int -> m LogFloat

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) LogFloat -> Vector LogFloat -> m ()

elemseq :: Vector LogFloat -> LogFloat -> b -> b

MVector MVector LogFloat Source # 
Instance details

Methods

basicLength :: MVector s LogFloat -> Int

basicUnsafeSlice :: Int -> Int -> MVector s LogFloat -> MVector s LogFloat

basicOverlaps :: MVector s LogFloat -> MVector s LogFloat -> Bool

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) LogFloat)

basicInitialize :: PrimMonad m => MVector (PrimState m) LogFloat -> m ()

basicUnsafeReplicate :: PrimMonad m => Int -> LogFloat -> m (MVector (PrimState m) LogFloat)

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) LogFloat -> Int -> m LogFloat

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) LogFloat -> Int -> LogFloat -> m ()

basicClear :: PrimMonad m => MVector (PrimState m) LogFloat -> m ()

basicSet :: PrimMonad m => MVector (PrimState m) LogFloat -> LogFloat -> m ()

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) LogFloat -> MVector (PrimState m) LogFloat -> m ()

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) LogFloat -> MVector (PrimState m) LogFloat -> m ()

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) LogFloat -> Int -> m (MVector (PrimState m) LogFloat)