generic-random-0.1.0.0: Generic random generators

Safe HaskellNone
LanguageHaskell2010

Data.Random.Generics.Internal

Contents

Synopsis

Helper functions

type Size = Int Source

makeGenerator :: (Data a, Monad m) => PrimRandom m -> [Alias m] -> proxy a -> ((Size, Maybe Size), Int -> Maybe Size -> m a) Source

type AliasR m = Alias (RejectT m) Source

ceiledRejectionSampler :: (Data a, Monad m) => PrimRandom m -> [AliasR m] -> proxy a -> ((Size, Maybe Size), Int -> Maybe Size -> (Size, Size) -> m a) Source

tolerance :: Double -> Size -> (Size, Size) Source

(size * (1 - epsilon), size * (1 + epsilon))

ceilPrimRandom :: Monad m => PrimRandom m -> PrimRandom (RejectT m) Source

Set upper bound

runRejectT :: Monad m => (Size, Size) -> RejectT m a -> m a Source

Set lower bound

asProxyTypeOf :: a -> proxy a -> a Source