rand* 0.9.0-alpha.0
Pre-release
Pre-release
This is a pre-release. To depend on this version, use rand = "=0.9.0-alpha.0" to prevent automatic updates (which can be expected to include breaking changes).
Generators
- Change
SmallRng::seed_from_u64implementation (#1203) - Replace
SeedableRngimpl forSmallRngwith inherent methods, excludingfn from_seed(#1368)
Sequences
- Simpler and faster implementation of Floyd's F2 (#1277). This
changes some outputs fromrand::seq::index::sampleand
rand::seq::SliceRandom::choose_multiple. - New, faster algorithms for
IteratorRandom::chooseandchoose_stable(#1268) - New, faster algorithms for
SliceRandom::shuffleandpartial_shuffle(#1272) - Re-introduce
Rng::gen_iter(#1305) - Split trait
SliceRandomintoIndexedRandom,IndexedMutRandom,SliceRandom(#1382)
Distributions
{Uniform, UniformSampler}::{new, new_inclusive}return aResult(instead of potentially panicking) (#1229)UniformimplementsTryFrominstead ofFromfor ranges (#1229)Uniformnow uses Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #1287)- Relax
Sizedbound onDistribution<T> for &D(#1278) - Explicit impl of
sample_single_inclusive(+~20% perf) (#1289) - Impl
DistStringforSlice<char>andUniform<char>(#1315) - Let
Standardsupport allNonZero*types (#1332) - Add
trait Weight, allowingWeightedIndexto trap overflow (#1353) - Rename
WeightedErrortoWeightError, revising variants (#1382)
SIMD
Other
- Bump MSRV to 1.60.0 (#1207, #1246, #1269, #1341)
- Improve
thread_rngrelated docs (#1257) - Add
Cargo.lock.msrvfile (#1275) - Docs: enable experimental
--generate-link-to-definitionfeature (#1327) - Use
zerocopyto replace someunsafecode (#1349) - Support
stdfeature withoutgetrandomorrand_chacha(#1354)