Struct pcg_rand::PcgEngine [] [src]

pub struct PcgEngine<Itype, Xtype, StreamMix: Stream<Itype>, MulMix: Multiplier<Itype>, OutMix: OutputMixin<Itype, Xtype>> { /* fields omitted */ }

A generic PCG structure.

This structure allows the building of many types of PCG generators by using various Mixins for both the stream, multiplier, and permutation function.

Methods

impl<Itype, Xtype, StreamMix, MulMix, OutMix> PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + BitSize + AsSmaller<Xtype> + Clone,
    Xtype: PcgOps + BitSize,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>, 
[src]

Trait Implementations

impl<Itype, StreamMix, MulMix, OutMix> Rng for PcgEngine<Itype, u32, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + BitSize + AsSmaller<u32> + Clone,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, u32>, 
[src]

Return the next random u32. Read more

Return the next random u64. Read more

Return the next random f32 selected from the half-open interval [0, 1). Read more

Return the next random f64 selected from the half-open interval [0, 1). Read more

Fill dest with random data. Read more

Return a random value of a Rand type. Read more

Return an iterator that will yield an infinite number of randomly generated items. Read more

Generate a random value in the range [low, high). Read more

Return a bool with a 1 in n chance of true Read more

Return an iterator of random characters from the set A-Z,a-z,0-9. Read more

Return a random element from values. Read more

Return a mutable pointer to a random element from values. Read more

Shuffle a mutable slice in place. Read more

impl<Itype, StreamMix, MulMix, OutMix> Rng for PcgEngine<Itype, u64, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + BitSize + AsSmaller<u64> + Clone,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, u64>, 
[src]

Return the next random u32. Read more

Return the next random u64. Read more

Return the next random f32 selected from the half-open interval [0, 1). Read more

Return the next random f64 selected from the half-open interval [0, 1). Read more

Fill dest with random data. Read more

Return a random value of a Rand type. Read more

Return an iterator that will yield an infinite number of randomly generated items. Read more

Generate a random value in the range [low, high). Read more

Return a bool with a 1 in n chance of true Read more

Return an iterator of random characters from the set A-Z,a-z,0-9. Read more

Return a random element from values. Read more

Return a mutable pointer to a random element from values. Read more

Shuffle a mutable slice in place. Read more

impl<Itype, Xtype, StreamMix, MulMix, OutMix> Rand for PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + BitSize + AsSmaller<Xtype> + Clone + Rand,
    Xtype: PcgOps + BitSize,
    StreamMix: Stream<Itype> + Rand,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>, 
[src]

Generates a random instance of this type using the specified source of randomness. Read more

impl<Itype, Xtype, StreamMix, MulMix, OutMix> SeedableRng<Itype> for PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + BitSize,
    Xtype: PcgOps + BitSize,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>,
    PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix>: Rng
[src]

Reseed an RNG with the given seed. Read more

Create a new RNG with the given seed. Read more

impl<Itype, Xtype, MulMix, OutMix> SeedableRng<[Itype; 2]> for PcgEngine<Itype, Xtype, SpecificSeqStream<Itype>, MulMix, OutMix> where
    Itype: PcgOps + BitSize + Clone,
    Xtype: PcgOps + BitSize,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>,
    SpecificSeqStream<Itype>: Stream<Itype>,
    PcgEngine<Itype, Xtype, SpecificSeqStream<Itype>, MulMix, OutMix>: Rng
[src]

Reseed an RNG with the given seed. Read more

Create a new RNG with the given seed. Read more

impl<Xtype, StreamMix, MulMix, OutMix> SeedableRng<[u64; 2]> for PcgEngine<u128, Xtype, StreamMix, MulMix, OutMix> where
    Xtype: PcgOps + BitSize,
    StreamMix: Stream<u128>,
    MulMix: Multiplier<u128>,
    OutMix: OutputMixin<u128, Xtype>,
    PcgEngine<u128, Xtype, StreamMix, MulMix, OutMix>: Rng
[src]

Reseed an RNG with the given seed. Read more

Create a new RNG with the given seed. Read more

impl<Xtype, MulMix, OutMix> SeedableRng<[u64; 4]> for PcgEngine<u128, Xtype, SpecificSeqStream<u128>, MulMix, OutMix> where
    Xtype: PcgOps + BitSize,
    MulMix: Multiplier<u128>,
    OutMix: OutputMixin<u128, Xtype>,
    PcgEngine<u128, Xtype, SpecificSeqStream<u128>, MulMix, OutMix>: Rng
[src]

Reseed an RNG with the given seed. Read more

Create a new RNG with the given seed. Read more