[−][src]Enum proptest::test_runner::RngAlgorithm
Identifies a particular RNG algorithm supported by proptest.
Proptest supports dynamic configuration of algorithms to allow it to
continue operating with persisted regression files and to allow the
configuration to be expressed in the Config
struct.
Variants
XorShift
The XorShift algorithm. This was the default up through and including Proptest 0.9.0.
It is faster than ChaCha but produces lower quality randomness and has some pathological cases where it may fail to produce outputs that are random even to casual observation.
The seed must be exactly 16 bytes.
ChaCha
The ChaCha algorithm. This became the default with Proptest 0.9.1.
The seed must be exactly 32 bytes.
PassThrough
This is not an actual RNG algorithm, but instead returns data directly from its "seed".
This is useful when Proptest is being driven from some other entropy source, such as a fuzzer.
It is the user's responsibility to ensure that the seed is "big enough". Proptest makes no guarantees about how much data is consumed from the seed for any particular strategy. If the seed is exhausted, the RNG panics.
Note that in cases where a new RNG is to be derived from an existing
one, the data is split evenly between them, regardless of how much
entropy is actually needed. This means that combinators like
prop_perturb
and prop_flat_map
can require extremely large inputs.
Trait Implementations
impl Copy for RngAlgorithm
[src]
impl Display for RngAlgorithm
[src]
impl Debug for RngAlgorithm
[src]
impl PartialEq<RngAlgorithm> for RngAlgorithm
[src]
fn eq(&self, other: &RngAlgorithm) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Eq for RngAlgorithm
[src]
impl FromStr for RngAlgorithm
[src]
type Err = ()
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, ()>
[src]
impl Clone for RngAlgorithm
[src]
fn clone(&self) -> RngAlgorithm
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Default for RngAlgorithm
[src]
Auto Trait Implementations
impl Send for RngAlgorithm
impl Sync for RngAlgorithm
Blanket Implementations
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> From for T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,