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]

Trait Implementations

impl<Itype, StreamMix, MulMix, OutMix> RngCore for PcgEngine<Itype, u32, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + 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

Fill dest with random data. Read more

Fill dest entirely with random data. Read more

impl<Itype, StreamMix, MulMix, OutMix> RngCore for PcgEngine<Itype, u64, StreamMix, MulMix, OutMix> where
    Itype: PcgOps + 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

Fill dest with random data. Read more

Fill dest entirely with random data. Read more

impl<Itype, Xtype, StreamMix, MulMix, OutMix> SeedableRng for PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: Sized + ReadByteOrder + Zero + One,
    StreamMix: Stream<Itype>,
    MulMix: Multiplier<Itype>,
    OutMix: OutputMixin<Itype, Xtype>, 
[src]

Seed type, which is restricted to types mutably-dereferencable as u8 arrays (we recommend [u8; N] for some N). Read more

Create a new PRNG using the given seed. Read more

Create a new PRNG seeded from another Rng. Read more

Auto Trait Implementations

impl<Itype, Xtype, StreamMix, MulMix, OutMix> Send for PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: Send,
    MulMix: Send,
    OutMix: Send,
    StreamMix: Send,
    Xtype: Send

impl<Itype, Xtype, StreamMix, MulMix, OutMix> Sync for PcgEngine<Itype, Xtype, StreamMix, MulMix, OutMix> where
    Itype: Sync,
    MulMix: Sync,
    OutMix: Sync,
    StreamMix: Sync,
    Xtype: Sync