hakaru-0.7.0: A probabilistic programming language
Safe HaskellNone
LanguageHaskell2010

Language.Hakaru.Runtime.LogFloatPrelude

Documentation

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

Instances

Instances details
type MinBoxVec v Vector Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MinBoxVec Vector Vector Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MinBoxVec Vector v Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

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

Instances

Instances details
type MayBoxVec Bool Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec Double Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec Int Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec () Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec () = Vector
type MayBoxVec LogFloat Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec (Vector a) Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec (Vector a) Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec (a, b) Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

type MayBoxVec (a, b) = MinBoxVec (MayBoxVec a) (MayBoxVec b)

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

forall cell. 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 #

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

class Num a => Num' a where Source #

Minimal complete definition

Nothing

Methods

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

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

Instances

Instances details
Num' Double Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

Methods

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

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

Num' Int Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

Methods

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

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

Num' LogFloat Source # 
Instance details

Defined in Language.Hakaru.Runtime.LogFloatPrelude

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

Unbox LogFloat Source # 
Instance details

Parseable LogFloat Source # 
Instance details

Vector Vector LogFloat Source # 
Instance details

MVector MVector LogFloat Source # 
Instance details