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: Zero,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>, 
[src]

[src]

Trait Implementations

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

[src]

Return the next random u32. Read more

[src]

Return the next random u64. Read more

[src]

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

[src]

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

[src]

Fill dest with random data. Read more

[src]

Return a random value of a Rand type. Read more

[src]

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

[src]

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

[src]

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

[src]

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

[src]

Return a random element from values. Read more

[src]

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

[src]

Shuffle a mutable slice in place. Read more

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

[src]

Return the next random u32. Read more

[src]

Return the next random u64. Read more

[src]

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

[src]

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

[src]

Fill dest with random data. Read more

[src]

Return a random value of a Rand type. Read more

[src]

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

[src]

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

[src]

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

[src]

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

[src]

Return a random element from values. Read more

[src]

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

[src]

Shuffle a mutable slice in place. Read more

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

[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
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>,
    PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix>: Rng
[src]

[src]

Reseed an RNG with the given seed. Read more

[src]

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: Clone,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>,
    SpecificSeqStream<Itype>: Stream<Itype>,
    PcgEngine<Itype, Xtype, SpecificSeqStream<Itype>, MulMix, OutMix>: Rng
[src]

[src]

Reseed an RNG with the given seed. Read more

[src]

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
    StreamMix: Stream<u128>,
    MulMix: Multiplier<u128>,
    OutMix: OutputMixin<u128, Xtype>,
    PcgEngine<u128, Xtype, StreamMix, MulMix, OutMix>: Rng
[src]

[src]

Reseed an RNG with the given seed. Read more

[src]

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
    MulMix: Multiplier<u128>,
    OutMix: OutputMixin<u128, Xtype>,
    PcgEngine<u128, Xtype, SpecificSeqStream<u128>, MulMix, OutMix>: Rng
[src]

[src]

Reseed an RNG with the given seed. Read more

[src]

Create a new RNG with the given seed. Read more