pub fn random_negative_finite_primitive_floats<T: PrimitiveFloat>(
    seed: Seed
) -> RandomPrimitiveFloatInclusiveRange<T>Notable traits for RandomPrimitiveFloatInclusiveRange<T>impl<T: PrimitiveFloat> Iterator for RandomPrimitiveFloatInclusiveRange<T> type Item = T;
Expand description

Generates finite negative primitive floats.

Every float within the range has an equal probability of being chosen. This does not mean that the distribution approximates a uniform distribution over the reals. For example, a float in $(-1/2, 1/4]$ is as likely to be chosen as a float in $(-2, -1]$, since these subranges contain an equal number of floats.

Negative zero is generated; positive zero is not. NaN is not generated either.

The output length is infinite.

Expected complexity per iteration

Constant time and additional memory.

Examples

use malachite_base::iterators::prefix_to_string;
use malachite_base::num::float::NiceFloat;
use malachite_base::num::random::random_negative_finite_primitive_floats;
use malachite_base::random::EXAMPLE_SEED;

assert_eq!(
    prefix_to_string(
        random_negative_finite_primitive_floats::<f32>(EXAMPLE_SEED).map(NiceFloat),
        10
    ),
    "[-2.3484663e-27, -0.010641626, -5.8060583e-9, -2.8182442e-31, -10462.532, -821.12994, \
    -6.303163e33, -9.50376e-15, -4.9561126e-11, -8.565163e-22, ...]"
);