add random shuffle util

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-10-14 05:16:18 +00:00 committed by strawberry
parent 1a09eb0f02
commit d82ea331cf
2 changed files with 7 additions and 2 deletions

View file

@ -30,7 +30,7 @@ pub use self::{
json::{deserialize_from_str, to_canonical_object},
math::clamp,
mutex_map::{Guard as MutexMapGuard, MutexMap},
rand::string as random_string,
rand::{shuffle, string as random_string},
stream::{IterStream, ReadyExt, Tools as StreamTools, TryReadyExt},
string::{str_from_bytes, string_from_bytes},
sys::available_parallelism,

View file

@ -4,7 +4,12 @@ use std::{
};
use arrayvec::ArrayString;
use rand::{thread_rng, Rng};
use rand::{seq::SliceRandom, thread_rng, Rng};
pub fn shuffle<T>(vec: &mut [T]) {
let mut rng = thread_rng();
vec.shuffle(&mut rng);
}
pub fn string(length: usize) -> String {
thread_rng()