uvmhs-0.0.1.0
Safe HaskellNone
LanguageHaskell2010

UVMHS.Lib.Rand

Documentation

class MonadRand (m :: Type -> Type) where Source #

Methods

rng :: State RG a -> m a Source #

Instances

Instances details
MonadRand IO Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

rng :: State RG a -> IO a Source #

MonadRand FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Fuzzy

Methods

rng :: State RG a -> FuzzyM a Source #

newtype RG Source #

Constructors

RG 

Fields

Instances

Instances details
MonadState RG FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Fuzzy

Methods

get :: FuzzyM RG Source #

put :: RG -> FuzzyM () Source #

wrapPrimRandr :: ((a, a) -> StdGen -> (a, StdGen)) -> a -> a -> State RG a Source #

class RandUniform a where Source #

Methods

prandu :: State RG a Source #

Instances

Instances details
RandUniform ℕ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform 𝔹 Source # 
Instance details

Defined in UVMHS.Lib.Rand

class RandRange a where Source #

Methods

prandr :: a -> a -> State RG a Source #

Instances

Instances details
RandRange ℕ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: ℕ8 -> ℕ8 -> State RG ℕ8 Source #

RandRange ℤ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: ℤ8 -> ℤ8 -> State RG ℤ8 Source #

RandRange 𝔻 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: 𝔻 -> 𝔻 -> State RG 𝔻 Source #

prandrRadius :: (RandRange a, Zero a, Minus a) => a -> State RG a Source #

randu :: forall a m. (MonadRand m, RandUniform a) => m a Source #

randr :: forall a m. (MonadRand m, RandRange a) => a -> a -> m a Source #

randrRadius :: forall a m. (MonadRand m, RandRange a, Zero a, Minus a) => a -> m a Source #

wrchoose :: forall t m a. (Monad m, MonadRand m, ToIter (ℕ64 (() -> m a)) t) => t -> m a Source #

rchoose :: (Monad m, MonadRand m, ToIter (() -> m a) t) => t -> m a Source #

untilPass :: Monad m => (a -> 𝔹) -> m a -> m a Source #