Struct proptest::num::f64::Any

source ·
pub struct Any(_);
Expand description

Strategies which produce floating-point values from particular classes. See the various Any-typed constants in this module.

Note that this usage is fairly advanced and primarily useful to implementors of algorithms that need to handle wild values in a particular way. For testing things like graphics processing or game physics, simply using ranges (e.g., -1.0..2.0) will often be more practical.

Any can be OR’ed to combine multiple classes. For example, POSITIVE | INFINITE will generate arbitrary positive, non-NaN floats, including positive infinity (but not negative infinity, of course).

If neither POSITIVE nor NEGATIVE has been OR’ed into an Any but a type to be generated requires a sign, POSITIVE is assumed. If no classes are OR’ed into an Any (i.e., only POSITIVE and/or NEGATIVE are given), NORMAL is assumed.

The various float classes are assigned fixed weights for generation which are believed to be reasonable for most applications. Roughly:

  • If POSITIE | NEGATIVE, the sign is evenly distributed between both options.

  • Classes are weighted as follows, in descending order: NORMAL > ZERO > SUBNORMAL > INFINITE > QUIET_NAN = SIGNALING_NAN.

Trait Implementations§

The resulting type after applying the | operator.
Performs the | operation. Read more
Performs the |= operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
The value tree generated by this Strategy.
The type of value used by functions under test generated by this Strategy. Read more
Generate a new value tree from the given runner. Read more
Returns a strategy which produces values transformed by the function fun. Read more
Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more
Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more
Maps values produced by this strategy into new strategies and picks values from those strategies. Read more
Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more
Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more
Returns a strategy which only produces values accepted by fun. Read more
Returns a strategy which only produces transformed values where fun returns Some(value) and rejects those where fun returns None. Read more
Returns a strategy which picks uniformly from self and other. Read more
Generate a recursive structure with self items as leaves. Read more
Erases the type of this Strategy so it can be passed around as a simple trait object. Read more
Erases the type of this Strategy so it can be passed around as a simple trait object. Read more
Wraps this strategy to prevent values from being subject to shrinking. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.