Skip to content

Minilib.Monad.Random

Defined in minilib-random@0.5.2

Random Number Generator Monad

Values

namespace Minilib.Monad.Random

random_I64_range

Type: [m : Minilib.Monad.Random::MonadRandom] Std::I64 -> Std::I64 -> m Std::I64

random_I64_range(begin, end) generates a random integer r such that begin <= r && r < end. if begin >= end, it panicks.

random_U16

Type: [m : Minilib.Monad.Random::MonadRandom] m Std::U16

random_U16 generates a random integer of U8.

random_U32

Type: [m : Minilib.Monad.Random::MonadRandom] m Std::U32

random_U32 generates a random integer of U32.

random_U8

Type: [m : Minilib.Monad.Random::MonadRandom] m Std::U8

random_U8 generates a random integer of U8.

random_array

Type: [m : Minilib.Monad.Random::MonadRandom] Std::I64 -> m a -> m (Std::Array a)

random_array(size, random) generates a random array of specified size by performing random repeatedly.

shuffle

Type: [m : Minilib.Monad.Random::MonadRandom] Std::Array a -> m (Std::Array a)

Shuffles an array.

namespace Minilib.Monad.Random::MonadRandomIF

random_U64

Type: [m : Minilib.Monad.Random::MonadRandomIF] m Std::U64

random_U64 generates a random integer of U64.

random_bytes

Type: [m : Minilib.Monad.Random::MonadRandomIF] Std::I64 -> m (Std::Array Std::U8)

random_bytes generates random bytes of specified size.

Types and aliases

Traits and aliases

namespace Minilib.Monad.Random

trait [m : *->*] m : MonadRandomIF

A trait for a monad that generates random numbers every time.

method random_U64

Type: m Std::U64

random_U64 generates a random integer of U64.

method random_bytes

Type: Std::I64 -> m (Std::Array Std::U8)

random_bytes generates random bytes of specified size.

Trait implementations

impl [rg : Minilib.Trait.Rng::Rng, lf1 : Minilib.Trait.Lifter::Lifter, lf2 : Minilib.Trait.Lifter::Lifter, m : Std::Monad] Minilib.Monad.State::StateT rg m : Minilib.Monad.Random::MonadRandomIF

An implementation of MonadRandomIF for the StateT monad.

A state monad StateT rg m can be used as a MonadRandom, if the state rg implements Rng trait, and the target monad m is compatible to RngResult. The result type of Rng is lifted to the target monad m by the lifter.